Further development of ProLinga-Repository

All ProLinga Projects are under constant active development. This includes issues related to fixing bugs, increasing performance etc, as well as expanding the various projects with new features. This chapter provides information of all these types of tasks as well as details of how to join the development team.

To-do List

This section contains a list of work that needs to be done on the product. A more detailed and up to date list is available on the ProLinga Bugzilla Server.

  • Implement XML Schemas for validation. Libxml2 is finishing up XML schemas. If it is still too far away, start with DTD.

  • ProLinga-Repository is written in C++. Libxml2 however is C only. There is a C++ wrapper for this XML parser library. Details at http://libxmlplusplus.sourceforge.net/.

  • Libxml2 is used in ProLinga-Repository as the Xml Parser. Libxml2 is a high level parser used in the Gnome projects. DbXml (xml database) however is using Xerces. There may be performance improvements possible if Libxml2 is replaced by Xerces. XML documents returned from the database for instance can be passed on directly, rather then being parsed again by Libxml2.

  • Some strings/paths are hardcoded in the product. This all should be reviewed and be removed or made all configurable using a config file.

  • Utilities. prolingarepcreate at the moment can only be used to initialize the Repository. We should have options available as creating application dump, reading application dump etc.

  • Code review and cleanup.

  • Logging. A simple logging mechanism has been implemented. However, it appears that DbXml has a logging system of its own. This should be investigated and implemented (if useful).

  • Self-tests need to be developed for quality control.

  • Porting to other platforms. (MS-Windows/Solaris?), so we can make a distribution available on a specific port if we need to.

  • Locking. At the moment, records are not being locked when updated. This mechanism is available, as well as technologies as Transactions and rollback. Need to be looked into.

  • As enhancements, we should look into making ProLinga-Repository a more useful product by itself. This means not the hardcoded indexes Application, Type and Name as we have now. It is all we need for the ProLinga Development tools, but there maybe more benefits in this product by itself. At the moment it is "just" an Application Repository.