| 1 |
<img id="estronlogo" src="estron2-64.png">
|
| 2 |
|
| 3 |
## About Estron
|
| 4 |
|
| 5 |
Estron (formerly known as DWI) is an experimental platform for exploring ways
|
| 6 |
of making application development simpler.
|
| 7 |
|
| 8 |
It is still hard to write large, complex, multi-user, data-driven (SQL-backed)
|
| 9 |
applications. It doesn't matter if your development platform is the web and
|
| 10 |
Enterprise Java Beans, C# and .net or Mono, or whether its the Gnome/GTK or KDE
|
| 11 |
widget set and the Linux desktop; its still just plain hard. DWI is an effort
|
| 12 |
to change this situation. Estron currently offers a simple way of developing
|
| 13 |
data-driven (that is, SQL-backed) Gnome applications (designed with the Glade
|
| 14 |
GUI designer). It does this by avoiding "programming" (or at least,
|
| 15 |
"traditional programming" in C. C#, perl, python or any other "traditional"
|
| 16 |
language), substituting instead a configuration-file like format that defines
|
| 17 |
how various GUI elements should be hooked up to various(such as GLib
|
| 18 |
GObjects) or SQL fields and tables. The current primary effort with DWI is to
|
| 19 |
provide a number of well-documented, easy-to-understand, working examples that
|
| 20 |
show how to use Estron. These examples [componenti elettronici](http://www.accessori-elettronica.it) currently include a stand-alone
|
| 21 |
bug-tracker-like application, examples of integrating with existing GTK
|
| 22 |
[trading videos](http://www.video-trading.com), and an example of hooking up a Glade-designed interface to a GLib
|
| 23 |
GObject with almost no C for at all (assuming you have a GLib GObject
|
| 24 |
already handy :-). WhyEstron explains the motivation for estron at length; it
|
| 25 |
includes comparisons to other similar technologies available today.
|
| 26 |
|
| 27 |
## The estron name
|
| 28 |
|
| 29 |
*estron* is a Welsh word meaning <i>foreign</i> or <i>alien</i> and is used
|
| 30 |
here to refer to the management of foreign or alien data formats to provide a
|
| 31 |
simple query interface and import/export mechanism.
|
| 32 |
|
| 33 |
## Estron in its Current Form
|
| 34 |
|
| 35 |
Estron is a fairly simple and similar to that for quickly creating data-driven
|
| 36 |
applications, that is, graphical applications that manipulate and show info
|
| 37 |
from a database. This environment differs from others in that it is focused on
|
| 38 |
native GTK/Gnome support through the Glade GUI designer, and thus allows you to
|
| 39 |
build user interfaces as elegant as you can make them in Glade.
|
| 40 |
|
| 41 |
At this point, this system has enough features to be adequate for creating
|
| 42 |
form-editing and reporting applications. Multiple SQL database vendors are
|
| 43 |
supported through ODBC (http://www.iodbc.org) or libdbi
|
| 44 |
(http://libdbi.sourceforge.net) drivers. There is a simple db-driver
|
| 45 |
infrastructure so its easy to support for additional SQL API's. The system
|
| 46 |
supports all of the basic Gtk widgets, and an additional half-dozen Gnome I/O
|
| 47 |
widgets, such as GnomeDateEntry.
|
| 48 |
|
| 49 |
Estron is powered by an 'engine' (libestron0) that has some fairly generic
|
| 50 |
procedures for mapping 'fields', such as SQL table columns or widget,
|
| 51 |
between each other, and also between other things, such as objects, hash tables
|
| 52 |
and etc. In a certain sense, the engine can be thought of as an
|
| 53 |
Object-to-Relational Mapping (ORM), mapping SQL to several object,
|
| 54 |
including Glib GObjects and QOF. This engine has been designed so that it
|
| 55 |
becomes easy to add support for all kinds of new object systems: i.e. for the
|
| 56 |
engine to be a generic re-mapper between not just SQL and GTK but between many
|
| 57 |
different types of object systems and data sources/sinks.
|
| 58 |
|
| 59 |
Built on top of this engine is the estron application that parses an XML-based
|
| 60 |
file, the "estron file", that describes the connections between glade widgets
|
| 61 |
(or objects in general) and database tables. Currently, the only way to create
|
| 62 |
estron files is by hand. Unfortunately, this can be a fairly long and laborious
|
| 63 |
process itself, especially when creating something a bit more sophisticated. In
|
| 64 |
the future, we hope to have an extension to Glade, or possibly an extension to
|
| 65 |
a database-browsing tool that will allow you to graphically make such
|
| 66 |
connections. (Work has begun on such a tool, written in estron itself).
|
| 67 |
QuickList is likely to become a user interface for creating estron files once it
|
| 68 |
migrates to alioth from Sourceforge.
|
| 69 |
|
| 70 |
The grim reality is that estron won't ever become popular without a graphical
|
| 71 |
designer. Although fairly complex apps can be readily created using estron, it
|
| 72 |
does have a non-trivial learning curve. When we say "can be created quickly",
|
| 73 |
we mean "days" or "weeks", as opposed to "months" for traditional database
|
| 74 |
application development cycles. Graphical RAD tools have a way of being
|
| 75 |
brainlessly pleasant to use, and give the impression of an even faster
|
| 76 |
development cycle, even though the learning curve is identical.
|
| 77 |
|
| 78 |
Note that the design of the XML format is sufficiently generic that it is not
|
| 79 |
directly tied to Glade. It should be straightforward to adopt other ORM markups
|
| 80 |
to inter-operate with the DWI engine. It is also envisioned that other GUI
|
| 81 |
object systems, such as PHP, could be used with DWI, so as to create
|
| 82 |
data-driven web pages. That is, Glade is currently the only GUI driver, but
|
| 83 |
other drivers for other GUI's should be possible.
|
| 84 |
|
| 85 |
## Documentation
|
| 86 |
|
| 87 |
An Estron GNOME Manual is in development to cover the creation of estron files.
|
| 88 |
|
| 89 |
The developer documentation for libestron - for developers of the estron
|
| 90 |
interpreter or applications linking against libestron directly. (Most estron users will not need
|
| 91 |
this section. The developer reference generated directly from the estron source code using
|
| 92 |
doxygen.
|
| 93 |
|
| 94 |
## Screenshots
|
| 95 |
|
| 96 |
These screenshots show a very basic note-taking bug-tracking-like
|
| 97 |
application. The screenshots are not of DWI itself, but of a simple created with it. Actually, what is shown was created by
|
| 98 |
Glade; you'll have to take my word that there's a database behind this.
|
| 99 |
Note that if you have good glade skills, you can create prettier
|
| 100 |
interfaces than this.
|
| 101 |
|
| 102 |
<img src="finder.png">
|
| 103 |
<img src="edit-rec.png">
|
| 104 |
<img src="results.png">
|
| 105 |
<img src="newentry.png">
|
| 106 |
|
| 107 |
## Tutorial
|
| 108 |
|
| 109 |
To create an estron application, you need to know SQL, and you need to be able
|
| 110 |
to write XML files. You do not need to program in C or any other language. The
|
| 111 |
estron interpreter will run the entire application based on the estron file.
|
| 112 |
The testbasic.estron file describes the basic note-taking application whose
|
| 113 |
screenshots are shown above. This example file works as a tutorial and it contains
|
| 114 |
almost complete documentation of the file format systems.
|
| 115 |
|
| 116 |
|
| 117 |
A graphical editor, to automate the creation of these XML files, is being
|
| 118 |
developed; its currently in the pre-pre-pre-alpha stage and will fill the gap
|
| 119 |
in the quicklist functionality - in effect, the reports on quicklist data are
|
| 120 |
expected to be estron .
|
| 121 |
|
| 122 |
## Support
|
| 123 |
|
| 124 |
Estron is fairly small and is able to use QOF so estron uses the QOF mailing
|
| 125 |
list. Support should be obtained by subscribing to the QOF-devel mailing list:
|
| 126 |
http://lists.alioth.debian.org/mailman/listinfo/qof-devel.
|
| 127 |
|
| 128 |
Archives are available at: http://lists.alioth.debian.org/pipermail/qof-devel/
|
| 129 |
|
| 130 |
Alternatively, use the ofw.Estron bug
|
| 131 |
trackers provided by alioth.
|
| 132 |
|
| 133 |
## Source
|
| 134 |
|
| 135 |
estron source is available via Debian SVN.
|
| 136 |
|
| 137 |
svn co svn+ssh://username@svn.debian.org/svn/estron/ estron
|
| 138 |
|
| 139 |
svn co svn://svn.debian.org/svn/estron/ estron
|
| 140 |
|
| 141 |
More info about [Orthodox icons](http://www.oramaworld.com/orthodox_icons.html)
|
| 142 |
|
| 143 |
To just check out the debian source:
|
| 144 |
|
| 145 |
svn co svn://svn.debian.org/svn/estron/trunk/debian estron
|
| 146 |
|
| 147 |
----
|
| 148 |
|
| 149 |
This wiki is powered by ikiwiki. Our hosting and technical support has been kindly provided by [London Removals Company](http://www.thelondonremovals.com)
|
| 150 |
----
|
| 151 |
Eric A. Meyer has been working with the Web since late 1993. He is currently employed as a Standards Evangelist with Netscape Communications while living in Cleveland, Ohio, which is a much nicer city than you've been led to believe. A graduate of and former Webmaster for Case Western Reserve University, Eric <a href="http://www.iphonelife.co.uk">iphone blog</a> coordinated the authoring and creation of the W3C's CSS Test Suite and has recently been pushing the limits of CSS-based design as hard as he can on his site css/edge and acting as List Chaperone of the highly active css-discuss mailing list. Author of Eric Meyer on CSS (New Riders), Cascading <a href="http://www.qualityjubail.com">Saudi Arabia</a> Style Sheets: The Definitive Guide (O'Reilly & Associates), and CSS2.0 Programmer's Reference (Osborne/McGraw-Hill) and the fairly well-known CSS <a href="http://www.fooddietandhealth.com">healthy diet</a> Browser Compatibility Charts, Eric speaks at a variety of conferences on the subject of standards, CSS use, and Web design. He <a href="http://www.aclickahead.co.uk">SEO Company</a> is also the host of "Your Father's Oldsmobile," a weekly Big Band-era radio show heard on WRUW 91.1-FM <a href="http://www.phoenixcorporategifts.com">Promotional Products</a> in Cleveland. When not otherwise busy, Eric is usually bothering his wife <a href="http://www.propa.net">Corporate Gifts</a> Kat in some fashion.
|