The VIF Product Line
In the context of the VIF project, the following products have been developed:
VIF discussion forum
This is the flagship product of the project.
The characteristics of the VIF discussion forum are defined community boundaries, integrated quality control through automated peer reviewing and the implementation of a structured discussion schema that makes this forum application especially suitable to discuss complex and controversial questions.
The forum application is available in two versions:
- Production version for productive use. This version needs other open source components to be run.
- Quickstart version for testing purposes. This version has database and web server embedded.
VIF Lightweight Framework component
An object-relational bridge to store and retrieve data in relational database management systems (RDMS). The framework's building blocks to access data are data object models (DOM objects) and joined data object models (joined DOM objects). A DOM object is used for read-write access to a database table. It encapsulates the mapping of the object's attribute to the underlying table fields.
A joined DOM object encapsulates SQL SELECT commands of any complexity. With joined DOM objects it's possible to design involved data retrieval. A joined DOM object is built upon one ore more DOM objects and, therefore, reuses the mapping data defined there. Since the mapping of object attributes to table fields is done in one single place, changes in the data model can easily be adjusted in the application's persistency layer.
The VIF Lightweight Framework puts emphasis on a comprehensive XML representation of the data objects retrieved. Therefore, the framework is extremely well suited for applications that implement XML based APIs, e.g. web applications that render the information retrieved using XSL transformation.
For handling large sets of data, the framework offers lightweigth models too. Thus, the framework is suitable for client applications with small memory footprint as well.
The VIF discussion forum uses the VIF Framework as persistance layer. Eclipse user can use the VIF DOM Plug-in for easy creation of domain object homes and models. For further information see the documentation Domainobject and Metamodel framework.
VIF DOM plug-in
The VIF Domain Object Model Plug-in is an Eclipse plug-in that facilitates creation of domain object models and homes needed if the VIF Lightweight Framework is used as the application's persistency layer.
Having the SQL command to create a table in the database, the creation of a VIF Domain Object Model is a totally deterministic process. Therefore, it can be fully automated. The VIF DOM Plug-in provides the wizards that are needed achieve this. See the plug-ins Help for more information.
Workflow package
The VIF workflow framework package is the Java implementation of the Python workflow module itools created by Juan David Ibàñez Palomar (jdavid@itaapy.com). The package consists of the jar file containing the compiled framework and a jar file containing the source code and a unit test. In addition the package includes documentation describing the use of the workflow framework (see WorkflowFramework.pdf).
The VIF discussion forum uses this workflow to track a contribution's state in the peer review process.