Plone vs The New Guy The Initial Struggles of a Beginning Plone Developer John Hren University Wisconsin - Oshkosh The Point of the Presentation • Help new people (people newer than me) learn more efficiently • Give those who train new people some ideas on how to teach Plone • Add some new thought as to what should be put in training material • Show the steps I went through to create and implement the Time Conflict Card Product Why Am I The New Guy • 20 years in Distribution as a Manager, Quality Director, Buyer, Branch Manager • Laid off in 2008 • Went back to school at UW-Oshkosh in 2009 • Majored in Computer Science • Graduated May 2011 • Started work at UW-Oshkosh June 2011 Why is Plone, Plone • • • • • • • • CMS (content management system) Python Object orientated database TAL Expressions? Otherwise known as a “Simple TAL Expression” Buildout and Bootstrap.py Theming ZOPE Which leads to……… A Pretty Steep Learning Curve/Cliff/Wall What’s In My Quiver When I Started? • • • • • A Canadian (Kim Nguyen) UW-Oshkosh Development Staff Some Plone experience with OIE Google Professional Plone Development 4 by Martin Aspeli • Plone.org • Which makes the Score about…… Plone 31 and John 0 But the good thing was, I did have a lot of help and the game was just starting. My Initial Job Duties • • • • • • Learn Help Kim implement Intranet Add new ideas Turn forms into products Try not to get in the way Say nice things about Canada How I Learned • • • • http://plone.org/ http://zope.org/ http://www.python.org/ http://readthedocs.org/docs/collectivedocs/en/latest/ • https://ploud.com/index.html • Professional Plone 4 Development by Martin Aspeli More Learning • • • • • • http://www.buildout.org/ http://wiki.zope.org/ZPT/SimpleTutorial TAL info http://plone.293351.n2.nabble.com/ http://www.zodb.org/ http://docs.diazo.org/en/latest/introduction.htm http://plone.org/products/dexterity/documentati on/manual/developer-manual Even More Learning • • • • • • • • Classes Conferences Stack Overflow Chat Room Sprints User Groups Tune Up Days Polk Library and their ebooks (www.uwosh.edu/library) Remember Though, There is so much documentation out there that getting off track is easy. My experience though is don’t ask a question without trying to figure out the answer on your own first A Quick Note To Help Document Creators • • • • • Thank you for your input Indexes Reference notes Definition of Terms Don’t assume, write to your audience A Quick Example Drupal’s Learning Page A Quick Note About IDE’s • Have a favorite • Use it to check in/out code to your repository • Sublime Text 2 The Time Conflict Card Product Intranet Task Force Says, “Pick a Form.” • Study was done to determine possible choices for biggest impact • Needed a form that would hit all cross sections of the campus, Instructors/Staff/Students • Add/Drop/Time Conflict Card • Initiated by Students, signed off by Instructors, entered by Staff, Great Choice! What is a Add/Drop/Time Conflict Card? Meeting With The Registrar • What constitutes an approval • Sometimes instructors sign off other times departments sign off • Legal claims • Signing off on class limit and requisites • Comments • Security • One last question…. WHAT DID WE GET OURSELVES INTO??!!??!! Decision Time • Start with Time Conflict Card • Lightly used • Design Functionality will be used in both Add and Drop cards • Testing could be managed easier • Transitions = Approval Design Problems • Instructors should only see the cards they need to sign off on • Needs to be user friendly interface • Comments need to be easily accessible • Notification system • Can’t let cards sit to long • Complicated Workflow Tools • • • • • PloneFormGen Northstar Workflow Manager Collective.easytemplate JQuery PloneFormGen Making The Form Generating the Product The Product is Generated • The product will be downloaded into your download file. • It then needs to be moved to your src file Don’t Forget to Install Your Product Here is Your Product Workflow Manager Workflow State Workflow Transition Sanity Check Diagram Create and Manage a Card Start a New Time Conflict Card The Top of the Card The Bottom of the Card Filling The Card Out Filling Out the Card Submitting The Code • • • • Jquery Collective.easy.template Content.py View.pt Thank you for listening! John Hren University Wisconsin - Oshkosh hrenj@uwosh.edu