SlideShare a Scribd company logo
1 of 10
Download to read offline
Plone Application Development Patterns                                 file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html




                  Plone Application Development Patterns
          Sally Kleinfeldt, The Nature Conservancy

          October 2007 -- Naples



          Overview
               Background
               First application: ConPro
               Second application: EAST
               Pattern Library
               Questions


          The Nature Conservancy
               Environmental nonprofit protecting ecologically important lands and waters
               Science-based approach
               117 million acres protected
               1 million members
               Work in 50 states and 30 countries
               3,000 employees


          Background - Technology
               Traditional IT shop
                    Supporting HR, Finance, database applications
                    Plus creating conservation applications
               Adopted Zope in 2000
                    Nature.org, intranet, internal applications
                    ZMI development, RDB storage


          Background - Technology
               Adopted Plone in 2004
                   ConserveOnline.org, internal applications
                   Filesystem development, RDB or ZODB storage


          Background - Applications
               Spatial and non-spatial
               Mix of data and content
               Users, roles, permissions important


1 of 10                                                                                                           11/1/07 5:52 PM
Plone Application Development Patterns                                    file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html


               Workflow sometimes
               Increasing need for custom applications for conservation
               Increasing need for cross-application integration


          ConPro - What Is It
               System to manage structured and unstructured information about our conservation projects
               Information previously managed in complex Excel spreadsheets, and associated documents, often
               in the field
               Need for import, export, versioning, locking, security, search


          ConPro - Requirements
               50+ page functional requirements
               Assumption of relational storage for ad hoc SQL queries
               Spreadsheet dictated the data model
               Users defined edit screen mockups based on the spreadsheet
               Versioning, security, workflow requirements less clear


          ConPro - Data Model
          Customer-specified data model for RDB was very complex.




          ConPro - Development
               Plone chosen for compatibility with ConserveOnline
               Unable to hire expert consultant to guide development


2 of 10                                                                                                              11/1/07 5:52 PM
Plone Application Development Patterns                                 file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html


               Initial focus on spreadsheet import/export, SQL methods, edit forms
               Design of classes, security, overall application left until the end


          ConPro - Development
               Archetypes stub objects for object security, the rest hand crafted SQL methods and page templates;
               workflow not used
               Customers changed their minds midstream about data model and edit forms
               Rescued by Plone experts and much effort


          ConPro - Results
               Late and overbudget - 30 person months
               ~400 hand written SQL methods
               50 hand written edit, display, report forms
               Ad hoc SQL queries never implemented
               Difficult to maintain and extend
               Big success with users!


          ConPro - Home Page




3 of 10                                                                                                           11/1/07 5:52 PM
Plone Application Development Patterns                          file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html



          ConPro - Project Info Page




          ConPro - Project Info Page
          Turn it on its side - here's all the information...




          ConPro - Project Viability




4 of 10                                                                                                    11/1/07 5:52 PM
Plone Application Development Patterns                                  file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html




          ConPro - Project Viability
          Turn it on its side - here's all the information...




          ConPro - Lessons
                Avoid excessive requirements phase for new/unclear applications
                Users should not dictate technology decisions
                Relational storage increases cost, avoid if possible
                Have guidance from experts on your first project, learn to do things The Plone Way
                Start with classes, security, overall application functioning; page templates later


          EAST - What Is It

5 of 10                                                                                                            11/1/07 5:52 PM
Plone Application Development Patterns                                  file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html


               Ecoregional Assessment Status Tool
               ERA: science-based analysis of an ecoregion to determine highest value areas for conservation
               New system for management to track status of this work
               <200 assessments, each with <20 attributes


          EAST - Requirements
               Well understood application
                    Initial version done in pure Zope prior to ConPro
               Informal project driven by developer to re-implement The Plone Way
               Customer flexible, no technology assumptions
               Simple application


          EAST - Class Diagram
          Developer and customer created the UML diagram together.




          EAST - Development
               Archetypes content types with ZODB storage
               UML modeling with ArchGenXML generating starter product
               Security and UI refinements added (listing, search, reports, view)


          EAST - Results
               1 week to develop
               2 content types, 23 page templates, workflow to track status


6 of 10                                                                                                            11/1/07 5:52 PM
Plone Application Development Patterns                               file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html


               Easy to maintain and extend
               Big success with users!

          Customer: quot;This has been my most pleasant development experience everquot;


          EAST - ERA Page




          Learning Lessons
               Our technology choices had been haphazard
               Need to base decisions on what works in our environment
               Consistency
               Repeatable development results


          Application Patterns
               Solution: define quot;application patternsquot;
                    A set of components, technologies, and tools
                    Used to create a certain type application
                    Good at solving certain types of problems


