auf.suno
Connector, geek, tech evangelist, business enabler, business angel, globetrotter, sportsman, agnostic, cosmopolitan, funny finch ...

This is my (Markus Gattol aka Suno Ano) website. It is composed and driven exclusively by Open Source Software. This website is
seamlessly integrating into my daily working environment (GNU Emacs + DebianGNU/Linux) which therefore means it becomes
a fully fledged and automatized publishing and communication platform. It will be under construction until 2012.

Open Source / Free Software, because freedom is in everyone's language ...
Frihed Svoboda Libertà Vrijheid เสรีภาพ Liberté Freiheit Cê̤ṳ-iù Ελευθερία Свобода פריי Bebas Libertada 自由
auf.suno
Website Sections
Home
FAQs
About me
Contact
Dolmen - Application Development Framework and CMS
Status: just notes so far
Pagecode: T->1 A->SAml H->tr C->SA[cccej]
Last changed: Monday 2010-03-01 [12:21 UTC]
Abstract:

Dolmen is an application development framework based on Grok and Zope3 (a highly modular, flexible, versatile, resilient and secure web application server written in Python) which also provides a CMS (Content Management System) out of the box. Dolmen is being made with four main objectives in mind: easily pluggable, rock solid and fast content type development, readability and speed. Developers like it a lot for the fact that application development as well as configuration, both is done with Python i.e. there is no additional configuration and/or template language to bother with. Another quite tempting fact is that Dolmen allows developers nicely to adhere to techniques and best practices known as agile software development. The main pillar throughout the development history is the fact that Dolmen should be extremely pluggable -- we only use the mandatory bits and pieces needed for some application and do not carry around tons of unnecessary weight that is actually not needed. Last but not least, Dolmen is fully eggified and uses Zope3's component architecture which makes it incredibly easy, flexible and versatile to work with -- there is no application that cannot be build with Dolmen, they say ... In the end it is Python all over the place!
Table of Contents
Installation and Setup
Prerequisites
Translation and Internationalization
Menhir
Middlewar
Miscellaneous
Templates
Roadmap
Grok

Installation and Setup

  • http://tracker.trollfot.org/wiki/Dolmen/Install
  • http://tracker.trollfot.org/wiki/Dolmen/Packages
dolmen0:/home/sa# mkdir dolmen
dolmen0:/home/sa# cd dolmen/
dolmen0:/home/sa/dolmen# svn co http://tracker.trollfot.org/svn/projects/dolmen/dolmen.buildout/
dolmen0:/home/sa/dolmen# cd dolmen.buildout/
dolmen0:/home/sa/dolmen/dolmen.buildout# python bootstrap.py
dolmen0:/home/sa/dolmen/dolmen.buildout# ./bin/buildout -c dolmen-site.cfg
dolmen0:/home/sa/dolmen/dolmen.buildout# grep host deploy.ini
host = <openvz_VE_IP_or_0.0.0.0>
dolmen0:/home/sa/dolmen/dolmen.buildout# bin/paster serve --daemon deploy.ini
dolmen0:/home/sa/dolmen/dolmen.buildout# paster serve --stop-daemon

Prerequisites

  • http://tracker.trollfot.org/svn/projects/dolmen/dolmen.buildout/
  • http://codespeak.net/lxml/lxmlhtml.html

We need to install a bunch of Debian packages (also known as .deb).

  • subversion build-essential python2.5-dev libjpeg62-dev libxslt-dev python-libxml2 libxml2-dev python-lxml
  • it should be possible to do bulk uploads for images/video/audio/files/etc. files e.g. I came home with my cam from a trip, download the images and make one bulk upload of tens of images into a dolmen gallery
  • seed files (e.g. images, videos, etc.) via Bittorrent
  • the possibility to add/edit metadata on various content types e.g. give folks the possibility to add notes to an image "This image was taken during a hiking tour with Tina in the Austrian Alps during summer 2009."
  • make content purchasable (e.g. via annotations); I know that this is headed towards some e-commerce add-on but then core dolmen or rather its content types should have some "notion of I can be bought" or not ... it is then of course up to some e-commerce add-on to make use of that information stored with content types. The reason why this consideration is important from the beginning is because, adding it later on is going to be a lot more work and might result in an ugly outcome.
    • purchasable in this regard might then be decided by a particular e-commerce add-on ... one that might sell content via a membership or maybe one that might simply work as the usual on-line shop with shippable items etc.

Translation and Internationalization

Menhir

  • http://tracker.trollfot.org/wiki/Menhir

Middlewar

  • http://www.gawel.org/docs/gp.fileupload/
  • http://pypi.python.org/pypi/gp.fileupload

Miscellaneous

  • http://buildbot.net/trac
  • http://en.wikipedia.org/wiki/Tinymce

Templates

  • http://pypi.python.org/pypi/megrok.genshi/
  • https://launchpad.net/chameleon-template-engine
    • http://pypi.python.org/pypi/megrok.chameleon/0.1

Roadmap

  • architecture
  • locales
  • integrate video/queue

Grok

Packages that need be installed

  • python-setuptools
  • build-essential
  • python2.5-dev
wks-ve9:/home/sa# easy_install grokproject
wks-ve9:/home/sa# grokproject <projectname>
wks-ve9:/home/sa/Sample# bin/paster serve --daemon --reload parts/etc/deploy.ini
Starting subprocess with file monitor
Entering daemon mode
wks-ve9:/home/sa/Sample#
  • there can be a view or a render method

Terms and Idioms

  • http://grok.zope.org/documentation/tutorial/a-grok-centric-explanation-of-adaptation/introduction
  • http://grok.zope.org/documentation/tutorial/introduction-to-zc.buildout/glossary-of-egg-jargon

Administer

  • http://grok.zope.org/documentation/how-to/placing-your-grok-project-under-version-control
  • http://grok.zope.org/documentation/how-to/make-use-of-add-ons-via-eggs
  • http://grok.zope.org/documentation/how-to/combine-grokproject-with-the-svn-trunk-version-of
  • http://grok.zope.org/documentation/how-to/selecting-the-port-and-interface-where-grok
  • http://grok.zope.org/documentation/how-to/releasing-software

Hosting

  • http://grok.zope.org/documentation/how-to/use-apache-http-server-with-grok-on-debian-sid

Configuration - http://grok.zope.org/documentation/how-to/Set-custom-configurations-system-level

Templates

  • http://grok.zope.org/documentation/how-to/plugging-in-new-template-languages

Testing

  • http://grok.zope.org/documentation/how-to/tests-with-grok-testing
  • http://grok.zope.org/documentation/how-to/writing%2Cdiscovering%2Crunning-tests-with-z3c.testsetup

i18n

  • http://grok.zope.org/documentation/how-to/how-to-internationalize-your-application

Layout and Macros

  • http://grok.zope.org/documentation/tutorial/website-that-uses-layers
  • http://grok.zope.org/documentation/tutorial/macros-with-grok
  • http://grok.zope.org/documentation/how-to/using-viewlets-for-layout
  • http://grok.zope.org/documentation/how-to/using-kss-actions-on-a-view

Forms

  • http://grok.zope.org/documentation/how-to/customizing-form-fields-in-grok-forms
  • http://grok.zope.org/documentation/how-to/automatic-form-generation

Permissions

  • http://grok.zope.org/documentation/tutorial/permissions/tutorial-all-pages

Content Types / Persistent and non-persistent Objects

  • http://grok.zope.org/documentation/tutorial/navigating-to-transient-objects-tutorial/tutorial-all-pages
Creative Commons License
The content of this site is licensed under Creative Commons Attribution-Share Alike 3.0 License.