wiki:Technology

Version 31 (modified by tarmo, 13 years ago) (diff)

Added link to Python developer center

Technology

Our system

Products needed to run the toolbox

  • Python 2.3.5
  • Zope 2.8.2
  • Plone 2.1.1

Products needed to run the unit tests

ZopeTestCase
Comes with Zope.
PloneTestCase
Not the class that comes with Plone, but the actual product. Don't use the version you can find at plone.org, but use the SVN to get it (at least revision 19463 works).
cd ZOPE-PRODUCT-DIRECTORY
svn co https://svn.plone.org/svn/collective/PloneTestCase/trunk/ PloneTestCase
Python profile library
May come with Zope, but if your tests complain about "import profile" not working, find the library for your Python environment and install it.

Development tools

ArchGenXML

ArchGenXML is a simple Python based tool to generate source skeletons to Plone content types and Plone portal tools. It can generate the schema, methods, docstrings, page templates. You can run the generator over an existing Python file, and ArchGenXML will keep the existing methods. ArchGenXML works with the standardized XMI format, which is readable for most of UML editors. I suggest to use this tool to generate content types and tools, because a UML diagram is more readable like a Python code, and the automatic code generation facilitate the developing. We could use one shared XMI or some different XMIs. In the first case the diagram would be in one place. This would be more readable, but if two developer edit it in the same time, the merge could be hard. In the second case the diagram is split some parts. It is not too readable, but we would rid of the merge problem.

In the Plone.org you can find a good manual: http://plone.org/documentation/archetypes/archgenxml-manual

WinG

Wing IDE is a commercial Python IDE with Zope support. It has every standard features, like syntax highlighting, auto-completion, auto-indent, etc. The most important thing why I prefer it, that it has a good runtime debugger. I tried it with Plone, and it worked fine. Combined with the Plone "auto-load" facility (which is not working every time) it is a really efficient development tool to Plone development.

Product homepage: http://wingware.com/

Html Validator

HTML Validator is a Mozilla extension that adds HTML validation inside Firefox and Mozilla. The number of errors of a HTML page is seen on the form of an icon in the status bar when browsing. The details of the errors are seen when looking the HTML source of the page.

The extension is based on Tidy. Tidy, was originally developed by the Web Consortium W3C. And now extended and improved by a lot of persons. Tidy is embedded inside Mozilla/Firefox? and makes the validation locally on your machine, without sending HTML to a third party server.

Product homepage: http://users.skynet.be/mgueury/mozilla/

Architecture

We should make some models that visualize the ideas behind our system.

Other systems

Interesting systems

A list of systems that have interesting features or solutions.

  • Connexions: (http://cnx.rice.edu) is a Plone based platform for authoring and using LOs (mainly text medium). It has some interesting features, such as versioning of LOs, customization of LOs in the context of a course, etc. And it's released as open source.
  • Pachyderm: (http://www.pachyderm.org/) is an open source authoring environment for creators of web-based and multimedia learning experiences. It is currently under developmemt and will be released in fall 2005.
  • LAMS: (http://www.lamsfoundation.org/) is an open source system for authoring and playing learning activity flows. Jan has made a document that describes LAMS and given an easy analysis on how we can use ideas from LAMS to create templates. Se attached file "LAMS – an introduction.doc"
  • MERLOT: (http://www.merlot.org) learning material referratory and online community. Read a description of collaboration tools in MERLOT.
  • Collection of educational Plone products
  • GoZip: EduPlone has developed an export mechanism that support IMS Content Packaging. It is a modified ATContentTypes and there are some rumours that it can pollute a Plone installation. However, it looks interesting as we maybe want to export modules as IMS Content Packages.
  • LatexWiki is the closest Plone/Zope/Python? product that allows producing math symbols inline. It will get complicated anyway, as math symbols are created as images by necessity and images are stored with page object. This would also add LaTeX engine and Ghostscript to installation requirements.

Interfaces

A list of systems that provide interfaces or APIs that we should consider implementing.

User Interfaces

A list of clever user interface technologies and some examples - please add here more.

Technologies

Examples

Attachments