Extensible parsing and persistency for Pier

Mentor: Tudor Girba
Second mentor: Lukas Renggli
Level: Intermediate
Invited students: Andrei Chis
Students interested: Andrei Chis(very), Simona Poilinca(very)

Pier is an open-source content management system that aims at allowing users to manage their content from the browser. It is based on a highly object-oriented model dealing with multiple issues: multiple types of structures that are meta-described, security management, user management, or persistency. The preferred way to define content is through an wiki-like syntax. Using this syntax, the user can specify multiple types of links, can choose to embed entire structures, and it can even access external services (like YouTube).

This project will tackle two important problems related to extending Pier:

  1. While the Pier model is extensible the parser of the Pier syntax is not easily extensible. The first job will be to rewrite the Pier parser to offer hooks for syntax extensions. A possible path towards this implementation is the use of the PetitParser framework.
  2. The main persistency mechanism in Pier is image-based. While the Pier model is meta-described for most parts, there are still parts that are accessed directly without the use of meta-descriptions. This poses a problem for a generic persistency mechanism. The second part of the project will focus on providing a mechanism for allowing each structure to specify a persistency strategy.

Benefits to the Student

  • learn about meta-modeling and parsing.
  • learn Seaside and work on a platform that has a wide acceptance already.

Benefits to the Community

  • a better content management system

Updated: 22.3.2010