SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                   Tips for Migrating Apps to
                             Plone 3



                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                                                Questions?




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                        How Do We Get There?




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                                    Zope Won’t Start




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
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


                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                                        Getting Current




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
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=quot;not:object/
                           @@plone_lock_info/
                           is_locked_for_current_user|python:Truequot;




                                                                     Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                        Life Changing Decisions




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
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



                                                                 Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker                     10.11.2007




                                                             ZCML




                                                                    Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker                                   10.11.2007




                     <configure
                       xmlns=quot;http://namespaces.zope.org/zopequot;>

                         <subscriber
                           for=quot;Products.OER.interfaces.IOERItem
                                OFS.interfaces.IObjectWillBeRemovedEventquot;
                           handler=quot;.subscribers.deleteSubmissionsquot;/>

                         <subscriber
                           for=quot;Products.OER.interfaces.IOERTag
                                zope.app.event.interfaces.IObjectModifiedEventquot;
                           handler=quot;.subscribers.checkTagsquot;/>

                       <subscriber
                          for=quot;Products.OER.interfaces.IOERSubmission
                               OFS.interfaces.IObjectWillBeAddedEventquot;
                          handler=quot;.subscribers.changeStateHomeFolderquot;/>

                     </configure>



                                                                                  Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker                                      10.11.2007




            def deleteSubmissions(self, event):
                quot;quot;quot;
                Delete the submissions attached to the object we just come from deleting
                quot;quot;quot;
                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)
                  ...




                                                                                     Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
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




                                                                Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker                                     10.11.2007




          <configure
              xmlns=quot;http://namespaces.zope.org/zopequot;
              xmlns:genericsetup=quot;http://namespaces.zope.org/genericsetupquot;
              i18n_domain=quot;plonequot;>

             <genericsetup:registerProfile
                 name=quot;defaultquot;
                 title=quot;AdvancedDocument Profilequot;
                 directory=quot;profiles/defaultquot;
                 description=quot;Extension profile for the AdvancedDocument Productquot;
                 provides=quot;Products.GenericSetup.interfaces.EXTENSIONquot;
                 />

            <genericsetup:upgradeStep
                title=quot;Update Catalogquot;
                description=quot;Update the Catalogquot;
                source=quot;0.4quot;
                destination=quot;0.5quot;
                handler=quot;Products.AdvancedDocument.upgrades.updatecatalog.updateCatalogquot;
                sortkey=quot;1quot;
                profile=quot;Products.AdvancedDocument:defaultquot;
                />
          </configure>

                                                                                    Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
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




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker                                  10.11.2007




     <?xml version=quot;1.0quot;?>
     <import-steps>

      <import-step id=quot;versioningsetupquot; version=quot;20070828-01quot;
           handler=quot;Products.AdvancedDocument.exportimport.versioningsetup.versioningSetupquot;
           title=quot;Versioning Setupquot;>
           <dependency step=quot;contentquot;/>
           Add versioning on our selected content types
      </import-step>

     </import-steps>




                                                                                 Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker                                  10.11.2007




  def versioningSetup(context):
      quot;quot;quot;Setup portal_factory
      quot;quot;quot;
      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)




                                                                                 Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker                10.11.2007




                                               People Skills




                                                               Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
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




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
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




                                                                   Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
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




                                                                  Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker                                      10.11.2007




                       <configure xmlns=quot;http://namespaces.zope.org/zopequot;
                                  xmlns:plone=quot;http://namespaces.plone.org/plonequot;>

                          <plone:portlet
                            name=quot;portlets.Adsquot;
                            interface=quot;.portlets.ads.IAdPortletquot;
                            assignment=quot;.portlets.ads.Assignmentquot;
                            renderer=quot;.portlets.ads.Rendererquot;
                            addview=quot;.portlets.ads.AddFormquot;
                            editview=quot;.portlets.ads.EditFormquot;
                            />

                       </configure>




                                                                                     Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                              Leverage Other New
                                   Features



                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                Additional Markup and Field
                          Support
                •     textile
                •     markdown
                •     wiki style linking




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                        Don’t Forget the Basics




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                         Catalog Enhancements
                •     ExtendedPathIndex
                •     New Date Indexes




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                        Leverage the Registries
                •     CSS
                •     Javascript




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com
Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker              10.11.2007




                                                Questions?




                                                             Silicon Valley • Midwest
Six Feet Up, Inc. • http://www.sixfeetup.com

Más contenido relacionado

Más de Vincenzo Barone

Alec Mitchell Relationship Building Defining And Querying Complex Relatio...
Alec Mitchell   Relationship Building   Defining And Querying Complex Relatio...Alec Mitchell   Relationship Building   Defining And Querying Complex Relatio...
Alec Mitchell Relationship Building Defining And Querying Complex Relatio...
Vincenzo Barone
 
