|
OpenIsis
|
NOTE: this document describes early OpenIsis proposals.
For updated information please refer to
Malete
By now, OpenIsis is mainly used for web publishing of Isis databases.
Web developers use the Java, Perl or PHP binding for this.
There also is a command line version which serves as a demonstration
and test of the various features and can be used as a utility for
data import/export and similar tasks.
A graphical, standalone user interface similar to UNESCO's WinIsis
will be developed during 2003, after the Tcl/Tk binding is finished.
See
current status
| developing OpenIsis |
In general, there are no plans to reimplement every piece of code ever
written for isis. To be of practical value, OpenIsis has to maintain
compatibility in the format of the database files anyway. So, one may
use winisis or whatever existing import scripts to create and maintain
the database, yet deploy OpenIsis' perl interface to run powerful
reports and the Java Native Interface to allow queries from a Servlet
based web application.
OpenIsis will focus on providing tools rather than applications. For example,
there will be no attempt to mirror the full functionality of winisis.
To achieve this, OpenIsis provides access from the most important
programming languages: Java and PHP for the web, Perl for the scripts
and Tcl/Tk for platform independent GUIs (partly DONE).
All others can, of course, link the lib.
| Roadmap for the development of OpenIsis -- as of September 2002 |
After more than a year of OpenIsis development,
experimenting with various options and environments
and some feedback, we learned something about what
is important to the community and what is not.
| findings and goals |
- A fairly portable C library that can be plugged into Java, Perl, PHP
or Tcl proved to be valuable and estimated by several developers.
There was not much demand for a pure Java version.
- There is high demand for a GUI version similar to WinISIS
(cross-plattform, of course) with a safe multi-user capability.
- This in turn requires a simple but fast and robust server.
Multithreading can greatly improve the throughput.
- Users are used to incompatible file formats, formatting and so on.
There is little of a standard to follow.
So building a next generation system clearly is more
important than sticking to the (which?) legacy too much.
- The power buried in the similarity between ISIS records
and other structures like, for example, E-Mails is not leveraged.
- The existing versions of the formatting language are the result
of a process of growth, adding feature after feature.
The logic is mixed with the presentation (e.g. HTML literals).
| conclusions |
- The multiformat support will be dropped in favour of an efficient
support of the "DOS/WinISIS" (packed little endian) structures.
- The database kernel has to support basic thread-safety
for use in Java and other server environments.
- Tcl will be the scripting language of choice: Tcl/Tk for portable GUIs
and a limited set of Tcl commands for server side scripting.
| flavours |
- The core library will not contain any particular external technology,
so it is as lightweight as possible and can be linked into Java,
Perl, PHP, Tcl and the like.
- There are binaries in plain, with Tcl and with Tcl/Tk.
Any of these can act standalone, as client, as server, or both.
volunteers are welcome !
|
|
ToDo
|
For the current status please refer to
Malete
underway ...
- finish Tcl binding
- create Tk-based GUI
- utilities for
nested records
- XML I/O-conversion utilities
| next steps |
(not necessarily in that order)
- update language bindings Perl, Java ...
- rework formatting based on structured representation of format as a record
- rework query processing based on structured representation of query
- implement new metadata
- implement views
- implement unicode collation
|
|