plonewars.com

July 24th, 2007

Tim Hicks: My Mentor

Ooh, I forgot to add this in my last post.&nbsp; I’m delighted that my Google SoC mentor is Raphael Ritz.<br /><br />Known to just about everybody in the Plone community, no doubt, Raphael is a <a href=”http://plone.org/development/teams/framework/framework-team/”>current member of the Plone `framework team’</a>.&nbsp; Raphael and I have actually worked together a bit before on his rather fantastic <a href=”http://plone.org/products/cmfbibliographyat/”>CMFBibliographyAT project</a>.<br /><br />That means he’s kept my code in line a few times before ;-) .<br />

Tim Hicks: My Mentor

Originally from Planet Plone by Tim Hicks


from Yoda http://plonewars.com/2007/07/24/tim-hicks-my-mentor/







July 24th, 2007

Tim Hicks: Status update

I haven’t made any Quills checkins for the past couple of days, so I thought I’d explain the current status of my main development branch (<a href=”http://dev.plone.org/collective/browser/Quills/branches/maurits-traversal/”>maurits-traversal</a>).<br /><br />As I <a href=”http://quills.sitefusion.co.uk/blog/archive/2007/06/02/ipublishtraverse-and-a-plone-3-dependency”>mentioned before</a>, there is now a hard dependency on Plone 3.&nbsp; After chatting to Derek Richardson about his work on <a href=”http://dev.plone.org/collective/browser/Vice”>Vice</a>, this seems even more inevitable as that is likely to have a Plone 3 dependency as well.&nbsp; (Vice is the new, improved, outbound syndication code that will replace base/fatsyndication as soon as it’s ready.)<br /><br />So, onto the current specifics of the maurits-traversal branch.&nbsp; WeblogArchive has been removed and posts are now stored directly within the Weblog object.&nbsp; This means that the “evil” workflow that would cut-and-paste weblog entries into a hierarchy of archive folders is now gone too.&nbsp; Yay!&nbsp; The previous folder hierarchy of the form “[weblog]/archive/2007/06/13/entry_id” is now `faked’ with an IPublishTraverse adapter.<br /><br />Not only is the banishment of “evil” inherently good, but removal of the custom workflow makes it possible to be more Plone-ish in the operation of a Quills blog.&nbsp; The use of standard Plone author/editor roles should now be possible as weblog entries don’t need to be (implicitly) deleted during the publish step.&nbsp; So, the WeblogAuthorRole should now be superfluous.<br /><br />The main thing stopping me from merging this branch to the trunk is a security issue that means it is necessary to declare __allow_access_to_unprotected_subobjects__ = True on the (non-persistent) topic and archive classes.&nbsp; This is obviously a bad thing as it competely circumvents security.&nbsp; For some reason, security and/or the acquisition chain seems to get a bit screwy when the new plone.portlets code gets invoked.&nbsp; At first, I thought this was something to do with my traversal of non-persistent, non-standard-plone, objects, but Martin Aspeli recognised my traceback as something he’s trying to chase down in a different context (pardon the pun).&nbsp; Hopefully, he can figure out what’s going wrong as I’ve been all through things in a pdb session, and am still none-the-wise.<br /><br />The other notable change on the branch is that QuillsTool has now been removed.&nbsp; In its place is a view that has all the same methods, plus some extra ones factored out from over-complicated skin templates.&nbsp; I’m not completely convinced that the view is the right place for all these methods, though, so a utility may grow back at some point.<br /><br />The upshot of all this is that the maurits-traversal branch should be in a state for people to check out and give a test run to (as long as you understand it is pre-alpha).&nbsp; Migrations are not there (yet), so you’ll have to use a fresh instance.&nbsp; Unit tests almost certainly don’t pass, either.&nbsp; They probably need quite a lot of work after the major surgery that has happened…<br /><br /><br />That’s it for now.<br />

Tim Hicks: Status update

Originally from Planet Plone by Tim Hicks


from Yoda http://plonewars.com/2007/07/24/tim-hicks-status-update/







July 24th, 2007

Tim Hicks: Status Update 2

<h3>Traversal Security Bug</h3>
First, I <i>think</i> I have partly tracked down what the security problem is that requires the use of __allow_acess_to_unprotected_subobjects__ on the archive and topic classes. After another pdb session, it seems that those classes do not have a __roles__ attribute, which the Zope security machinery wants, apparently. Actually, I think it’s more than that. Even when I add a workaround of __roles__ = Acquisition.Acquired (so that the attribute is just picked up from the next persistent object it finds), things don’t work properly as the security machinery chokes a little further down the line.<br /><br />My best guess at the moment is that InitializeClass isn’t getting called (properly?) by the Five ZCML handler for this. That’s my next avenue of investigation.<br /><br />
<h3>Remote Authoring (aka MetaWeblogAPI)</h3>
The other news is that I’ve started refactoring the MetaWeblogAPI support into separate packages that implement the API with a view rather than a persistent subobject of Weblogs. This should make it easier to disable the functionality, and easier to apply it to alternative content types.<br /><br />As things stand, I have a PAS IExtractionPlugin that gets user credentials from a MetaWeblog request, and a view that is largely a copy-n-paste job from the existing MetaWeblog implementation.<br /><br />Some issues remain, though. While I can add the blog successfully with ScribeFire (nee Performancing) – which means at least one MetaWeblogAPI method is getting called without problem – attempts then to get category listings or otherwise use the API fail with a security error.<br /><br />None of this is checked in to svn, yet. I will do so as and when it gets a little more polished.<br />

Tim Hicks: Status Update 2

Originally from Planet Plone by Tim Hicks


from Yoda http://plonewars.com/2007/07/24/tim-hicks-status-update-2/







July 24th, 2007

Tim Hicks: MetaWeblog API view-ified

I made some good progress today.&nbsp; With a bunch of checkins (still on the maurits-traversal branch), I removed the old MetaWeblogAPI code that worked by adding persistent attributes called ‘metaWeblog’ and ‘blogger’ to Weblog instances.<br /><br />This was achieved by implementing ‘metaWeblog’ and ‘blogger’ as a (i.e. the same) view, instead.&nbsp; The view is currently implemented in <a href=”http://dev.plone.org/collective/browser/quills.remoteblogging/”>quills.remoteblogging</a>, together with a PAS plugin to extract user credentials from a MetaWeblog request (<a href=”http://dev.plone.org/collective/browser/PASPlugins/MetaWeblogPASPlugin/”>MetaWeblogPASPlugin</a>).<br /><br />I’m not completely comfortable with the code layout at the moment.&nbsp; I’m wondering if there should be another layer of abstraction such that the default metaWeblog implementation adapts to, say, IEditableWeblog which would provide addEntry, deleteEntry, etc.&nbsp; That might make it easier to implement other remote blogging APIs (like Atom), which presumably call equivalent methods (but with different names).&nbsp; It might also make it easier for others to reuse the remote blogging functionality for other content types as well.<br /><br />Something to think about…<br />

Tim Hicks: MetaWeblog API view-ified

Originally from Planet Plone by Tim Hicks


from Yoda http://plonewars.com/2007/07/24/tim-hicks-metaweblog-api-view-ified/







July 24th, 2007

Tim Hicks: Developments and barrier to merging to trunk

<div><br />I haven’t made a status update in a while, so here goes…<br /><br />Things have moved on fairly well since my last post here.&nbsp; The <a href=”http://quills.sitefusion.co.uk/blog/archive/2007/06/08/status-update-2″>traversal security bug</a> is now resolved, albeit not in the way I thought it would be.&nbsp; I won’t provide the gory details here, but suffice it to say I ended up having to write a class named “<a href=”http://dev.plone.org/collective/browser/Quills/branches/maurits-traversal/utilities.py”>EvilAATUSHack</a>” ;-) .<br /><br />Remote authoring (aka MetaWeblogAPI) has seen some more refactoring based on improved – well, “revised”, at least – interfaces for weblogs and weblog entries.&nbsp; MetaWeblogAPI should now be completely generic and pluggable, such that it only depends on interfaces defined in quills.core and quills.remoteblogging.&nbsp; As a consequence, it should be reusable by other projects – be they Archetypes- or pure Zope3-based.&nbsp; Well, that’s the idea, anyway.<br /><br />These changes leave the maurits-traversal branch in pretty good shape.&nbsp; One obvious problem is that I’ve made no effort either to update the old Quills tests, or to include any new ones for the new interfaces/functionality.&nbsp; To be generous to myself, those interfaces have been in a state of flux.&nbsp; Anyway, I don’t consider that a barrier to merging maurits-traversal to trunk.<br /><br />The real barrier is a <a href=”http://www.zope.org/Collectors/Zope/2333/”>bug I discovered in Five</a> that means security declarations for interfaces miss out method names that are inherited from interface superclasses.&nbsp; This is a pain, and a trivial fix if anyone with commit rights to svn.zope.org is reading this…<br /><br /></div>

Tim Hicks: Developments and barrier to merging to trunk

Originally from Planet Plone by Tim Hicks


from Yoda http://plonewars.com/2007/07/24/tim-hicks-developments-and-barrier-to-merging-to-trunk/







July 24th, 2007

Internet Archive: Details: Plone Conference 2006: Why Plone? Confessions of an NGO

Internet Archive: Details: Plone Conference 2006: Why Plone? Confessions of an NGO

Originally from del.icio.us/tag/plone by twsclips


from Yoda http://plonewars.com/2007/07/24/internet-archive-details-plone-conference-2006-why-plone-confessions-of-an-ngo/







July 24th, 2007

Membrane — Plone CMS: Open Source Content Management

Making it easy to support Members as content types in Plone.

Membrane — Plone CMS: Open Source Content Management

Originally from del.icio.us/tag/plone by luisromangz


from Yoda http://plonewars.com/2007/07/24/membrane-%e2%80%94-plone-cms-open-source-content-management/







July 24th, 2007

CMS code base comparison | Dries Buytaert [del.icio.us]

Dries summarizes some codebase statistics from Ohloh.net: short answer, Drupal is lean and mean and well commented — it’s smaller than even Wordpress

CMS code base comparison | Dries Buytaert [del.icio.us]

Originally from Most recent posts on plone – Quality Blog Search – Strategicboard by B.Mann Consulting blogs


from Yoda http://plonewars.com/2007/07/24/cms-code-base-comparison-dries-buytaert-delicious/







July 24th, 2007

Documentation

The primary source for Plone documentation.

Documentation

Originally from Most recent posts on plone – Quality Blog Search – Strategicboard by plone.org


from Yoda http://plonewars.com/2007/07/24/documentation/







July 24th, 2007

Sharkbyte Studios: Plone Workshop

This workshop covers everything you need to know to use, customise, and develop Plone sites.

Sharkbyte Studios: Plone Workshop

Originally from Most recent posts on plone – Quality Blog Search – Strategicboard by Training Announcements


from Yoda http://plonewars.com/2007/07/24/sharkbyte-studios-plone-workshop/