Brent Lambert Plone In Education A Case Study Of The Use Of Plone And Educa...
Brent Lambert   Plone In Education A Case Study Of The Use Of Plone And Educa...Brent Lambert   Plone In Education A Case Study Of The Use Of Plone And Educa...
Brent Lambert Plone In Education A Case Study Of The Use Of Plone And Educa...
Vincenzo Barone
 

Más de Vincenzo Barone (20)

Sally Kleinfeldt - Plone Application Development Patterns
Sally Kleinfeldt - Plone Application Development PatternsSally Kleinfeldt - Plone Application Development Patterns
Sally Kleinfeldt - Plone Application Development Patterns
 
Where's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind PloneWhere's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind Plone
 
ItalianSkin: an improvement in the accessibility of the Plone interface in or...
ItalianSkin: an improvement in the accessibility of the Plone interface in or...ItalianSkin: an improvement in the accessibility of the Plone interface in or...
ItalianSkin: an improvement in the accessibility of the Plone interface in or...
 
How to market Plone the Web2.0 way
How to market Plone the Web2.0 wayHow to market Plone the Web2.0 way
How to market Plone the Web2.0 way
 
Lennart Regebro What Zope Did Wrong (And What To Do Instead)
Lennart Regebro   What Zope Did Wrong (And What To Do Instead)Lennart Regebro   What Zope Did Wrong (And What To Do Instead)
Lennart Regebro What Zope Did Wrong (And What To Do Instead)
 
Wichert Akkerman Plone Deployment Practices The Plone.Org Setup
Wichert Akkerman   Plone Deployment Practices   The Plone.Org SetupWichert Akkerman   Plone Deployment Practices   The Plone.Org Setup
Wichert Akkerman Plone Deployment Practices The Plone.Org Setup
 
Duco Dokter - Plone for the enterprise market: technical musing on caching, C...
Duco Dokter - Plone for the enterprise market: technical musing on caching, C...Duco Dokter - Plone for the enterprise market: technical musing on caching, C...
Duco Dokter - Plone for the enterprise market: technical musing on caching, C...
 
Rocky Burt Subtyping Unleashed
Rocky Burt   Subtyping UnleashedRocky Burt   Subtyping Unleashed
Rocky Burt Subtyping Unleashed
 
Alec Mitchell Relationship Building Defining And Querying Complex Relatio...
Alec Mitchell   Relationship Building   Defining And Querying Complex Relatio...Alec Mitchell   Relationship Building   Defining And Querying Complex Relatio...
Alec Mitchell Relationship Building Defining And Querying Complex Relatio...
 
Wageindicator Foundation: a Case Study
Wageindicator Foundation: a Case StudyWageindicator Foundation: a Case Study
Wageindicator Foundation: a Case Study
 
Tom Lazar Using Zope3 Views And Viewlets For Plone 3.0 Product Development
Tom Lazar   Using Zope3 Views And Viewlets For Plone 3.0 Product DevelopmentTom Lazar   Using Zope3 Views And Viewlets For Plone 3.0 Product Development
Tom Lazar Using Zope3 Views And Viewlets For Plone 3.0 Product Development
 
Xavier Heymans Plone Gov Plone In The Public Sector. Panel Presenting The...
Xavier Heymans   Plone Gov   Plone In The Public Sector. Panel Presenting The...Xavier Heymans   Plone Gov   Plone In The Public Sector. Panel Presenting The...
Xavier Heymans Plone Gov Plone In The Public Sector. Panel Presenting The...
 
Brent Lambert Plone In Education A Case Study Of The Use Of Plone And Educa...
Brent Lambert   Plone In Education A Case Study Of The Use Of Plone And Educa...Brent Lambert   Plone In Education A Case Study Of The Use Of Plone And Educa...
Brent Lambert Plone In Education A Case Study Of The Use Of Plone And Educa...
 
Philipp Von Weitershausen Plone Age Mammoths, Sabers And Caveen Cant The...
Philipp Von Weitershausen   Plone Age  Mammoths, Sabers And Caveen   Cant The...Philipp Von Weitershausen   Plone Age  Mammoths, Sabers And Caveen   Cant The...
Philipp Von Weitershausen Plone Age Mammoths, Sabers And Caveen Cant The...
 
Denis Mishunov Making Plone Theme 10 Most Wanted Tips
Denis Mishunov   Making Plone Theme   10 Most Wanted Tips Denis Mishunov   Making Plone Theme   10 Most Wanted Tips
Denis Mishunov Making Plone Theme 10 Most Wanted Tips
 
Duncan Booth Kupu, Past Present And Future
Duncan Booth   Kupu, Past Present And FutureDuncan Booth   Kupu, Past Present And Future
Duncan Booth Kupu, Past Present And Future
 
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
 
