Tips for Migrating Apps to Plone Calvin Hendryx Parker Tips by latenightwaitress

VIEWS: 5 PAGES: 29

									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

								
To top