New York Media Content Management etc.
Work
So the saga continues with migration from Krang to Plone but so far so good. Most content types won't be that big of a deal getting into Plone. For instance, Model Biographies is complete, Author Archives etc. Some content types rely on others so even if they are complete they aren't fully usable until it's sister content type is complete. For example, Designer Biographies relies on Fashion Galleries. Anyway.. screenie.
The biggest issues will actually be with Fashion Galleries and all of the Workflow that revolves around that. Programming wise it's no hassle; it's more taking most of the ideas and reworking them into a nice work-flow that utilizes the content rather than copying it all over the place. Initially I was going to copy from Krang to Plone exactly but the extra day or two spent thinking about the Workflow before I do anything is the best thing at this point. The more legacy "workflow" or ideas that we can get away from the better and there are a lot.
ViewVC
I got ViewVC looking pretty spiffy with some Tango icons, color and font changes.. Maybe i'll do up the header and stuff with links to our bug repo. When I need to concentrate on something else i'll probably take the timeout:

Gnome.org
I've been rather lax with this and haven't finished the port to Plone3 of Gnome.org. Hopefully, I'll get my ass in gear and finish it as it seems no one else is going to at this point. So i'll try to get that going tomorrow or like.. Saturday.. Seriously
Â
Zope/Plone have changed my life
I can't stress enough how pleased I am with Zope/Plone in regards to a CMS system. If you are doing content management and are using Python then I strongly suggest you look at Zope/Plone. Python being  such a strong and usable language that makes the impossible; possible and the architecture of Zope and the CMF Framework which Plone is built from makes it a CMS killer. Period. Which brings me to the reason for this entry.
Here at New York Magazine we have a fashion section. It's a mismash of Krang and other random Dreamweaver run around all over the place HTML. This is obviously no way to manage the content in this, the year, 2007. So I have begun to take on the process of breaking it down into Plone and came across the subscriber/event model system available in Zope3. It's great and here's a quick tutorial on how to use it.
A user is working with a Model Biography and the Fashion editor want's an IM when each Model Biography is created.
First we setup an interface (marker interface) for our Model Biography:
from zope.interface import Interface
class IModelBio(Interface):
""" Model Biography """
Think of the interface as documentation for the class, describing what it can and can't do. As this class doesn't have any methods there is just a comment describing that it's a Model Biography.
We then have the actual ModelBio class which implements our interface.
class ModelBio(BaseContent):
"""A Model Object """
implements(IModelBio)
From here we can now modify our configure.zcml (this configures Zope the way we want it), where we add our subscriber. Here is a good description of ZCML and why it gives our code more structure.
note: Do to the way Wordpress filters html tag/close tag should be replaced with the appropriate markup. Seems I need to either upgrade or find some new blog software.
tag subscriber
for=".interfaces.IModelBio
Products.Archetypes.interfaces.IObjectInitializedEvent"
handler=".events.model_created"close tag
What this says is that for ModelBio we want to know when a ModelBio object is created. When we know that, events.model_created, will be handling said situation. So, all that's left to do is add a method called model_created in events.py
def model_created(model, event):
""" blah blah """
print model.title + " has been created"
That is pretty much it! Again, if you are doing CMS anything you may as well investigate Zope/Plone. I also highly recommend picking up a copy of Martin Aspeli's book; "Professional Plone Development", available here. It will definitely help, even if you are a beginner to Plone. Here's a recent review of the book on Slashdot. As usual the commentary on Slashdot is to be used as toilet paper. Needless to say I don't make a dime off of any of this the book is just that good.
Â