From: Kal A. <ka...@te...> - 2002-02-11 20:54:25
|
Hi, Now that 0.6.0 has been released, I am starting work on collecting the features list for 0.7.0. Below is a list of some of the features I have in mind. I would like to hear from anyone that has suggestions for additional features. I would like to make the release cycle for 0.7.0 much shorter than we had for 0.6.0, but that does mean that , without a lot of help, not all of these features will make it in to the release. What I am proposing to do is to collect together a list of the features proposed and create a survey on SourceForge which we can all vote in and then try and partition the voted on list into 0.7.0 and post-0.7.0 features. Here are the features I have so far: Locator resolution interfaces [REQUIRED] The current Locator interface provides no way to retrieve the data at the end of the locator. This is *required* in order to be able to properly support the mergeMap feature (see below). This would probably take the form of a separate LocatorResolver interface which would return a data stream for a given Locator. The architecture for this would be flexible and support plug-in extensibility for different locator notations. This feature would include the following sub-features: o Pluggable URI resolution implementation o http: URI resolution o file: URI resolution o Catalog-based locator resolution implementation ID round-tripping [REQUIRED] Support the direct mapping of -id- attribute values in the input XTM file into the value of the ID property of the Java objects created by the XTMBuilder. This would enable complete round-tripping of -id- attribute values in most trivial cases. When loading multiple XTM files into a single TopicMap object, some additional attribute processing may be required to prevent DuplicateObjectIDExceptions getting thrown (alternatively, this could just happen...) Merge-map support [REQUIRED] This is the last major piece of XTM support required for TM4J. External topic reference processing [REQUIRED] This is the *other* last major piece of XTM support required for TM4J ;-) More flexible indexing architecture Split the indexes away from the TopicMap object - this would make it easier to interface with persistent storage systems which provide an alternative means of query (e.g. Ozone or an RDBMS). It would also significantly simplify the TopicMap implementations. Elements of this feature include: o Basic index interface o In-memory Index implementations o Ozone Index implementations Rework DOM implementation to work on XML-DB (http://www.xmldb.org/index.html) XML-DB is a standard API for XML repositories, which is based on DOM and XPath. The work already started on the DOM implementation should be pretty straightforward to port to XML-DB. The original intention of building a TM4J interface on an in-memory DOM structure does not need to be abandoned - the two could probably be supported by a single interface. JDBC/RDBMS implementation Apparently some people still like relational systems... New TMNav architecture This would include: o TMNav browser implementation o Touchgraph visualisation o TMNav editor implementation Improve consistency of use of Log4J o Ensure only Log4J is used for logging warnings/errors o Ensure command line apps and other apps initialise Log4J correctly o Create default Log4J initialisation object Support for ISO Topic Map Syntax o Support at least import of topic maps in ISO syntax (with the HyTime links replaced with URI references. Dynamic web publishing application (based on Cocoon) o Cocoon generator for topic maps o Some XSLT templates for viewing topics o Additional utility classes for extracting and sorting topic names, occurrences associations etc. Static/dynamic web publishing application (based on Velocity) o Utility classes for extracting and sorting topic names, occurrences, associations etc. o Configurable framework for using Velocity templates to view topic map objects o Wrapper application to allow deployment in a servlet container o Wrapper application to allow invocation of the processing from the command line Support Canonical XTM output This could form the basis for conformance testing. See http://www.ontopia.net/topicmaps/materials/cxtm.html for a description of Canonical XTM format Support LTM input This is a simple text format for topic maps (without the XML verbosity) See http://www.ontopia.net/download/ltm.html for a description of LTM. Please note, this is not a closed list ! If you have other suggestions, feel free to add them. And just because something is not initially suggested or not voted in for release 0.7.0 does not necessarily mean that it cannot be included in that release - as long as some one is willing to take on the work. I look forward to hearing your thoughts! Cheers, Kal |