27/36  

Add functionality to Suixo

Mentor: Stephan Eggermont
Second mentor: Diego Lont
Level: Intermediate
Invited students: Den Bardadym
Students interested: Den Bardadym(very), Prateek Gupta

Improve the Suixo full stack Seaside framework. Features should be usable as independent components as well as in the framework. Examples of features are:

  • Adding an OODB based persistence layer 
  • Building a PDF rendering canvas for Seaside, using css for layout (larger scope)
  • Building a reading / writing library for one of several document formats (i.e. Excel, ODF)
  • Building a domain specific language for (object) reporting
  • Adding persistence infrastructure for a document management system (distributed storage) (i.e. CloudDB, MongoDB)
  • Implementing a Naked Objects style UI (see www.jmatter.org)

Technical details

Context
Suixo is an open source Smalltalk Seaside application framework used to build a.o. a vertical market solution for healthcare. The healthcare solution is currently used daily by about 80 users. Suixo is an application level framework and currently features:

  • Workflow engine
  • Generic party model (company / person)
  • Role based access control
  • Time tracking
  • Content management system

Used technology

Suixo provides a full-stack solution. It uses a.o. the following technologies: 

  • Pharo (virtual machine)
  • Seaside (web framework)
  • Glorp (ORM)
  • Postgres (persistence)
  • Scriptaculous ui (Ajax components)
  • ShoreComponents (widgets)
  • Mold (meta model)
  • Graphviz (workflow visualisation)
  • Flotr (graphics)
  • Soap (webservices)

Goal
To increase the applicability of the Smalltalk stack.

Benefits to the Student

  • Experience in extending existing frameworks
  • Exposure to high level frameworks
  • Designing large and complex applications
  • Working in an agile environment

Benefits to the Community

Make Pharo/Seaside a more appealing open source environment for the development of enterprise applications:

  • Better accessability of application level reusable functionality
  • Richer Seaside environment



Updated: 23.3.2010