LearningZope3

Differences between revisions 14 and 15
Revision 14 as of 2005-08-01 01:45:52
Size: 2443
Editor: dsl092-236-069
Comment:
Revision 15 as of 2005-08-01 01:52:23
Size: 3742
Editor: dsl092-236-069
Comment:
Deletions are marked like this. Additions are marked like this.
Line 42: Line 42:
  0. By pointing the browser at the appropriate URL, the user sees a "Welcome to the CIC TimeClock! 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.
  0. 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.
  0. 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.
  0. 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.
  0. 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.
  0. 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.
  0. 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.
  0. 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.
  0. 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.
  0. 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)...

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 Hoary, and running their zope instance from their home directly on port 8080. I'm using zope3 from the zope3-lib package available with Hoary.

Installation

As root:

  1. apt-get install zope3-lib

  2. cd /usr/lib/zope3x/bin

  3. chmod +x mkzopeinstance (this is needed because it does not come executable)

As the developer:

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

  2. /usr/lib/zope3x/bin/mkzopeinstance

  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

LearningZope3 (last edited 2008-08-06 17:01:05 by localhost)