VMOSS Model View Controller Architecture

[article] [edit page] [discussion] [history]

From Humanitarian-FOSS Project Development Site

VMOSS (Volunteer Management Open Source Software) is a standalone implementation of the Sahana Volunteer Management module. This page describes VMOSS's design and architecture.


Code Structure

VMOSS uses the same file structure as Sahana. The majority of the files located in the /mod/vm directory. One way to extend the VMOSS application would be to add a new module to it, following the same procedure outlined in the hello-world example.

Model-View-Controller Architecture

VMOSS uses a Model-View-Controller (MVC) architecture to manage the interaction between the user and the system. According to this design pattern, the system's data (the model) is separated from the user interface (the view), so that these two aspects of the system can be dealt with independently. Changes to the data will not affect the user interface and vice versa. Interaction between the model and view is managed by the controller, which contains the program's control logic.


The following UML diagram gives a detailed break-down of the design, including the function names and attributes currently implemented in VMOSSDemo.

VM design
VM design

Data Schema

The following diagram shows how VM module interacts with the Sahana framework.

Volunteer Management Database Schema as of June 25th 2007,RC2
Volunteer Management Database Schema as of June 25th 2007,RC2

Code Repository and Documentation

  • VMOSS source code is hosted on Sourceforge. You can use the Sourceforge browse option to inspect the source code.
  • Generated (PhP Documentor) VMOSS documentation is hosted on Sourceforge. On sourceforge, select the sahana (lowercase) package from Packages menu and scross down to the vm module.
Personal tools