Applikations-Baukasten
Webentwicklung mit Zope X3
-----------------------------------------------------
Artikel aus c't 01/05, S. 192, heb

Dies ist eine Beispiel-Implementierung in Zope 3 einer einfachen
Blog-Applikation. Implementiert von Erik Mller (moeller@scireview.de)

Der Code ist gemeinfrei.

Zur Installation kopieren Sie die Datei blog-configure.zcml in das
Verzeichnis 'etc/package-includes' Ihrer Zope3-Instanz, und kopieren Sie
dieses Verzeichnis nach 'packages' oder nach 'lib/python', je nachdem,
welche Zope-Distribution Sie verwenden.

Blogs sind Container fr Blog-Eintrge (BlogEntry) und haben nur eine
Eigenschaft, ihren Titel.

Die Eintrge haben folgende Eigenschaften:

- Betreff
- Renderer (zur Konvertierung nach HTML)
- Text

Hier fhren wir einige Tests durch, um zu prfen, ob alles nach Plan luft:

Sie knnen Blogs und BlogEntries von Hand anlegen, indem Sie die
entsprechenden Klassen aufrufen:

    >>> from blog.app import Blog, BlogEntry
    >>> my_blog = Blog()
    >>> my_blog.name = 'Teste Zope 3 Blog'
    >>> my_blog.name
    'Teste Zope 3 Blog'

Sie knnen ber Attribute auf Informationen zugreifen:

    >>> from zope.publisher.browser import TestRequest
    >>> request = TestRequest()

    >>> b = Blog()
    >>> b['first_entry'] = BlogEntry('Hallo Welt',
    ...                              'teste')
    >>> b['first_entry'].renderer
    u'zope.source.rest'
    >>> entry = BlogEntry()
    >>> entry.text							
    u''
    >>> from blog.browser.views import BlogEntryView
    >>> # v = BlogEntryView(b['first_entry'], request)

    >>> from blog.app import Blog, BlogEntry
    >>> my_blog = Blog()
    >>> my_blog.name = 'Teste Zope Blog'
    >>> my_blog.name
    'Teste Zope Blog'

    >>> entry = BlogEntry('Hallo Welt',
    ...                   'teste')
    >>> entry.text
    'teste'
    >>> entry.renderer
    u'zope.source.rest'

    >>> my_blog['first_entry'] = entry

Um die HTML-Ausgabe des Blog-Eintrags zu bekommen, verwenden Sie die
'render'-Methode.