Jared Whitlock Open Source In The Enterprise Plone @ Novell
Jared Whitlock   Open Source In The Enterprise    Plone @ NovellJared Whitlock   Open Source In The Enterprise    Plone @ Novell
Jared Whitlock Open Source In The Enterprise Plone @ Novell
 
Paul Everitt Community And Foundation Plones Past, Present, Future
Paul Everitt   Community And Foundation   Plones Past, Present, Future Paul Everitt   Community And Foundation   Plones Past, Present, Future
Paul Everitt Community And Foundation Plones Past, Present, Future
 
Thomas Moroz Open Source And The Open Society Using Plone To Build Commun...
Thomas Moroz   Open Source And The Open Society   Using Plone To Build Commun...Thomas Moroz   Open Source And The Open Society   Using Plone To Build Commun...
Thomas Moroz Open Source And The Open Society Using Plone To Build Commun...
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

Calvin Hendryx Parker Tips For Migrating Apps To Plone 3

  • 1. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Tips for Migrating Apps to Plone 3 Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 2. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Questions? Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 3. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 How Do We Get There? Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 4. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Zope Won’t Start Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 5. 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 Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 6. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Getting Current Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 7. 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=quot;not:object/ @@plone_lock_info/ is_locked_for_current_user|python:Truequot; Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 8. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Life Changing Decisions Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 9. 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 Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 10. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 ZCML Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 11. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 <configure xmlns=quot;http://namespaces.zope.org/zopequot;> <subscriber for=quot;Products.OER.interfaces.IOERItem OFS.interfaces.IObjectWillBeRemovedEventquot; handler=quot;.subscribers.deleteSubmissionsquot;/> <subscriber for=quot;Products.OER.interfaces.IOERTag zope.app.event.interfaces.IObjectModifiedEventquot; handler=quot;.subscribers.checkTagsquot;/> <subscriber for=quot;Products.OER.interfaces.IOERSubmission OFS.interfaces.IObjectWillBeAddedEventquot; handler=quot;.subscribers.changeStateHomeFolderquot;/> </configure> Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 12. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 def deleteSubmissions(self, event): quot;quot;quot; Delete the submissions attached to the object we just come from deleting quot;quot;quot; 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) ... Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 13. 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 Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 14. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 <configure xmlns=quot;http://namespaces.zope.org/zopequot; xmlns:genericsetup=quot;http://namespaces.zope.org/genericsetupquot; i18n_domain=quot;plonequot;> <genericsetup:registerProfile name=quot;defaultquot; title=quot;AdvancedDocument Profilequot; directory=quot;profiles/defaultquot; description=quot;Extension profile for the AdvancedDocument Productquot; provides=quot;Products.GenericSetup.interfaces.EXTENSIONquot; /> <genericsetup:upgradeStep title=quot;Update Catalogquot; description=quot;Update the Catalogquot; source=quot;0.4quot; destination=quot;0.5quot; handler=quot;Products.AdvancedDocument.upgrades.updatecatalog.updateCatalogquot; sortkey=quot;1quot; profile=quot;Products.AdvancedDocument:defaultquot; /> </configure> Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 15. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 16. 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 Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 17. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 <?xml version=quot;1.0quot;?> <import-steps> <import-step id=quot;versioningsetupquot; version=quot;20070828-01quot; handler=quot;Products.AdvancedDocument.exportimport.versioningsetup.versioningSetupquot; title=quot;Versioning Setupquot;> <dependency step=quot;contentquot;/> Add versioning on our selected content types </import-step> </import-steps> Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 18. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 def versioningSetup(context): quot;quot;quot;Setup portal_factory quot;quot;quot; 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) Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 19. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 People Skills Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 20. 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 Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 21. 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 Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 22. 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 Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 23. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 <configure xmlns=quot;http://namespaces.zope.org/zopequot; xmlns:plone=quot;http://namespaces.plone.org/plonequot;> <plone:portlet name=quot;portlets.Adsquot; interface=quot;.portlets.ads.IAdPortletquot; assignment=quot;.portlets.ads.Assignmentquot; renderer=quot;.portlets.ads.Rendererquot; addview=quot;.portlets.ads.AddFormquot; editview=quot;.portlets.ads.EditFormquot; /> </configure> Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 24. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Leverage Other New Features Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 25. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Additional Markup and Field Support • textile • markdown • wiki style linking Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 26. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Don’t Forget the Basics Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 27. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Catalog Enhancements • ExtendedPathIndex • New Date Indexes Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 28. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Leverage the Registries • CSS • Javascript Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com
  • 29. Tips for Migrating Apps to Plone 3 - Calvin Hendryx-Parker 10.11.2007 Questions? Silicon Valley • Midwest Six Feet Up, Inc. • http://www.sixfeetup.com