Blog

Functional Python

Die objektorientierte, dynamisch getypte Programmiersprache python, in der der web application server Zope und das content management system Plone geschrieben sind, entwickelt sich stetig auf eine überzeugende Art weiter.

Ein Beispiel dafür ist der elegante Einbau von funktionalen Sprachmerkmalen wie unendlichen Listen (als Generatoren und Iteratoren) in python.

# Sieb des Erastothenes
from itertools import count
from itertools import ifilter
def sieve(possible_primes):
  next_prime=possible_primes.next()
  yield next_prime
  for i in sieve(ifilter(lambda j: j%next_prime!=0, possible_primes)):
    yield i

def primes():
  return sieve(count(2))

ISaR mit einem neuen Gewand

Das Institute for Safety and Reliability erhält eine neue Webseite mit Plone 3.1

ISaRStarzel begrüßt ISaR als neuen Kunden. Die Homepage des zur TU gehörigen Instiuts bekommt von uns nicht nur ein brandneues Design sondern auch gleich ein Upgrade von Plone 2.1 auf die neueste Version von Plone 3.1. Ergänzend sind zudem Features wie ein Newsletter mit Singing & Dancing, ein umfangreiches Alumni-Intranet, LDAP-Anbindung etc. geplant.

Zope-Konferenz in Saarbrücken

Das bedeutendste Treffen der Zope-Community war 2008 in Saarbrücken

Interessante Vorträge und das noch interessantere get-together haben wir auf dem bedeutendsten Treffen der Zope-Community weltweit, der 9. Tagung der Deutschsprachigen Zope User Group (DZUG) vom 10. -12. September 2008 in Saarbrücken erlebt.

Von Präsentationen mit Zope und Plone entwickelter Webseiten und Anwendungen über Tutorials und der Vorstellung neuer Komponenten für sichere Datenhaltung bis zu Berichten aus dem python-underground, die endlich die Zukunft der zope.org Webseite aufklären, war alles vertreten.

Wir haben den Eindruck einer vielfältigen, lebendigen und kreativen Gemeinschaft mit nach Hause genommen.

ZeitRaum.Bayern - Geschichte will entdeckt werden

erstellt von Philip Bauer zuletzt geändert: 2017-03-01T13:20:14+02:00
Ein innovatives Projekt zur Geschichtsvermittlung und Visualisierung geht online.

Endlich ist es soweit, dass ZeitRaum.Bayern anlässlich der Landesausstellung des HdBG in Würzburg das Licht der Öffentlichkeit erblickt. Entwickelt wurde ZeitRaum.Bayern für die Landeszentrale für politische Bildungsarbeit. Beteiligt sind neben Starzel.de (Projektleitung, Konzept und ein wenig Programmerung) ein Team der FH Augsburg unter der Leitung von Helmut Merz und Erich Seifert (beide Zope3/Loops-Programmierung) sowie Martin Woitzik, dessen hervorragende Abschlussarbeit die Flash/Papervision3D-Oberfläche ist, sowie diverse Studenten der FH Augsburg.

Basierend auf einer Zope3/Loops-Webanwendung werden historische Informationen in einem 3D-Raum angzeigt. Die 3D-Darstellung basiert auf dem Open-Source Actionscript-Library Papervision3D.

Die Weiterentwicklung ist gegenwärtig in vollem Gange. Mit ZeitRaum.Bayern sollen künftig alle Interessierten eigene Online-Ausstellungen erstellen können. Gerade für Projekte von (Geschichts-)Leitungskursen (in Bayern heissten diese jetzt W- bzw. P-Seminare) bietet es sich an um die Ergebnisse der Projektarbeiten ansprechend zu visualisieren.

Außerdem wird im Zuge dessen die barrierefreie Variante - natürlich ohne 3D - fertig. 

Anschauen hier: www.zeitraum-bayern.de

How to add new content on top of a folder

By default Plone adds new content to the bottom of a folder. With zope3 event-handlers you can change that behaviour easily.

Here we use event handlers to push newly-created NewsItems to the top of the page. Usefull for blog-style folders. It doesn't apply when editing existing content.

Add a new subscriber to your configure.zcml (you might want to use your site-policy- or theme-product):

<subscriber 
   for="Products.ATContentTypes.interface.news.IATNewsItem
   zope.app.container.interfaces.IObjectAddedEvent"
   handler=".newsitemmover.moveToTop" />

Create the new file newsitemmover.py containing

def moveToTop(obj, event):
   """
   Moves Items to the top of its folder
   """
   folder = obj.getParentNode()
   if folder != None:
       folder.moveObjectsToTop(obj.id)

Restart Zope.

The tricky part is to choose the correct Interfaces for the subscriber. Keep in mind that IObjectAddedEvent is called several times during adding a NewsItem. It doen't matter in this case since the item can't be any more on top than on top :-)