Discussion:
"schevo-async" branch and pyqt4-based navigator update
Matthew Scott
2006-09-18 21:47:23 UTC
Permalink
Hello all,

Just a quick update on some recent development that may be of interest
to Schevo users and potential Schevo users.


Recently, I started a new branch at http://schevo.org/svn/branches/async
that adds one package, and updates another:


* SchevoAsync was added, which exposes a Schevo database to client code
using a two-tier, message-passing mechanism. The "async" refers to the
fact that the client API was designed to fit into asynchronous toolkits,
such as that of a graphical user interface, or a library such as Twisted.

See http://schevo.org/trac/browser/branches/async/Async/doc/design.txt
for more information about the "why" of SchevoAsync, and what specific
implementation it provides.


* SchevoQt no longer has a 'schevoqt3' package. Rather, it is being
replaced with 'schevoqt4', which is being written from scratch:

- It exploits the "interviews" model/view framework introduced in Qt4
to reduce code complexity, and make it easier to use forms designed in
Qt Designer with Schevo.

- It uses the SchevoAsync API exclusively when accessing a Schevo
database itself, even if the database is stored locally and the server
is "in-process". This means that the same code base will be usable in
both the single-user, in-process use case as well as a multi-user,
networked scenario (see below)

- "Schevo Workshop" replaces "Schevo Navigator". It is beginning its
life as a database navigator, but the intent of the name change is to
signal that it should include more functionality for database developers
(the front-line end users of Schevo) to do things such as create new
databases and make and test changes to database schemata.


The current plan is to extend the above with the following:

* SchevoServer, to expose the server side of SchevoAsync as a WSGI
application, suitable for integration with authentication middleware and
a HTTP/HTTPS server.

* 'schevoqt4.client' module in SchevoQt, to provide a client-side
connector for SchevoServer that provides the SchevoAsync client API.


For those on the bleeding edge who wish to try this out, keep this in
mind though:

* Recent changes in Schevo trunk are incompatible with the 'schevoqt3'
package and navigator. Manage your checkouts and Python environment
carefully if you rely on schevoqt3 but want to play with schevoqt4.

* This work is receiving nearly full-time development, so things will
change a lot, but things will also stabilize quickly. One goal is to
have an .exe on Windows, .app on Linux, and a .deb for Ubuntu Edgy that
will run the Schevo Workshop. If you don't want to fuss with playing
with the branch, wait for those releases and those will be much easier
to work with :)
--
Matthew Scott
***@springfieldtech.com
Loading...