Slideshow transcript
Slide 1: Subtyping Unleased! Speaker: Rocky Burt
Slide 2: Who I Am Rocky Burt ServerZen Software http://www.serverzen.com Subtyping Unleased! Slide 2 Plone Conference 2007 – Naples
Slide 3: Subtyping? Narrow classification Functionality hook Subtyping Unleased! Slide 3 Plone Conference 2007 – Naples
Slide 4: Why Subtype? Many possible faces for an existing content type Simple conversion Delayed specification Subtyping Unleased! Slide 4 Plone Conference 2007 – Naples
Slide 5: Use Cases Need different content identity depending on situation Need some way to transform identity based on event reaction Subtyping Unleased! Slide 5 Plone Conference 2007 – Naples
Slide 6: p4a.subtyper Minimal framework Hooks up subtypes into content menu Subtyping Unleased! Slide 6 Plone Conference 2007 – Naples
Slide 7: An Example: Setting up p4a.subtyper easy_install p4a.subtyper Subtyping Unleased! Slide 7 Plone Conference 2007 – Naples
Slide 8: An Example: Creating New Package p4a.subtyperdemo Example source at: http://www.plone4artists.org /svn/projects/p4a.subtyperdemo/ Subtyping Unleased! Slide 8 Plone Conference 2007 – Naples
Slide 9: An Example: Sub-type Marker Interface New module named interfaces New interface named IUltraDoc Subtyping Unleased! Slide 9 Plone Conference 2007 – Naples
Slide 10: An Example: Sub-type Marker Interface class IUltraDoc(interface.Interface): \"\"\"A new ultra document subtype.\"\"\" interface.alsoProvides(IUltraDoc, IContentType) Subtyping Unleased! Slide 10 Plone Conference 2007 – Naples
Slide 11: An Example: Sub-type Descriptor New module named descriptors New descriptor named UltraDocDescriptor Subtyping Unleased! Slide 11 Plone Conference 2007 – Naples
Slide 12: An Example: Sub-type Descriptor class UltraDocDescriptor(object): implements(IPortalTypedDescriptor) title = u'Ultra Doc' description = u'New ultra style '\\ u'document.' type_interface = IUltraDoc for_portal_type = 'Document Subtyping Unleased! Slide 12 Plone Conference 2007 – Naples
Slide 13: An Example: New View New template called ultradoc.pt Subtyping Unleased! Slide 13 Plone Conference 2007 – Naples
Slide 14: An Example: New View <div metal:fill-slot=\"main\"> <h2>This is an ultradoc!</h2> <h3 tal:content=\"context/Title\"></h3> <p tal:content=\"context/Description\"></p> </div> Subtyping Unleased! Slide 14 Plone Conference 2007 – Naples
Slide 15: An Example: Tying Together – ZCML Register descriptor as utility Hook new view up applying to marker interface Subtyping Unleased! Slide 15 Plone Conference 2007 – Naples
Slide 16: An Example: Tying Together – ZCML <utility name=\"ultradoc\" factory=\".descriptors.UltraDocDescriptor\" /> <browser:page for=\".interfaces.IUltraDoc\" name=\"document_view\" permission=\"zope2.View\" template=\"ultradoc.pt\" /> Subtyping Unleased! Slide 16 Plone Conference 2007 – Naples
Slide 17: An Example: Before Subtyping Unleased! Slide 17 Plone Conference 2007 – Naples
Slide 18: An Example: After Subtyping Unleased! Slide 18 Plone Conference 2007 – Naples
Slide 19: An Example: Regular Content Subtyping Unleased! Slide 19 Plone Conference 2007 – Naples
Slide 20: Other Features Special subtype events Extension by adapters and schema's Subtyping Unleased! Slide 20 Plone Conference 2007 – Naples
Slide 21: Conclusion Questions? Comments? Resources at: http://www.serverzen.com /training/subtyping-unleashed Subtyping Unleased! Slide 21 Plone Conference 2007 – Naples



Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 2 (more)