Teaching Schedule 0.1alpha (Alpha release) (Aug 19, 2005)

This is not a final release. Experimental releases should only be used for testing and development. Do not use these on production sites, and make sure you have proper backups before installing.

First release.

For additional information about this project, please visit the overview page .

Available downloads

For all platforms (0 kB)

Release Notes

Tested with Plone 2.0.5
State Alpha release
License GPL

LICENSE

  • GPL: See TeachingSchedule.py header.

CREDITS

  • SVG all around help, http://www.carto.net
  • SVG emitting, http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/325823
  • ReportLab toolkit and examples
  • See GeologicTimeScale for additional inspirational sources

AUTHORSHIP

  • initial coding: Jeff Pittman, http://www.geojeff.org

DESCRIPTION

TeachingSchedule uses the ReportLab toolkit to generate a teaching schedule plot and its own routines to emit SVG and simple HTML renderings.

TeachingSchedule is a folderish Archetypes-based Plone/Zope product. The idea is to use various renderers to create images, PDF files, and/or SVG versions of the teaching schedule and store them. This allows flexibility for a user of TeachingSchedule to offer several format versions, if needed. TeachingSchedule takes input of the following items:

  • image size (width and height, in pixels)
  • position (x and y of upper left corner, in pixels)
  • courses, entered as comma-separated values on separate lines for the courses. Courses are specified by:
    • username
    • year
    • month
    • day
    • hour
    • minute
    • duration_minutes
    • recurrence_interval
    • start_year
    • start_month
    • start_day
    • end_year
    • end_month
    • end_day
    • course_name
    • red, green, blue (each 0-255)

REQUIREMENTS

  • Archetypes (tested with Archetypes-1.3.2-final bundle).
  • Plone (tested with Plone-2.0.5)
  • PIL (Python Imaging Library), http://www.pythonware.com/products/pil/
  • ReportLab Toolkit, from http://www.reportlab.org (tested with v. 1.20)
  • renderPM, from the ReportLab Toolkit, as an addon module, from: http://www.reportlab.org (renderPM provides the full functionality for formats other than ps and pdf)
  • Adobe Acrobat Reader, for fonts, from http://www.adobe.com/products/acrobat/readstep2.html. On Linux, v. 5 works; not sure about the new v. 7.

PLATFORM NOTES

  • So far, testing has only been done on Linux. Browser testing has been done with Internet Explorer and Opera 8.01, and also with Mozilla Firefox DeerPark 2 Alpha. Deerpark 2 pops up a save box when viewing SVG, instead of rendering the SVG on the page -- combinations of embed, object, and iframe tags were used to no avail to get Deerpark 2 to render on the page (although it seems that it worked under some combination).

INSTALLATION

  1. Install Adobe Acrobat Reader, taking note of its installation directory.
  2. Install the ReportLab toolkit, first editing rl_config.py in the reportlab directory to set the Acrobat directory, if needed, so the fonts will be found by the renderer.
  3. Install the renderPM addon from ReportLab.org.
  4. Put TeachingSchedule in your Zope Products directory.
  5. Restart Zope.
  6. Install TeachingSchedule into your Plone site using CMFQuickInstaller. (In Plone, select "plone setup", click on "Add/Remove Products" and install TeachingSchedule.) You can also use the portal_quickinstaller tool from the ZMI to install the Product.

DERIVATIONS

This product is based on work done originally for GeologicTimeScale and for a presentation at the 2005 North American Plone Symposium in New Orleans. Other similar products will follow, including VacationPlanner.

Another obvious possibility would be something called ConferenceSchedule, which would be helpful for Plone conferences and symposia.

It should be easy to strip this product of all of its "teaching" accoutrements, to make a generic "EventSchedule" product.

TO DO

  • Change the use of File to Image for png, jpg, gif, etc., and learn how to use ATImage, ATDocument that are in Plone 2.1.
  • Don't show actual titles of the documents, e.g., drawing-directly-emitted.html, show the title of the schedule, e.g. Fall 2005
  • Update the helper text that shows at the top of an SVG-containing html page to explain that usage varies by platform and browser, that right-clicking on Windows will give at least some useful info, and that key combinations can be used on certain platforms. Also, shorten and cram so that these instructions fit in minimal space at the top.
  • Make fixes for Plone 2.1 (one is to get rid of suppressHiddenFiles in the templates, where folder_contents are used).
  • SVG label items are a bit off, probably by 1/2 the day width, or other associated objects.
  • Add labels for weeks and or months so it is easier to see where you are.
  • Add image map or javascript rollover or tooltip effects.
  • Beautify and add CSS defintions for use in the simple HTML rendering.
  • Add a room info item to Event to show room use.
  • Tie to the regular Plone event system to post events.
  • Add what-if analysis to check for time conflicts on prospective events, and to find available holes in the teaching schedule for scheduling new events.
  • Explore connection to more robust "calendaring" systems.
  • Consider making a Course type. Course instances would be added to the TeachingSchedule folder by teachers or department personnel. Upon creation or recreation (by editing), the folder would be checked for course instances and the graphic would be rendered. The existing CSV style of data input could be retained as an alternative.

BUGS AND FEATURE REQUESTS

Please report bugs and feature requests to Jeff Pittman, who can be reached at jeff@geojeff.org. Jeff is often on the #plone irc channel as geojeff.

Change log

2005-08-19

* First release.

2005-07-24

* Presentation at 2005 Plone Symposium
in New Orleans, where TeachingSchedule
was used as an example for a talk on
"Illustration Types in Plone."

2005-07-19 Jeff Pittman <jeff@geojeff.org>

* Initial work