7 of 10                                                                                                         11/1/07 5:52 PM
Plone Application Development Patterns                                   file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html


                      In the context of our organization and level of development expertise


          Pattern Definition - Problem
               Internet or intranet
               Type of information (spatial, structured, unstructured)
               Sensitivity of information
               Amount of information
               Number of users, sessions
               Organizational level (global, regional, local)
               Community (conservation, marketing, finance, legal, etc.)


          Pattern Definition - Technology
               Components

               GIS, web, database, ORM, search, authentication, user management, security, workflow, error
               handling, logging, help system, etc.

               Platform and toolkit

               Development platform, language, testing frameworks, OS, etc.


          Pattern Definition - Technology
               Integration mechanisms

               Web services platforms, enterprise search, etc.

               Risks (security, business)

               Cost


          Plone Pattern - Problem
               Intranet

               Mix of structured and unstructured information, non-spatial or minimally

               Non-spatial or minimally spatial requirements

               (We use .Net framework with ESRI tools for spatial apps)

               Suitable when information is restricted to authorized users/groups


          Plone Pattern - Problem

8 of 10                                                                                                             11/1/07 5:52 PM
Plone Application Development Patterns                                   file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html


               Small to mid size (up to thousands of objects, not millions)
               Any number of TNC staff
               Any organizational level or community


          Plone Pattern - Technology
               Non-spatial or embedded maps only
               LDAP authentication
               Archetypes, ArchGenXML


          Plone Pattern - Technology
               ZODB storage unless special circumstances
                  Extra cost for RDB must be justified
                  MySQL supported - but not Oracle???


          When Is RDB Storage Justified?
          Good reasons:

               Legacy data that can't be moved
               Simultaneous access from other (legacy) tools


          When Is RDB Storage Justified?
          Bad reasons:

               Faster, more stable than ZODB

               Making reports with Crystal Reports etc.

               Ad hoc SQL queries by power users

               => Provide capability to periodically load data into the RDB


          How Fast Can We Make One?




9 of 10                                                                                                             11/1/07 5:52 PM
Plone Application Development Patterns                               file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html




           90 seconds at 900 degrees F (485 C)

           http://www.fornobravo.com/vera_pizza_napoletana/pizza_napoletana.html


           Pretty Fast...
           15 days to produce application with ZODB storage given UML diagram produced jointly by customer
           and developer with up to

                5 content types, 1 custom view per type
                5 reports and/or custom search pages
                Standard editing pages
                6 custom permissions, 2 custom roles, 1 custom workflow


           Plone Pattern - Cost Caveats
           Predictable cost requires:

                Use of shared product providing common elements
                     LDAP setup
                     Provide application mixin class with common behavior
                     Customize portal look and feel
                Better for users as well as developers


           Acknowledgements
           Eric Coffman, lead developer on these projects


           Questions




10 of 10                                                                                                        11/1/07 5:52 PM

More Related Content

What's hot

Why java is important in programming language?
Why java is important in programming language?Why java is important in programming language?
Why java is important in programming language?NexSoftsys
ย 
130700548484460000
130700548484460000130700548484460000
130700548484460000Tanzeel Ahmad
ย 
The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180Mahmoud Samir Fayed
ย 
Language Workbenches
Language WorkbenchesLanguage Workbenches
Language WorkbenchesMikhail Barash
ย 
The Ring programming language version 1.5.3 book - Part 5 of 184
The Ring programming language version 1.5.3 book - Part 5 of 184The Ring programming language version 1.5.3 book - Part 5 of 184
The Ring programming language version 1.5.3 book - Part 5 of 184Mahmoud Samir Fayed
ย 
Rubymotion inspect 2014_review
Rubymotion inspect 2014_reviewRubymotion inspect 2014_review
Rubymotion inspect 2014_reviewBob Firestone
ย 
C c#
C c#C c#
C c#Sireesh K
ย 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
ย 
Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".SudhanshuVijay3
ย 
Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonTharindu Weerasinghe
ย 
ISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin MultiplatformISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin MultiplatformISS Art, LLC
ย 
Presentaciรณn rs232 java
Presentaciรณn rs232 javaPresentaciรณn rs232 java
Presentaciรณn rs232 javaJohn Rojas
ย 
IS L04 Programming Language
IS L04 Programming LanguageIS L04 Programming Language
IS L04 Programming LanguageJan Wong
ย 
Core Java
Core JavaCore Java
Core JavaNA
ย 
DSL development
DSL developmentDSL development
DSL developmentMikhail Barash
ย 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181Mahmoud Samir Fayed
ย 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScriptKevin Whinnery
ย 
Android Development with Kotlin course
Android Development  with Kotlin courseAndroid Development  with Kotlin course
Android Development with Kotlin courseGoogleDevelopersLeba
ย 
The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189Mahmoud Samir Fayed
ย 

What's hot (20)

