Workshop Curriculum and Documentation


  • Overview of our NSF/CPATH project
  • Overview of Open Source Movement
  • Stress humanitarian focus and hint at pedagogical issues to be touched on in Wrap Up.
  • Stress our interest in quality control and principled software engineering approach to FOSS
  • Distinguish between open source projects (what we're doing) and use of tools (we're also doing)

Setting up the Working Environment

(WAMP, MAMP, LAMP, PhpMyAdmin, PhpDocumenter, Sahana, etc)

  • Three tier web application architecture

I. Platform Level: Windows, Mac or Linux

II. Server Level: Apache, MySQL, PHP

  • [Setting up WAMP,MAMP, LAMP, XAMPP] (-1)
  • Windows Platform: Drag the CD directory, sigcse_workshop, onto your C: drive.
    • Details: The package is configured with XAMP in the default folder (C:/sigcse_workshop/xamp):
  • OS X Platform.
    • Insert the workshop CD or obtain the SIGCSE-HFOSS-0.1.dmg disk image (approx. 650MB) and double-click it to mount the disk image.
    • Double-click on SIGCSE-HFOSS-0.1.mpkg. You may select a directory for the install, and we recommend either your desktop or home directory (default is /tmp). This will automatically install several packages:
      • XAMPP: The default binary installation of XAMPP-0.7.0. This package installs into /Applications/xampp, and this location cannot be changed.
      • XAMPP-CFG: Modifications to the XAMPP configuration files in order to make the installation slightly more secure. Also starts Apache and MySql and creates the Sahana database.
      • ECLIPSE-HFOSS: A version of Eclipse 3.3 with the PHPEclipse and Subclipse plugins. This will install into a directory named eclipse.
      • ECLIPSE-WKSP: A pre-built Eclipse workspace with a sample PHP project and the Sahana project. This will install into a directory named sigcse_hfoss.

III. Tools Level: CVS, SVN, and PHPMyAdmin

IV. Development Level: PHP DOC and Eclipse,

V. Application Level: Sahana

Building a Sahana Module (Hello World Demo)

Doable hands-on exercises

• Database interactive (using phpMyAdmin create tables to use later within sahana) • Use sahana library functions • Form processing • Helloworld with different greetings? • Class list (give a script)? • Prepare a solution to give out (3 or 4 parts)

  • MySQL Exercise (display class members from a db. Note: doesn't use sahana)
  • HTML Form Exercise (input/display class members using sahana. Note: uses old version of sahana, no MVC)

Wrap Up

  • Pedagogical issues (our NSF/CPATH Spring 2009 Workshop)
  • Setting up a infrastructure/project at your school
  • Finding an H-FOSS project to participate in.
  • How to get involved?

System Administrator documentation

  • [Setting up your own Subversion server]
  • [Setting up remote apache2 and mysql servers]