Resource Menu

LibreSource : an Open Source Versatile Collaborative Development Environment.

Current Collaborative Development Environments (CDE) have several drawbacks that oblige users to rely on very few of installation like SourceForge with all the risks that it implies. The goal of the invalid link : LibreSource project(Illegal character in path at index 11: LibreSource project) is to provide a framework and the associated services that will allow to deploy and maintain networks of CDE, to support different kind of projects and especially development projects. Libresource was RNTL funded project. It is developed on the ObjectWeb Jonas application server.

A lot of platforms have emerged these last years that supports cooperation of people over the internet. They can be classified in two large categories :

  • community oriented platforms that are mostly represented by content management systems like Zope/Plone, PhpNuke. The goal of these platforms is to manage information flow and communication among large groups of people.
  • production oriented platforms are best represented by software development environments. Sourceforge and its descendants Gforge, Savannah are good representatives of these kind of platforms.
All these environments provide more or less the same kind of functionnalities or services. Community oriented platforms provide communication services (forum, mail, notification) and content management services (publication, wiki, file management). Production oriented platforms provide file sharing services (configuration management, workspace management), communication services and coordinations services (task management, trackers).

One major problem with these environments is the perennity of the service. Actually, if SourceForge closes, the community looses access to 80000 projects. This happened to smaller systems after corruption of their sites by hackers. This centralized approach for managing communities and projects is a major drawback. The Libresource projects aims to provide an alternative to these environements in order to avoid this problem. Instead of installing one single and complex community and project support site, we propose to support federation and pooling. If one node must close for any reason, resources hosted on this site can be moved on others site. With this vision, instead of building a complex site with 800000 users, we propose to aggregate hundreds of nodes for thousands of users. The infrastructure needed is much more simple and the visibility of the nodes is maintained.

If such vision is potentially appealing, several conditions are required for its success:

  1. Migration of projects from one site to another must be easy.
  2. Installation and maintenance of a site must be simple.
  3. Sites must be highly and easily customizable for their appropriation by different kinds of communities of project.
Libresource aims to provide a viable solution that would cover all these requirements while retaining the main functionnalities that made the success of Sourceforge and its descendants.

In Libresource, all components have been rewritten from scratch to ensure a clean serialization and their good integration. Every component instanciated in the libresource framework is serializable as a java object and can be transfered on another Libresource site. Of course a major challenge for libresource is to offer competitive components compared to existing tools and to allow site maintainers to develop their own. Libresource must provide a component model. Libresource is built around a generic kernel that provides basic services : a naming service that allows to organise services and resources as a tree, an event service that can be used for awareness, services for integration and security.

Site Installation

Installing a CDE can be a quite difficult task. Existing CDE is an aggregation of existing tools. Recently, during a meeting, engineers from Objectweb told us that they took three weeks to deploy Objectforge. It is clear that it is not acceptable if we want a lot of LibreSource nodes to be installed and maintained. Libresource has been developped on top of JOnAS J2EE application server. The kernel and components services are archive files that can be deployed separately. The Web application is built on top of these services. The installation of Libresource is thus made rather simple. Once a datasource (e.g. PostgreSQL) is selected and deployed in the server, the components are deployed and the service is ready to go. Site maintenance is limited to traditional administration activities of a database and of an application server.

Site Appropriation

Sourceforge and its sibblings have rather rigid user interface that do not allow easy adaptation. The Libresource one has been thought as simple but flexible. Navigation is based on the libresource ressource tree and on link in wiki like pages (cf fig 2). The left menu is a view on the current context and provides informations and navigation support. Each menu can be customized for each node as a wiki page. The main part of the page is what we call the resource view. The resource view depends on the type of resource. It can be customized by changing its jsp pages. Pages are built using strict xhtml without any presentation information. Presentation is done exclusively using CSS. Thus their look and feel can be greatly adapted and easily changed. The organisation of the site, the way projects are organized, the resources associated to projects and the access rights can be adapted to each installation and to some extend to each project. Thus users are not limited to the rigid structure of projects supported by current systems.

Last edited by Root at Mar 24, 2007 9:27 PM - Edit content - View source