Why java is important in programming language?
Why java is important in programming language?Why java is important in programming language?
Why java is important in programming language?
ย 
130700548484460000
130700548484460000130700548484460000
130700548484460000
ย 
The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180
ย 
Language Workbenches
Language WorkbenchesLanguage Workbenches
Language Workbenches
ย 
Java Intro
Java IntroJava Intro
Java Intro
ย 
The Ring programming language version 1.5.3 book - Part 5 of 184
The Ring programming language version 1.5.3 book - Part 5 of 184The Ring programming language version 1.5.3 book - Part 5 of 184
The Ring programming language version 1.5.3 book - Part 5 of 184
ย 
Rubymotion inspect 2014_review
Rubymotion inspect 2014_reviewRubymotion inspect 2014_review
Rubymotion inspect 2014_review
ย 
C c#
C c#C c#
C c#
ย 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
ย 
Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".
ย 
Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & Python
ย 
ISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin MultiplatformISS Art. How to do IT. Kotlin Multiplatform
ISS Art. How to do IT. Kotlin Multiplatform
ย 
Presentaciรณn rs232 java
Presentaciรณn rs232 javaPresentaciรณn rs232 java
Presentaciรณn rs232 java
ย 
IS L04 Programming Language
IS L04 Programming LanguageIS L04 Programming Language
IS L04 Programming Language
ย 
Core Java
Core JavaCore Java
Core Java
ย 
DSL development
DSL developmentDSL development
DSL development
ย 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181
ย 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScript
ย 
Android Development with Kotlin course
Android Development  with Kotlin courseAndroid Development  with Kotlin course
Android Development with Kotlin course
ย 
The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189
ย 

Viewers also liked

The Metaverse Republic - Virtual Worlds Forum 2007
The Metaverse Republic - Virtual Worlds Forum 2007The Metaverse Republic - Virtual Worlds Forum 2007
The Metaverse Republic - Virtual Worlds Forum 2007Antonio Bonanno
ย 
componentes del ordenador
componentes del ordenadorcomponentes del ordenador
componentes del ordenadorerich
ย 
Wageindicator Foundation: a Case Study
Wageindicator Foundation: a Case StudyWageindicator Foundation: a Case Study
Wageindicator Foundation: a Case StudyVincenzo Barone
ย 
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...Vincenzo Barone
ย 
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 wayVincenzo Barone
ย 
Kamon Ayeva Let The Machine Work For You Using Plone Content Rules For Mo...
Kamon Ayeva   Let The Machine Work For You   Using Plone Content Rules For Mo...Kamon Ayeva   Let The Machine Work For You   Using Plone Content Rules For Mo...
Kamon Ayeva Let The Machine Work For You Using Plone Content Rules For Mo...Vincenzo Barone
ย 
Veda Williams Project Management Secrets A Disciplined Approach To Develo...
Veda Williams   Project Management Secrets   A Disciplined Approach To Develo...Veda Williams   Project Management Secrets   A Disciplined Approach To Develo...
Veda Williams Project Management Secrets A Disciplined Approach To Develo...Vincenzo Barone
ย 
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)Vincenzo Barone
ย 
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 Vincenzo Barone
ย 

Viewers also liked (10)

Gitb[1]
Gitb[1]Gitb[1]
Gitb[1]
ย 
The Metaverse Republic - Virtual Worlds Forum 2007
The Metaverse Republic - Virtual Worlds Forum 2007The Metaverse Republic - Virtual Worlds Forum 2007
The Metaverse Republic - Virtual Worlds Forum 2007
ย 
componentes del ordenador
componentes del ordenadorcomponentes del ordenador
componentes del ordenador
ย 
Wageindicator Foundation: a Case Study
Wageindicator Foundation: a Case StudyWageindicator Foundation: a Case Study
Wageindicator Foundation: a Case Study
ย 
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...
ย 
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
ย 
Kamon Ayeva Let The Machine Work For You Using Plone Content Rules For Mo...
Kamon Ayeva   Let The Machine Work For You   Using Plone Content Rules For Mo...Kamon Ayeva   Let The Machine Work For You   Using Plone Content Rules For Mo...
Kamon Ayeva Let The Machine Work For You Using Plone Content Rules For Mo...
ย 
Veda Williams Project Management Secrets A Disciplined Approach To Develo...
Veda Williams   Project Management Secrets   A Disciplined Approach To Develo...Veda Williams   Project Management Secrets   A Disciplined Approach To Develo...
Veda Williams Project Management Secrets A Disciplined Approach To Develo...
ย 
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)
ย 
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
ย 

Similar to Sally Kleinfeldt - Plone Application Development Patterns

