Removed from the Plone3 version:
Migrate from Plone3 to Plone4
The remove of iw.fss was not that simple. after reading some thread I have found a python snippet and adapted to this usecase.
def upgrade_fss2attr_storage(portal_setup): """We use fss on plone3, so we need first to come back to default plone so the migration of plone will next do the job to go on blob""" site = portal_setup.aq_parent #fss2attributestorage from cStringIO import StringIO from Products.Archetypes.Storage import AttributeStorage from iw.fss.FileSystemStorage import FileSystemStorage # attr_storage = AttributeStorage() fss_storage = FileSystemStorage() catalog = getToolByName(site, 'portal_catalog') brains = catalog(portal_type="File") files = [b.getObject() for b in brains] brains = catalog(portal_type="Image") images = [b.getObject() for b in brains] def migrateFile(f): field = f.Schema()['file'] content = StringIO(str(fss_storage.get('file', f))) fss_storage.unset('file', f) field.set(f, content) def migrateImage(img): field = img.Schema()['image'] try: content = StringIO(str(fss_storage.get('image', img))) except AttributeError: logger.error('img %s has no image attribute'%img) return fss_storage.unset('image', img) field.set(img, content) for f in files: migrateFile(f) for img in images: migrateImage(img)
This migration has been triggered by the need of a new theme. The theme use 960 grid system with the brand new theming engine of Plone: plone.app.theming. This is my second Plone theme done with plone.app.theming. My opinion is it is not a full theming engine but a great tools to create simple theme but you will always need to add viewlets, to rewrite a template and doing 'old' theming stuff. I mean understanding skin directory, browser view, etc...
I have tested a lots of add-ons, create some, review others, improving, doing bug reports, but also added some integration.
I have added integration between collective.addthis and collective.googleanalytics so any sharings are pushed as social event in GA.
Varnish is used as proxy cache and integrated using plone.app.caching. I have reported a bug concerning the toggle visibility of portlets which doesn't play well with varnish.
SugarCRM is now used at many levels: login, contact portlet, lead form (PloneFormGen->SugarCRM) and contact/account viewlet throw the use of collective.sugarcrm.
TinyMCE 1.3 is used providing a customization: the configuration is not the same for administrator and for contributor. This version is working great but need to be tested more & more, so please, clone the master in your project and contribute to it.
If you have any questions you can contact me: toutpt at gmail dot com.