/[estron]/trunk/wiki/trunk/index.mdwn
ViewVC logotype

Contents of /trunk/wiki/trunk/index.mdwn

Parent Directory Parent Directory | Revision Log Revision Log


Revision 868 - (show annotations) (download)
Mon Jun 28 20:23:50 2010 UTC (2 years, 11 months ago) by codehelp
File size: 9009 byte(s)
web commit by goldleaf
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.

  ViewVC Help
Powered by ViewVC 1.1.5