Hi,

Thanks for this email.
It is really nice to read that all these frameworks are used in yet another
successful commercial app such as Quuve.

Best,

#Luc

2015-04-15 23:30 GMT+02:00 Cameron Sanders via Pharo-users <
pharo-users@lists.pharo.org>:

>
>
> ---------- Message transféré ----------
> From: Cameron Sanders <camsand...@aol.com>
> To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
> Cc:
> Date: Wed, 15 Apr 2015 17:30:24 -0400
> Subject: Fwd: Debris' Quuve - Technologies used
> Several people inquired as to how Quuve was built. Mariano wrote up a nice
> description of the various tools that were used to build Quuve -- see
> below. Note also that DebrisPublishing.com website is now up; we are still
> working on videos, but the site is very lean at present.
>
> -Cam
>
> Quuve Technologies Used
>
> Quuve has been and still is developed with Pharo. We try to use the most
> up to date stable version of Pharo. Quuve is deployed in GemStone.
>
> Package dependencies are managed via Metacello. Not only do we have many
> dependencies but also multiple Smalltalk environments: Pharo and GemStone.
> We also use Metacello to correctly load the needed packages and versions
> for each of the platforms.
>
> We use Seaside as our web framework and Twitter Bootstrap for Seaside for
> the layout and design of the app. While some parts are still using the
> full-request approach, most of the app is done with AJAX and only
> refreshing the needed part of the screen.
>
> We use JQuery a lot and some external JS libraries such a DataTables (for
> our table/reports), floatThead, HighCharts (for making charts), TinyMCE (to
> edit notes and a few other things), etc.
>
> We have a full-featured CRUD system based on Magritte. Actually, we have
> extended Magritte so much that all our descriptions and components are
> actually subclasses of the original Magritte classes. We have our own
> descriptions, components, report column classes, mementos, table layouts,
> etc. All our framework is Twitter Bootstrap integrated, fully AJAX and with
> lots of rich features. We can make a full CRUD report/form out of Magritte
> descriptions in no time.
>
> For persistency we have a library/layer which gives a unified way of
> saving and querying objects using a Glorp-like interface; it differs in
> that the where clauses are straight Smalltalk blocks. So far, when we work
> on Pharo we use Fuel as the "database", while for production we use
> GemStone. We have developed some compatibility packages so that same code
> would work in both Smalltalks in the way we expect. Quuve briefly used
> Oracle’s relational DB for persistence of its securities DB, connecting to
> it via the Glorp toolkit; because many mature financial DB’s are delivered
> in relational form, we may need to do so more extensively in the future.
> Although the need for this may subside as more data becomes available over
> REST-server interfaces.
>
> We use NeoCSV for parsing CSV, XMLParser, Zinc-REST and STON for providing
> REST web services, and SIXX for moving data between Pharo and GemStone.
>
> As to the web server, in Pharo we use Zinc, and in GemStone we use nginx +
> FastCGI. Quuve clients could be for example, an individual or a large
> advisory firm. In each case, Quuve is deployed as a "site/instance" for
> each customer. Each site is a fully isolated and secured instance of Quuve.
>
> Quuve is hosted in a cloud virtual hosting which allows us to scale as
> much as we need and we can have as many nodes as required. The operating
> system is CentOS Linux. We correctly perform backups, cleanings and
> maintenance of our sites. We have scripts to automatically create new sites
> very easily.
>
>
>

Reply via email to