Update: I now (May 2009) stopped working with/on Plone in favor of Dolmen simply because working with Plone is no fun anymore. Plone has become way to fat and confusing to work with over the years — I need something that works with me, not against me. PythonSince Plone and Zope are written in Python (for the preponderant part), I decided that this subject should have dedicated page. DebuggingTestinghttp://plone.org/documentation/tutorial/testing Unit Testsrun the automated tests for your own code, as well as those for the product/egg itself if applicable. Doctesthttp://en.wikipedia.org/wiki/Doctest Trough the Web testingi.e. users test via web browser ZopeZope has a dedicated page on my website. Also, the CMF (Content Management Framework), Plone's foundation has its onw section on my website/platform. Object Hierarchy and AcquisitionOne particularly innovative feature of Zope is its widespread use of acquisition. Acquisition is a technique parallel to class inheritance, in which objects inherit behavior from their context in a composition hierarchy, as opposed to their class in a class hierarchy. This allows certain ways to structure source code that are otherwise harder to accomplish, and can encourage application decomposition. The core concept is simply that:
The concept of acquisition works with all Zope objects, and provides an extremely powerful way to centralize common resources. A commonly used SQL (Structured Query Language) query or snippet of HTML (Hypertext Markup Language), for example, can be defined in one Folder and objects in subfolders can use it automatically through acquisition. If the query needs to be changed, we can change it in one place without worrying about all of the subobjects that use the query. Because objects are acquired by starting at the current level in the containment hierarchy and searching upward, it is easy to specialize areas of our site with a minimum of work. If, for example, we had a Folder named Sports on our site containing sports-related content, we could create a new header and footer document in the Sports Folder that use a sports-related theme. Content in the Sports folder and its subfolders will then use the specialized sports header and footer found in the Sports folder rather than the header and footer from the top-level (root) folder on the site. PlonePlone TemplatingAs with Python, this section is located onto another page but still, we are talking about Plone development when it comes to editing templates or creating templates from scratch ... thus the subject is mentioned here. Buildout RecipeArchetypesArchGenXMLUML ModellingI prefer to create my mockups with clean UML (Unified Modeling
Language). The tool I use is called ArgoUml. Next to being a decent
tool, another benefit is that it is available with Debian ( ArgoUML needs the Java Runtime Environment to be present. In case that
does not ring a bell take a look at what I wrote here. Finally
starting ArgoUml might not work without having the environment
variable sa@pc1:~$ alias | grep auml alias auml='argouml >& /dev/null &' sa@pc1:~$ Ultimately this is what it looks like |