UnnivmNew
UnnivmNewUnnivmNew
UnnivmNewUnni Mana
ย 
Subhadra Banerjee_latest
Subhadra Banerjee_latestSubhadra Banerjee_latest
Subhadra Banerjee_latestSubhadra Banerjee
ย 
Karthik Balasubramanian (Resume)
Karthik Balasubramanian (Resume)Karthik Balasubramanian (Resume)
Karthik Balasubramanian (Resume)karthik_bala
ย 
Naveen_Toppo
Naveen_ToppoNaveen_Toppo
Naveen_ToppoNaveen Toppo
ย 
Ramkumar_python_perl_unix shell script developer
Ramkumar_python_perl_unix shell script developerRamkumar_python_perl_unix shell script developer
Ramkumar_python_perl_unix shell script developerRamkumar Shankar
ย 
What to curate? Preserving and Curating Software-Based Art
What to curate? Preserving and Curating Software-Based ArtWhat to curate? Preserving and Curating Software-Based Art
What to curate? Preserving and Curating Software-Based Artneilgrindley
ย 
LUXproject functionality overview R11.8
LUXproject functionality overview R11.8LUXproject functionality overview R11.8
LUXproject functionality overview R11.8Alexander Zagvozdin
ย 
Saptalopa_Resume - Copy
Saptalopa_Resume - CopySaptalopa_Resume - Copy
Saptalopa_Resume - Copysaptalopa routray
ย 
Robin_Informatica
Robin_InformaticaRobin_Informatica
Robin_InformaticaRobin Goyal
ย 
PITSS General Presentation - Dec, 2012
PITSS General Presentation - Dec, 2012PITSS General Presentation - Dec, 2012
PITSS General Presentation - Dec, 2012jgmarra
ย 
LaranEvansResume
LaranEvansResumeLaranEvansResume
LaranEvansResumebutest
ย 
Resume_ChuangCao
Resume_ChuangCaoResume_ChuangCao
Resume_ChuangCaoChuang Cao
ย 
Vishal Soni-J2EE
Vishal Soni-J2EEVishal Soni-J2EE
Vishal Soni-J2EEvishal soni
ย 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
ย 
Highly confidential security system - sole survivors - SRS
Highly confidential security system  - sole survivors - SRSHighly confidential security system  - sole survivors - SRS
Highly confidential security system - sole survivors - SRSArun prasath
ย 
Resume
ResumeResume
Resumejai kunwar
ย 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)Peter Presnell
ย 
Dipalee Shah Resume
Dipalee Shah ResumeDipalee Shah Resume
Dipalee Shah ResumeDipalee Shah
ย 
Cochrane von Suchodoletz File Creation, Rendering and Formats
Cochrane von Suchodoletz File Creation, Rendering and FormatsCochrane von Suchodoletz File Creation, Rendering and Formats
Cochrane von Suchodoletz File Creation, Rendering and FormatsFuture Perfect 2012
ย 

Similar to Sally Kleinfeldt - Plone Application Development Patterns (20)

UnnivmNew
UnnivmNewUnnivmNew
UnnivmNew
ย 
Subhadra Banerjee_latest
Subhadra Banerjee_latestSubhadra Banerjee_latest
Subhadra Banerjee_latest
ย 
Karthik Balasubramanian (Resume)
Karthik Balasubramanian (Resume)Karthik Balasubramanian (Resume)
Karthik Balasubramanian (Resume)
ย 
Naveen_Toppo
Naveen_ToppoNaveen_Toppo
Naveen_Toppo
ย 
Resume
ResumeResume
Resume
ย 
Ramkumar_python_perl_unix shell script developer
Ramkumar_python_perl_unix shell script developerRamkumar_python_perl_unix shell script developer
Ramkumar_python_perl_unix shell script developer
ย 
What to curate? Preserving and Curating Software-Based Art
What to curate? Preserving and Curating Software-Based ArtWhat to curate? Preserving and Curating Software-Based Art
What to curate? Preserving and Curating Software-Based Art
ย 
LUXproject functionality overview R11.8
LUXproject functionality overview R11.8LUXproject functionality overview R11.8
LUXproject functionality overview R11.8
ย 
Saptalopa_Resume - Copy
Saptalopa_Resume - CopySaptalopa_Resume - Copy
Saptalopa_Resume - Copy
ย 
Robin_Informatica
Robin_InformaticaRobin_Informatica
Robin_Informatica
ย 
PITSS General Presentation - Dec, 2012
PITSS General Presentation - Dec, 2012PITSS General Presentation - Dec, 2012
PITSS General Presentation - Dec, 2012
ย 
LaranEvansResume
LaranEvansResumeLaranEvansResume
LaranEvansResume
ย 
Resume_ChuangCao
Resume_ChuangCaoResume_ChuangCao
Resume_ChuangCao
ย 
Vishal Soni-J2EE
Vishal Soni-J2EEVishal Soni-J2EE
Vishal Soni-J2EE
ย 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
ย 
Highly confidential security system - sole survivors - SRS
Highly confidential security system  - sole survivors - SRSHighly confidential security system  - sole survivors - SRS
Highly confidential security system - sole survivors - SRS
ย 
Resume
ResumeResume
Resume
ย 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)
ย 
Dipalee Shah Resume
Dipalee Shah ResumeDipalee Shah Resume
Dipalee Shah Resume
ย 
Cochrane von Suchodoletz File Creation, Rendering and Formats
Cochrane von Suchodoletz File Creation, Rendering and FormatsCochrane von Suchodoletz File Creation, Rendering and Formats
Cochrane von Suchodoletz File Creation, Rendering and Formats
ย 

