root/tags/dabo-0.2/__init__.py

Revision 490, 3.5 kB (checked in by paul, 4 years ago)

Added a version.py file to dabo to track the version, and made it import
into the dabo namespace. Changed the dApp initialization to use that value
instead of the hardcoded 0.1 which has been in there since the beginning.

Added some summary changelog entries for 0.2 which we'll be releasing later
today.

  • Property svn:eol-style set to native
Line 
1 """ Dabo: A Framework for developing data-driven business applications
2
3 Dabo is for developing multi-platform database business applications -
4 you know, applications that need to connect to a database server (MySQL,
5 Oracle, MS-SQL, whatever), get recordsets of data based on criteria
6 set by the user, provide easy ways to edit and commit changes to the
7 data, and to report on the data.
8
9 For basic, easy use that hopefully satisfies 80% of your needs, you
10 simply create/edit data definition files that Dabo uses to dynamically
11 create things like menus, edit forms, data browsing grids, etc.
12
13 So, the basic idea is that you have a functional, working, albeit basic
14 application up and running very quickly, and you can then spend time
15 getting all the fancy bells and whistles implemented. Keep things as
16 simple as possible though, while still fulfilling your customer's
17 specifications. Simplicity is the better part of elegance.
18
19 Dabo is fun to say, which is enough justification for its name, but
20 perhaps it could stand for:
21     Database Application Business Objects
22     Database Application Builder O (Just think, it could have been ActiveO... <g>)
23     Object oriented Business Application Development (but OBAD sounds so bad)
24
25 Dabo has three main submodules, representing the three tiers common
26 in modern database application design:
27
28     dabo.db  : database
29     dabo.biz : business objects
30     dabo.ui  : user interface
31
32 dabo.db and dabo.biz are completely ui-free, while dabo.ui (currently)
33 requires wxPython. We have allowed for possible future support for other
34 ui libraries, such as PyQt, tk, and curses.
35
36 The Dabo framework will have to be distributed to your client's machine(s),
37 along with your project-specific data definitions and (if applicable), your
38 subclasses of the Dabo classes and additional Python scripts, if any. There
39 are ways to do runtime deployment via installers that take the complexity
40 out of this, but that is outside the scope of Dabo itself, and you'll use
41 a different method for each target platform.
42
43 To run Dabo, and apps based on Dabo, you need:
44     + Python 2.3 or higher
45
46     + wxPython 2.5 or higher, which has a dependency on:
47         + wxWindows 2.5 or higher
48         (only necessary for apps with a ui: because of the modular
49         nature of Dabo's design, it is possible to use just the
50         db layer, or the db layer in conjunction with the biz
51         layer, with no ui at all.)
52
53     + Windows 98SE or higher
54     + Macintosh OSX 10.2 or higher
55     + Linux 2.4 with X11 running
56
57     + Access to some sort of database server, along with the
58     appropriate Python driver(s) installed. For example, for
59     MySQL you'll need to have the MySQL client libraries
60     installed, as well as the MySQLDb Python module. (Dabo
61     does not use ODBC: it connects directly using the Python
62     DB API coupled with the individual database drivers. This
63     is, at the same time, less flexible, tougher to get started
64     with, but more capable, more multi-platform, and better
65     performing, than ODBC is.)
66
67 How you get started is pretty much up to you. Look at the demo.
68 Run a wizard. Hand-edit the data definition files.
69
70 ToDo: pointers to get started.
71
72 """
73
74 # Instantiate the logger object, which will send messages to user-overridable
75 # locations. Do this before any other imports.
76 import sys
77 import dabo.common
78 infoLog = dabo.common.Log()
79 infoLog.Caption = "Dabo Info Log"
80 infoLog.LogObject = sys.stdout
81 errorLog = dabo.common.Log()
82 errorLog.Caption = "Dabo Error Log"
83 errorLog.LogObject = sys.stderr
84
85 from dApp import dApp
86 from __version__ import version
87 import dEvents
88
89 # dApp will change the following values upon its __init__:
90 dAppRef = None
Note: See TracBrowser for help on using the browser.