Tips for Migrating Apps to Plone Calvin Hendryx Parker Tips
Document Sample


Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Tips for Migrating Apps to
Plone 3
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Questions?
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
How Do We Get There?
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Zope Won’t Start
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Deprecated Methods and Imports
• Products.CMFCore.CMFPermissions
Products.CMFCore.permissions
• Products.CMFPlone.utils.BrowserView
Products.Five.BrowserView
• toPortalTime finally gone
• toLocalizedTime now in the @@plone view
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Getting Current
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Update your type info
• Remove Sharing Tab
• Remove Properties Tab
• Add Lock Awareness to the Edit Tab
condition_expr="not:object/
@@plone_lock_info/
is_locked_for_current_user|python:True"
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Life Changing Decisions
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Taking Advantage of Zope 3
• View Classes
• Create Utilities instead of Portal Tools
• Use MenuItems to add custom Actions
• Zope 3 Events
manage_afterAdd
manage_beforeDelete
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
ZCML
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
<configure
xmlns="http://namespaces.zope.org/zope">
<subscriber
for="Products.OER.interfaces.IOERItem
OFS.interfaces.IObjectWillBeRemovedEvent"
handler=".subscribers.deleteSubmissions"/>
<subscriber
for="Products.OER.interfaces.IOERTag
zope.app.event.interfaces.IObjectModifiedEvent"
handler=".subscribers.checkTags"/>
<subscriber
for="Products.OER.interfaces.IOERSubmission
OFS.interfaces.IObjectWillBeAddedEvent"
handler=".subscribers.changeStateHomeFolder"/>
</configure>
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
def deleteSubmissions(self, event):
"""
Delete the submissions attached to the object we just come from deleting
"""
item = event.object
# we delete the tags/ratings/reviews/notes associated with this item
ps = getToolByName(self, 'portal_submissions')
pc = getToolByName(self, 'portal_catalog')
targets = ps.getTargets(item)
...
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
GenericSetup
• Replaces Customization Policies
• Replaces the old Install.py for QuickInstaller
• Upgrade Steps
Versatile One Time Steps
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
i18n_domain="plone">
<genericsetup:registerProfile
name="default"
title="AdvancedDocument Profile"
directory="profiles/default"
description="Extension profile for the AdvancedDocument Product"
provides="Products.GenericSetup.interfaces.EXTENSION"
/>
<genericsetup:upgradeStep
title="Update Catalog"
description="Update the Catalog"
source="0.4"
destination="0.5"
handler="Products.AdvancedDocument.upgrades.updatecatalog.updateCatalog"
sortkey="1"
profile="Products.AdvancedDocument:default"
/>
</configure>
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Setting up Versioning
• GenericSetup export/import broken
• Setup via a setup handler
• Register via your product
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
<?xml version="1.0"?>
<import-steps>
<import-step id="versioningsetup" version="20070828-01"
handler="Products.AdvancedDocument.exportimport.versioningsetup.versioningSetup"
title="Versioning Setup">
<dependency step="content"/>
Add versioning on our selected content types
</import-step>
</import-steps>
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
def versioningSetup(context):
"""Setup portal_factory
"""
site = context.getSite()
portal_repository = getToolByName(site, 'portal_repository')
portal_diff = getToolByName(site, 'portal_diff')
versionable_types = list(portal_repository.getVersionableContentTypes())
type_ids = ['AdvancedDocument', ]
for type_id in type_ids:
if type_id not in versionable_types:
versionable_types.append(type_id)
for policy_id in DEFAULT_POLICIES:
portal_repository.addPolicyForContentType(type_id, policy_id)
diff_res = portal_diff.getDiffForPortalType(type_id)
if not diff_res:
portal_diff.manage_addDiffField(type_id, 'any', 'Compound Diff for AT types')
portal_repository.setVersionableContentTypes(versionable_types)
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
People Skills
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
GRUF and PAS
• PAS added as default in 2.5
• GRUF completely removed in 3.0
• User and Group Searching Done via PAS
directly
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
New Roles
• Reader
• Editor
• Contributor
Add your custom add permissions to this role
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Portlets
• Viewlets
• Viewlet Manager
• Classic Portlet
Performance Issues
left and right slots properties gone
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
<configure xmlns="http://namespaces.zope.org/zope"
xmlns:plone="http://namespaces.plone.org/plone">
<plone:portlet
name="portlets.Ads"
interface=".portlets.ads.IAdPortlet"
assignment=".portlets.ads.Assignment"
renderer=".portlets.ads.Renderer"
addview=".portlets.ads.AddForm"
editview=".portlets.ads.EditForm"
/>
</configure>
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Leverage Other New
Features
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Additional Markup and Field
Support
• textile
• markdown
• wiki style linking
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Don’t Forget the Basics
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Catalog Enhancements
• ExtendedPathIndex
• New Date Indexes
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Leverage the Registries
• CSS
• Javascript
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007
Questions?
Six Feet Up, Inc. • http://www.sixfeetup.com Silicon Valley • Midwest
Related docs
Get documents about "