More from Vincenzo Barone

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 SetupVincenzo Barone
ย 
Philipp Von Weitershausen Untested Code Is Broken Code
Philipp Von Weitershausen   Untested Code Is Broken CodePhilipp Von Weitershausen   Untested Code Is Broken Code
Philipp Von Weitershausen Untested Code Is Broken CodeVincenzo Barone
ย 
Rocky Burt Subtyping Unleashed
Rocky Burt   Subtyping UnleashedRocky Burt   Subtyping Unleashed
Rocky Burt Subtyping UnleashedVincenzo 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
ย 
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 DevelopmentVincenzo Barone
ย 
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...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
ย 
Wichert Akkerman - Plone.Org Infrastructure
Wichert Akkerman - Plone.Org InfrastructureWichert Akkerman - Plone.Org Infrastructure
Wichert Akkerman - Plone.Org InfrastructureVincenzo Barone
ย 
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...Vincenzo Barone
ย 
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 Vincenzo Barone
ย 
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 FutureVincenzo Barone
ย 
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 WillVincenzo Barone
ย 
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 @ NovellVincenzo Barone
ย 
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...Vincenzo Barone
ย 
Roberto Allende Plone Cono Sur Creating A Plone Users Group From Scratch
Roberto Allende Plone Cono Sur   Creating A Plone Users Group From ScratchRoberto Allende Plone Cono Sur   Creating A Plone Users Group From Scratch
Roberto Allende Plone Cono Sur Creating A Plone Users Group From ScratchVincenzo Barone
ย 
David Rey Lessons Learned Updating Content Licensing To Be Plone 3 Compat...
David Rey   Lessons Learned   Updating Content Licensing To Be Plone 3 Compat...David Rey   Lessons Learned   Updating Content Licensing To Be Plone 3 Compat...
David Rey Lessons Learned Updating Content Licensing To Be Plone 3 Compat...Vincenzo Barone
ย 
BalรกZs Ree Introduction To Kss, Kinetic Style Sheets
BalรกZs Ree   Introduction To Kss, Kinetic Style SheetsBalรกZs Ree   Introduction To Kss, Kinetic Style Sheets
BalรกZs Ree Introduction To Kss, Kinetic Style SheetsVincenzo Barone
ย 
Gael Le Mignot How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...
Gael Le Mignot   How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...Gael Le Mignot   How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...
Gael Le Mignot How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...Vincenzo Barone
ย 
Martin Aspeli Extending And Customising Plone 3
Martin Aspeli   Extending And Customising Plone 3Martin Aspeli   Extending And Customising Plone 3
Martin Aspeli Extending And Customising Plone 3Vincenzo Barone
ย 
Godefroid Chapelle Ajax With Plone 3 Kss Development Patterns
Godefroid Chapelle   Ajax With Plone 3   Kss Development PatternsGodefroid Chapelle   Ajax With Plone 3   Kss Development Patterns
Godefroid Chapelle Ajax With Plone 3 Kss Development PatternsVincenzo Barone
ย 

More from Vincenzo Barone (20)

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
ย 
Philipp Von Weitershausen Untested Code Is Broken Code
Philipp Von Weitershausen   Untested Code Is Broken CodePhilipp Von Weitershausen   Untested Code Is Broken Code
Philipp Von Weitershausen Untested Code Is Broken Code
ย 
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...
ย 
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...
ย 
Wichert Akkerman - Plone.Org Infrastructure
Wichert Akkerman - Plone.Org InfrastructureWichert Akkerman - Plone.Org Infrastructure
Wichert Akkerman - Plone.Org Infrastructure
ย 
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
ย 
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...
ย 
Roberto Allende Plone Cono Sur Creating A Plone Users Group From Scratch
Roberto Allende Plone Cono Sur   Creating A Plone Users Group From ScratchRoberto Allende Plone Cono Sur   Creating A Plone Users Group From Scratch
Roberto Allende Plone Cono Sur Creating A Plone Users Group From Scratch
ย 
David Rey Lessons Learned Updating Content Licensing To Be Plone 3 Compat...
David Rey   Lessons Learned   Updating Content Licensing To Be Plone 3 Compat...David Rey   Lessons Learned   Updating Content Licensing To Be Plone 3 Compat...
David Rey Lessons Learned Updating Content Licensing To Be Plone 3 Compat...
ย 
BalรกZs Ree Introduction To Kss, Kinetic Style Sheets
BalรกZs Ree   Introduction To Kss, Kinetic Style SheetsBalรกZs Ree   Introduction To Kss, Kinetic Style Sheets
BalรกZs Ree Introduction To Kss, Kinetic Style Sheets
ย 
Gael Le Mignot How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...
Gael Le Mignot   How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...Gael Le Mignot   How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...
Gael Le Mignot How To Minimize Cpu And Memory Usage Of Zope And Plone Appli...
ย 
Martin Aspeli Extending And Customising Plone 3
Martin Aspeli   Extending And Customising Plone 3Martin Aspeli   Extending And Customising Plone 3
Martin Aspeli Extending And Customising Plone 3
ย 
Godefroid Chapelle Ajax With Plone 3 Kss Development Patterns
Godefroid Chapelle   Ajax With Plone 3   Kss Development PatternsGodefroid Chapelle   Ajax With Plone 3   Kss Development Patterns
Godefroid Chapelle Ajax With Plone 3 Kss Development Patterns
ย 

