LearningZope3

Revision 17 as of 2006-02-10 03:29:06

Clear message

Motivation

Creating zope3 applications is no easy task. This document comes out of a desire to help build a zope3 user community in support of SchoolTool and the CanDo competency tracking application which is being built on top of SchoolTool.

The goal here is to keep things as simple as possible. Zope3 is extremely complex, and the learning curve is steep to say the least. I'm assuming that the aspiring zope3 developer here will be using Ubuntu Breezy, and running their zope instance from their home directly on port 8080.

Installation

There is a bug in the zope3 package (Bug #24173 in zope3 (Ubuntu): "zope3 mkzopeinstance does not keep user id") that prevents this from being an easy process.

As the developer:

  1. cd ~ (to get to your home directory)

  2. svn co svn://svn.zope.org/repos/main/Zope3/3.2 Zope3

  3. For Directory we will be using zope3

  4. Choose a Username and Password you will remember

That's all there is to it! You should now have a zope3 directory inside your home directory containing an instance of zope3.

Starting zope

As the developer from your home directory, there are two easy ways to start your zope3 instance:

  1. ./zope3/bin/runzope

  2. ./zope3/bin/zopectl start

For testing new code use runzope. Messages and debugging information will applear in the console, and you will be able to see when zope fails to start. Keep in mind that when using runzope the application server will stop when you close the terminal from which it is run, so to keep the server running use zopectl start.

User stories

  1. By pointing the browser at the appropriate URL, the user sees a "Welcome to the CIC Time Clock! This program is free software and was written by..." and in LARGE TYPE: "LOGIN:" followed by an input text box, and below that in LARGE TYEP: "PASSWORD:" followed by another input box.
  2. The user is an employee and they type their username, hit the tab key, and type their password (which does not show up - or shows up only as stars when they type it), and click on the login button (could the 'Enter' key work here?). They see a list of the hours they have worked, and a Clock-In button.
  3. The employee clicks the Clock-In button. Text appears which says, "Clocked in on Tuesday, May 10, 2005 at 10:00:00 am". There is a clock-out button somewhere easy to find on the screen.
  4. About four hours later (1:50:00 pm on May 10) the employee clicks on the "clock-out" button. They are presented with two text input boxes, labeled as follows: "What did you do?" and "What did you learn?", and a Submit button.
  5. After spending 10 minutes filling in the details of what they did, the employee clicks the Submit button. A new row is added to the hours worked table for that Employee, listing start time, end time, and a link to the description of what they did.
  6. There is also an edit button next to each work period. Clicking this permits the employee to edit the descriptions of what they did and what they learned, as well as to change the start or end time. They can also delete the entire session.
  7. The user is an administrator. After they login, they see of list of employees, each one a hyper-text reference to that employee's time sheet.
  8. The Administrator also sees a button labeled, "Generate Time Sheets". When this button is clicked, timeclock generates a page containing each employees total hours worked for the period in question. (Note: this will require more details)...

Application development steps


CategoryDocumentation