YEdit IconDocument collaboration software > Design > Web-based access

The engine that has been created as part of this research was primarily set up to work over the Web, but it was not restricted to serving HTML pages.  It allowed for both the user access and the storage methods to be specified in the initialisation file, along with the name of the class that implemented the functionality to either access the storage system, or display the results.  Due to the design, this engine was not limited to serving web pages over the Web; it could serve any type of page (be it text, graphics, or other), from any storage system that an interface was created for.  In the last version, the engine assumed that pages were HTML text, but that was only a design decision to ease the testing.  To allow any type of page to be stored (graphics, or other), there were a small number of lines in the source code that needed to be replaced with code that determines the content type from the file, rather than assuming that it is HTML.

Web-based access was the main method of accessing the engine, allowing pages to be created, edited, and deleted (that is, replaced with a blank page; the old versions were still present).  An author could create pages with any content, although in the future code that is inserted may be screened for malicious content.  The design of the engine was such that pages should be no different from any other general web pages, that is, they should look and act in the same way as any other normal web page.  Because of this, web sites that implement this engine should look no different from any other web site that does not implement this engine, at least as far as people who are just browsing.  This has important implications in terms of ease of use (there should be no learning curve needed to just browse the pages), and ease of access (anyone or anything, such as web spiders, should have easy non-impeded access to all pages that are available to the general public).

As well as being accessible via any access method (once an interface is created), the engine can also access any type of file storage system.  At present the only one supported was a straight file system, but the support was present to allow access to any file storage system, with the creation of some interface code to the system.  Probably the next file storage system interface to be created would have been one to access a database.  This would have allowed pages to be stored in a database, rather than in the raw file system as was done.  Another useful storage system interface would be one to access a CVS system, which automatically takes care of versioning information, rather than the current system where the servlet records all the versioning information.

Previous: 4.03 Web collaboration
Next: 4.05 Design of the engine