Recently uploaded

Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Delhi Call girls
ย 
The Economic History of the U.S. Lecture 17.pdf
The Economic History of the U.S. Lecture 17.pdfThe Economic History of the U.S. Lecture 17.pdf
The Economic History of the U.S. Lecture 17.pdfGale Pooley
ย 
fca-bsps-decision-letter-redacted (1).pdf
fca-bsps-decision-letter-redacted (1).pdffca-bsps-decision-letter-redacted (1).pdf
fca-bsps-decision-letter-redacted (1).pdfHenry Tapper
ย 
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 ๐Ÿ’‹โœ”๐Ÿ’•๐Ÿ˜˜ Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 ๐Ÿ’‹โœ”๐Ÿ’•๐Ÿ˜˜ Naughty Call Girls Se...Russian Call Girls In Gtb Nagar (Delhi) 9711199012 ๐Ÿ’‹โœ”๐Ÿ’•๐Ÿ˜˜ Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 ๐Ÿ’‹โœ”๐Ÿ’•๐Ÿ˜˜ Naughty Call Girls Se...shivangimorya083
ย 
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | โ‚น5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | โ‚น5k To 25k With Room...VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | โ‚น5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | โ‚น5k To 25k With Room...Suhani Kapoor
ย 
Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...
Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...
Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...ssifa0344
ย 
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneVIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneCall girls in Ahmedabad High profile
ย 
Monthly Market Risk Update: April 2024 [SlideShare]
Monthly Market Risk Update: April 2024 [SlideShare]Monthly Market Risk Update: April 2024 [SlideShare]
Monthly Market Risk Update: April 2024 [SlideShare]Commonwealth
ย 
Independent Call Girl Number in Kurla Mumbai๐Ÿ“ฒ Pooja Nehwal 9892124323 ๐Ÿ’ž Full ...
Independent Call Girl Number in Kurla Mumbai๐Ÿ“ฒ Pooja Nehwal 9892124323 ๐Ÿ’ž Full ...Independent Call Girl Number in Kurla Mumbai๐Ÿ“ฒ Pooja Nehwal 9892124323 ๐Ÿ’ž Full ...
Independent Call Girl Number in Kurla Mumbai๐Ÿ“ฒ Pooja Nehwal 9892124323 ๐Ÿ’ž Full ...Pooja Nehwal
ย 
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escortsranjana rawat
ย 
Call US ๐Ÿ“ž 9892124323 โœ… Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US ๐Ÿ“ž 9892124323 โœ… Kurla Call Girls In Kurla ( Mumbai ) secure serviceCall US ๐Ÿ“ž 9892124323 โœ… Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US ๐Ÿ“ž 9892124323 โœ… Kurla Call Girls In Kurla ( Mumbai ) secure servicePooja Nehwal
ย 
Andheri Call Girls In 9825968104 Mumbai Hot Models
Andheri Call Girls In 9825968104 Mumbai Hot ModelsAndheri Call Girls In 9825968104 Mumbai Hot Models
Andheri Call Girls In 9825968104 Mumbai Hot Modelshematsharma006
ย 
VIP Kolkata Call Girl Serampore ๐Ÿ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Serampore ๐Ÿ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Serampore ๐Ÿ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Serampore ๐Ÿ‘‰ 8250192130 Available With Roomdivyansh0kumar0
ย 
The Economic History of the U.S. Lecture 18.pdf
The Economic History of the U.S. Lecture 18.pdfThe Economic History of the U.S. Lecture 18.pdf
The Economic History of the U.S. Lecture 18.pdfGale Pooley
ย 
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
ย 
call girls in Nand Nagri (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in  Nand Nagri (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in  Nand Nagri (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Nand Nagri (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...Call Girls in Nagpur High Profile
ย 
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptxFinTech Belgium
ย 
Call Girls In Yusuf Sarai Women Seeking Men 9654467111
Call Girls In Yusuf Sarai Women Seeking Men 9654467111Call Girls In Yusuf Sarai Women Seeking Men 9654467111
Call Girls In Yusuf Sarai Women Seeking Men 9654467111Sapana Sha
ย 
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptxFinTech Belgium
ย 

Recently uploaded (20)

Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
ย 
The Economic History of the U.S. Lecture 17.pdf
The Economic History of the U.S. Lecture 17.pdfThe Economic History of the U.S. Lecture 17.pdf
The Economic History of the U.S. Lecture 17.pdf
ย 
fca-bsps-decision-letter-redacted (1).pdf
fca-bsps-decision-letter-redacted (1).pdffca-bsps-decision-letter-redacted (1).pdf
fca-bsps-decision-letter-redacted (1).pdf
ย 
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 ๐Ÿ’‹โœ”๐Ÿ’•๐Ÿ˜˜ Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 ๐Ÿ’‹โœ”๐Ÿ’•๐Ÿ˜˜ Naughty Call Girls Se...Russian Call Girls In Gtb Nagar (Delhi) 9711199012 ๐Ÿ’‹โœ”๐Ÿ’•๐Ÿ˜˜ Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 ๐Ÿ’‹โœ”๐Ÿ’•๐Ÿ˜˜ Naughty Call Girls Se...
ย 
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | โ‚น5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | โ‚น5k To 25k With Room...VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | โ‚น5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | โ‚น5k To 25k With Room...
ย 
Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...
Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...
Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...
ย 
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneVIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
ย 
Monthly Market Risk Update: April 2024 [SlideShare]
Monthly Market Risk Update: April 2024 [SlideShare]Monthly Market Risk Update: April 2024 [SlideShare]
Monthly Market Risk Update: April 2024 [SlideShare]
ย 
Independent Call Girl Number in Kurla Mumbai๐Ÿ“ฒ Pooja Nehwal 9892124323 ๐Ÿ’ž Full ...
Independent Call Girl Number in Kurla Mumbai๐Ÿ“ฒ Pooja Nehwal 9892124323 ๐Ÿ’ž Full ...Independent Call Girl Number in Kurla Mumbai๐Ÿ“ฒ Pooja Nehwal 9892124323 ๐Ÿ’ž Full ...
Independent Call Girl Number in Kurla Mumbai๐Ÿ“ฒ Pooja Nehwal 9892124323 ๐Ÿ’ž Full ...
ย 
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
ย 
Call US ๐Ÿ“ž 9892124323 โœ… Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US ๐Ÿ“ž 9892124323 โœ… Kurla Call Girls In Kurla ( Mumbai ) secure serviceCall US ๐Ÿ“ž 9892124323 โœ… Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US ๐Ÿ“ž 9892124323 โœ… Kurla Call Girls In Kurla ( Mumbai ) secure service
ย 
Andheri Call Girls In 9825968104 Mumbai Hot Models
Andheri Call Girls In 9825968104 Mumbai Hot ModelsAndheri Call Girls In 9825968104 Mumbai Hot Models
Andheri Call Girls In 9825968104 Mumbai Hot Models
ย 
VIP Kolkata Call Girl Serampore ๐Ÿ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Serampore ๐Ÿ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Serampore ๐Ÿ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Serampore ๐Ÿ‘‰ 8250192130 Available With Room
ย 
The Economic History of the U.S. Lecture 18.pdf
The Economic History of the U.S. Lecture 18.pdfThe Economic History of the U.S. Lecture 18.pdf
The Economic History of the U.S. Lecture 18.pdf
ย 
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
ย 
call girls in Nand Nagri (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in  Nand Nagri (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in  Nand Nagri (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Nand Nagri (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
ย 
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
ย 
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
ย 
Call Girls In Yusuf Sarai Women Seeking Men 9654467111
Call Girls In Yusuf Sarai Women Seeking Men 9654467111Call Girls In Yusuf Sarai Women Seeking Men 9654467111
Call Girls In Yusuf Sarai Women Seeking Men 9654467111
ย 
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
ย 

Sally Kleinfeldt - Plone Application Development Patterns

  • 1. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html Plone Application Development Patterns Sally Kleinfeldt, The Nature Conservancy October 2007 -- Naples Overview Background First application: ConPro Second application: EAST Pattern Library Questions The Nature Conservancy Environmental nonprofit protecting ecologically important lands and waters Science-based approach 117 million acres protected 1 million members Work in 50 states and 30 countries 3,000 employees Background - Technology Traditional IT shop Supporting HR, Finance, database applications Plus creating conservation applications Adopted Zope in 2000 Nature.org, intranet, internal applications ZMI development, RDB storage Background - Technology Adopted Plone in 2004 ConserveOnline.org, internal applications Filesystem development, RDB or ZODB storage Background - Applications Spatial and non-spatial Mix of data and content Users, roles, permissions important 1 of 10 11/1/07 5:52 PM
  • 2. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html Workflow sometimes Increasing need for custom applications for conservation Increasing need for cross-application integration ConPro - What Is It System to manage structured and unstructured information about our conservation projects Information previously managed in complex Excel spreadsheets, and associated documents, often in the field Need for import, export, versioning, locking, security, search ConPro - Requirements 50+ page functional requirements Assumption of relational storage for ad hoc SQL queries Spreadsheet dictated the data model Users defined edit screen mockups based on the spreadsheet Versioning, security, workflow requirements less clear ConPro - Data Model Customer-specified data model for RDB was very complex. ConPro - Development Plone chosen for compatibility with ConserveOnline Unable to hire expert consultant to guide development 2 of 10 11/1/07 5:52 PM
  • 3. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html Initial focus on spreadsheet import/export, SQL methods, edit forms Design of classes, security, overall application left until the end ConPro - Development Archetypes stub objects for object security, the rest hand crafted SQL methods and page templates; workflow not used Customers changed their minds midstream about data model and edit forms Rescued by Plone experts and much effort ConPro - Results Late and overbudget - 30 person months ~400 hand written SQL methods 50 hand written edit, display, report forms Ad hoc SQL queries never implemented Difficult to maintain and extend Big success with users! ConPro - Home Page 3 of 10 11/1/07 5:52 PM
  • 4. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html ConPro - Project Info Page ConPro - Project Info Page Turn it on its side - here's all the information... ConPro - Project Viability 4 of 10 11/1/07 5:52 PM
  • 5. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html ConPro - Project Viability Turn it on its side - here's all the information... ConPro - Lessons Avoid excessive requirements phase for new/unclear applications Users should not dictate technology decisions Relational storage increases cost, avoid if possible Have guidance from experts on your first project, learn to do things The Plone Way Start with classes, security, overall application functioning; page templates later EAST - What Is It 5 of 10 11/1/07 5:52 PM
  • 6. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html Ecoregional Assessment Status Tool ERA: science-based analysis of an ecoregion to determine highest value areas for conservation New system for management to track status of this work <200 assessments, each with <20 attributes EAST - Requirements Well understood application Initial version done in pure Zope prior to ConPro Informal project driven by developer to re-implement The Plone Way Customer flexible, no technology assumptions Simple application EAST - Class Diagram Developer and customer created the UML diagram together. EAST - Development Archetypes content types with ZODB storage UML modeling with ArchGenXML generating starter product Security and UI refinements added (listing, search, reports, view) EAST - Results 1 week to develop 2 content types, 23 page templates, workflow to track status 6 of 10 11/1/07 5:52 PM
  • 7. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html Easy to maintain and extend Big success with users! Customer: quot;This has been my most pleasant development experience everquot; EAST - ERA Page Learning Lessons Our technology choices had been haphazard Need to base decisions on what works in our environment Consistency Repeatable development results Application Patterns Solution: define quot;application patternsquot; A set of components, technologies, and tools Used to create a certain type application Good at solving certain types of problems 7 of 10 11/1/07 5:52 PM
  • 8. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html In the context of our organization and level of development expertise Pattern Definition - Problem Internet or intranet Type of information (spatial, structured, unstructured) Sensitivity of information Amount of information Number of users, sessions Organizational level (global, regional, local) Community (conservation, marketing, finance, legal, etc.) Pattern Definition - Technology Components GIS, web, database, ORM, search, authentication, user management, security, workflow, error handling, logging, help system, etc. Platform and toolkit Development platform, language, testing frameworks, OS, etc. Pattern Definition - Technology Integration mechanisms Web services platforms, enterprise search, etc. Risks (security, business) Cost Plone Pattern - Problem Intranet Mix of structured and unstructured information, non-spatial or minimally Non-spatial or minimally spatial requirements (We use .Net framework with ESRI tools for spatial apps) Suitable when information is restricted to authorized users/groups Plone Pattern - Problem 8 of 10 11/1/07 5:52 PM
  • 9. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html Small to mid size (up to thousands of objects, not millions) Any number of TNC staff Any organizational level or community Plone Pattern - Technology Non-spatial or embedded maps only LDAP authentication Archetypes, ArchGenXML Plone Pattern - Technology ZODB storage unless special circumstances Extra cost for RDB must be justified MySQL supported - but not Oracle??? When Is RDB Storage Justified? Good reasons: Legacy data that can't be moved Simultaneous access from other (legacy) tools When Is RDB Storage Justified? Bad reasons: Faster, more stable than ZODB Making reports with Crystal Reports etc. Ad hoc SQL queries by power users => Provide capability to periodically load data into the RDB How Fast Can We Make One? 9 of 10 11/1/07 5:52 PM
  • 10. Plone Application Development Patterns file:///Users/sek/tnc/naples/sallyk-slides/plone-patterns.html 90 seconds at 900 degrees F (485 C) http://www.fornobravo.com/vera_pizza_napoletana/pizza_napoletana.html Pretty Fast... 15 days to produce application with ZODB storage given UML diagram produced jointly by customer and developer with up to 5 content types, 1 custom view per type 5 reports and/or custom search pages Standard editing pages 6 custom permissions, 2 custom roles, 1 custom workflow Plone Pattern - Cost Caveats Predictable cost requires: Use of shared product providing common elements LDAP setup Provide application mixin class with common behavior Customize portal look and feel Better for users as well as developers Acknowledgements Eric Coffman, lead developer on these projects Questions 10 of 10 11/1/07 5:52 PM