SlideShare a Scribd company logo
1 of 38
SEA SPRINT 2012
          Plone Conference 2012 Report Out




Chris Calloway, Andrew Leeb, Ian Anderson, Timo Stollenwerk
    University of North Carolina at Chapel Hill
CREDITS:
Individual Sponsors

 Gonzalo Almieda
      Philip Bauer   Elizabeth Leddy
 Gildardo Bautista   Stephen McMahon
   Chris Calloway    Alec Mitchell
    Enzo Cesanelli   Calvin Hendryx-Parker
   Thiago Curvelo    Ross Patterson
Maurizio Delmonte    Jeremy Phillips
       Cris Ewing    Serge Renfer
   Patrick Gerken    Asko Soukka
Matthew Hamilton     Eric Steele
        Dan Jacka    Ulrich Stockschlaeder
     Andreas Jung
CREDITS:
Platinum Corporate Sponsor
CREDITS:
Gold Corporate Sponsors
CREDITS:
Silver Corporate Sponsors
CREDITS:
  Participants

Gonzalo Almieda (flecox)
Ian Anderson (ianderso)
Chris Calloway (cbcunc)
Cris Ewing (cewing)
Rok Garbas (garbas)
Nathan Van Gheem (vangheem)
Rob Gietema (robgietema)
David Glick (davisagli)
Calvin Hendryx-Parker (calvinhp)
Andrew Leeb (ableeb)
Clayton Parker (claytron)
Ross Patterson (rpatterson)
Eric Steele (esteele)
Timo Stollenwerk (tisto)
CREDITS:
Remote Participants



Ed Manlove

The Cafecito Sprint Team

UCLA OIT
SPRINT ORGANIZATION:
      Total Budget




$13,500 USD
SPRINT ORGANIZATION:
            Focused Topic


•Most important key to a successful
 sprint

•Game changer: Deco
•Target: Plone 4.x
SPRINT ORGANIZATION:
            Time And Place

•Sprint, eat, sleep, sprint
•Attractive location
•Airport accessible
•Good enough network
SPRINT ORGANIZATION:
           Time And Place


•Off-season availability
•Prior to Plone Conference
•Scheduled around other
 events
SPRINT ORGANIZATION:
              Invitations



•Examined repository activity for related
 packages

•Deco, toobar, tiles, blocks, CMSUI,
 collective.cover
SPRINT ORGANIZATION:
              Fundraising
•Chipin.com
•Plone Foundation strategic sprint
•Plone Foundation as financial agent
•Plone News
•Planet Plone
SPRINT ORGANIZATION:
               Logistics
•Coactivate.org
•Blog
•Email lists
•Wikis
•To-do lists
SPRINT ORGANIZATION:
                Logistics
•Temporary housing
•Airport pickups
•Vans to Oak Island
•Kick-off dinner
•Meal service
Sea Sprint Report out
       Oak Island, NC
        Sept 21 - 24
12 Step
Program
•   Focus on UI Implementation

•   Prototype Layout Editor - lots and lots of Javascript

•   Lots and lots of Javascript testing - coverage reports, linting,
    acceptance tests

•   zope.testbrowser had no javascript support

•   plone.app.toolbar - use first version

•   plone.app.deco - out of date tests

•   plone.app.imagetile

•   plone.app.texttile
•   UI Team - consistency with editing

•   Deco Layout Team - initial version with drop zones,
    fixed width drop zones

•   Toolbar - overlays, iframes oh my!

•   Text Tile - TinyMCE loading serial reuse issue

•   Image Tile - image shows, but is not editable,
    traversal issues, no scaling, notifies ContentModified

•   Testing - unit tests, BusterJS integration, coverage,
    robotframework coverage
• There was no js test coverage
• plone.app.deco unit tests out of date
• More than half of the team worked on testing
•   Functioning Layout Editor - arbitrary columns and rows

•   Functioning Tiles - editing works, image stored on tile,
    TinyMCE loads correctly every time

•   Jenkins grid for Selenium, Windows VMs for multiple IE

•   Test coverage for Deco javascript nearly 100%!

•   Buster.JS integration with zope testrunner - no excuses

•   Documentation - cull out of date, aggregate docs via
    Sphinx from packages: tiles, deco, toolbar, blocks, panels,
    layout. Docs dev + narrative are at github/buildout.deco
• Flexible layouts, add/remove rows and
  columns, resize as needed, add tiles.

• Rearrange tiles as you wish, move content
  from one area to another.

• http://www.coactivate.org/projects/sea-
  sprint-2012/blog/
The Problem




http://www.ohloh.net/p/plone
Robot Framework
●
    Generic test automation framework
●
    Developed by Nokia Siemens
●
    Open Source
●
    Selenium Plugin for browser tests
Acceptance Tests
●
    Keyword-driven
●
    Behavior-driven
●
    Data-driven
Robot Framework
                  A c pa c
                   c e tn e
                    T ss
                     et
Robot Framework
                  A c pa c
                   c e tn e
                    T ss
                     et
Robot Keywords for Plone




 http://ploneact.readthedocs.org/
Jenkins


●
    Windows / Linux /
    Mac OS X
●
    Firefox / Chrome / IE
Javascript Unit Tests


●
    Testrunner
    Integration
●
    Deco Unit Tests
Templer / ZopeSkel
●
    Tile
●
    plone_basic
●
    ...
Thoughts and Future
    Directions
Future Directions
• Remaining bugs in layout editor
 • no undo
 • smarter resizing columns
• Further testing for layout editor
 • No drag and drop tests (yet)
• Testing for tiles - Templer!!!
Future Directions
• Need more tiles
 • Replacement tiles for existing core
    viewlets
   • Migration path from portlets, viewlets
 • Replace portlet machinery with Deco
    theme editor/tile mechanics
Future Directions

• Integration with Diazo theming
• Toolbar Placement (with content, or at top)
• Editing is now done in different ways based
  upon Deco or Dexterity.
• Metadata is un-editable on a Deco page.
Potential Issues

• Introduction of more complexity in theme
• Introduction of (more) iframes
 • Context can be lost
• Potential for impacting accessability
Thoughts
• We need to have a way of incorporating
  new web technologies like Bootstrap into
  Plone in a manageable, reproducible way.
• Deco brings about a new way of interacting
  with the layout of a Deco page, and the
  ability to make items like landing pages in a
  very interactive way.
Seasprint2012ploneconferencereportout

More Related Content

Similar to Seasprint2012ploneconferencereportout

Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014
Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014
Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014Yunong Xiao
 
Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014Wojciech Seliga
 
Selenium In The Real World
Selenium In The Real WorldSelenium In The Real World
Selenium In The Real Worldiainrose
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapCreating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapFITC
 
DevOps by examples @ devopsheroes 2016
DevOps by examples @ devopsheroes 2016DevOps by examples @ devopsheroes 2016
DevOps by examples @ devopsheroes 2016Giulio Vian
 
Getting started with dev tools (4/10/17 DC)
Getting started with dev tools (4/10/17 DC)Getting started with dev tools (4/10/17 DC)
Getting started with dev tools (4/10/17 DC)Daniel Friedman
 
Mastering Test Automation: How to Use Selenium Successfully
Mastering Test Automation: How to Use Selenium Successfully Mastering Test Automation: How to Use Selenium Successfully
Mastering Test Automation: How to Use Selenium Successfully Applitools
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemYi-Ting Cheng
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...Jon Peck
 
How to be successful running Docker in Production
How to be successful running Docker in ProductionHow to be successful running Docker in Production
How to be successful running Docker in ProductionDocker, Inc.
 
Implimenting and Mitigating Change with all of this Newfangled Technology
Implimenting and Mitigating Change with all of this Newfangled TechnologyImplimenting and Mitigating Change with all of this Newfangled Technology
Implimenting and Mitigating Change with all of this Newfangled TechnologyIndiana Online Users Group
 
Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)Masaki Nakagawa
 
Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonQA or the Highway
 
Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02Kdeepapal Mishra
 
14_Ed_Symp_Open_Source
14_Ed_Symp_Open_Source14_Ed_Symp_Open_Source
14_Ed_Symp_Open_SourceSteve Arnold
 
Getting Deep on Orchestration - Nickoloff - DockerCon16
Getting Deep on Orchestration - Nickoloff - DockerCon16Getting Deep on Orchestration - Nickoloff - DockerCon16
Getting Deep on Orchestration - Nickoloff - DockerCon16allingeek
 

Similar to Seasprint2012ploneconferencereportout (20)

Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014
Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014
Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014
 
Dockercon EU 2015
Dockercon EU 2015Dockercon EU 2015
Dockercon EU 2015
 
Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014
 
Selenium In The Real World
Selenium In The Real WorldSelenium In The Real World
Selenium In The Real World
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapCreating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
 
DevOps by examples @ devopsheroes 2016
DevOps by examples @ devopsheroes 2016DevOps by examples @ devopsheroes 2016
DevOps by examples @ devopsheroes 2016
 
Getting started with dev tools (4/10/17 DC)
Getting started with dev tools (4/10/17 DC)Getting started with dev tools (4/10/17 DC)
Getting started with dev tools (4/10/17 DC)
 
33rd degree
33rd degree33rd degree
33rd degree
 
Mastering Test Automation: How to Use Selenium Successfully
Mastering Test Automation: How to Use Selenium Successfully Mastering Test Automation: How to Use Selenium Successfully
Mastering Test Automation: How to Use Selenium Successfully
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
 
Into The Box 2020 Keynote Day 1
Into The Box 2020 Keynote Day 1Into The Box 2020 Keynote Day 1
Into The Box 2020 Keynote Day 1
 
How to be successful running Docker in Production
How to be successful running Docker in ProductionHow to be successful running Docker in Production
How to be successful running Docker in Production
 
Implimenting and Mitigating Change with all of this Newfangled Technology
Implimenting and Mitigating Change with all of this Newfangled TechnologyImplimenting and Mitigating Change with all of this Newfangled Technology
Implimenting and Mitigating Change with all of this Newfangled Technology
 
Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)
 
Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave Sadlon
 
Basic Selenium Training
Basic Selenium TrainingBasic Selenium Training
Basic Selenium Training
 
Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02
 
14_Ed_Symp_Open_Source
14_Ed_Symp_Open_Source14_Ed_Symp_Open_Source
14_Ed_Symp_Open_Source
 
Getting Deep on Orchestration - Nickoloff - DockerCon16
Getting Deep on Orchestration - Nickoloff - DockerCon16Getting Deep on Orchestration - Nickoloff - DockerCon16
Getting Deep on Orchestration - Nickoloff - DockerCon16
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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 CVKhem
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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 WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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 Takeoffsammart93
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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 StrategiesBoston Institute of Analytics
 
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.pdfUK Journal
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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 RobisonAnna Loughnan Colquhoun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Seasprint2012ploneconferencereportout

  • 1. SEA SPRINT 2012 Plone Conference 2012 Report Out Chris Calloway, Andrew Leeb, Ian Anderson, Timo Stollenwerk University of North Carolina at Chapel Hill
  • 2. CREDITS: Individual Sponsors Gonzalo Almieda Philip Bauer Elizabeth Leddy Gildardo Bautista Stephen McMahon Chris Calloway Alec Mitchell Enzo Cesanelli Calvin Hendryx-Parker Thiago Curvelo Ross Patterson Maurizio Delmonte Jeremy Phillips Cris Ewing Serge Renfer Patrick Gerken Asko Soukka Matthew Hamilton Eric Steele Dan Jacka Ulrich Stockschlaeder Andreas Jung
  • 6. CREDITS: Participants Gonzalo Almieda (flecox) Ian Anderson (ianderso) Chris Calloway (cbcunc) Cris Ewing (cewing) Rok Garbas (garbas) Nathan Van Gheem (vangheem) Rob Gietema (robgietema) David Glick (davisagli) Calvin Hendryx-Parker (calvinhp) Andrew Leeb (ableeb) Clayton Parker (claytron) Ross Patterson (rpatterson) Eric Steele (esteele) Timo Stollenwerk (tisto)
  • 7. CREDITS: Remote Participants Ed Manlove The Cafecito Sprint Team UCLA OIT
  • 8. SPRINT ORGANIZATION: Total Budget $13,500 USD
  • 9. SPRINT ORGANIZATION: Focused Topic •Most important key to a successful sprint •Game changer: Deco •Target: Plone 4.x
  • 10. SPRINT ORGANIZATION: Time And Place •Sprint, eat, sleep, sprint •Attractive location •Airport accessible •Good enough network
  • 11. SPRINT ORGANIZATION: Time And Place •Off-season availability •Prior to Plone Conference •Scheduled around other events
  • 12. SPRINT ORGANIZATION: Invitations •Examined repository activity for related packages •Deco, toobar, tiles, blocks, CMSUI, collective.cover
  • 13. SPRINT ORGANIZATION: Fundraising •Chipin.com •Plone Foundation strategic sprint •Plone Foundation as financial agent •Plone News •Planet Plone
  • 14. SPRINT ORGANIZATION: Logistics •Coactivate.org •Blog •Email lists •Wikis •To-do lists
  • 15. SPRINT ORGANIZATION: Logistics •Temporary housing •Airport pickups •Vans to Oak Island •Kick-off dinner •Meal service
  • 16. Sea Sprint Report out Oak Island, NC Sept 21 - 24
  • 18. Focus on UI Implementation • Prototype Layout Editor - lots and lots of Javascript • Lots and lots of Javascript testing - coverage reports, linting, acceptance tests • zope.testbrowser had no javascript support • plone.app.toolbar - use first version • plone.app.deco - out of date tests • plone.app.imagetile • plone.app.texttile
  • 19. UI Team - consistency with editing • Deco Layout Team - initial version with drop zones, fixed width drop zones • Toolbar - overlays, iframes oh my! • Text Tile - TinyMCE loading serial reuse issue • Image Tile - image shows, but is not editable, traversal issues, no scaling, notifies ContentModified • Testing - unit tests, BusterJS integration, coverage, robotframework coverage
  • 20. • There was no js test coverage • plone.app.deco unit tests out of date • More than half of the team worked on testing
  • 21. Functioning Layout Editor - arbitrary columns and rows • Functioning Tiles - editing works, image stored on tile, TinyMCE loads correctly every time • Jenkins grid for Selenium, Windows VMs for multiple IE • Test coverage for Deco javascript nearly 100%! • Buster.JS integration with zope testrunner - no excuses • Documentation - cull out of date, aggregate docs via Sphinx from packages: tiles, deco, toolbar, blocks, panels, layout. Docs dev + narrative are at github/buildout.deco
  • 22. • Flexible layouts, add/remove rows and columns, resize as needed, add tiles. • Rearrange tiles as you wish, move content from one area to another. • http://www.coactivate.org/projects/sea- sprint-2012/blog/
  • 24. Robot Framework ● Generic test automation framework ● Developed by Nokia Siemens ● Open Source ● Selenium Plugin for browser tests
  • 25. Acceptance Tests ● Keyword-driven ● Behavior-driven ● Data-driven
  • 26. Robot Framework A c pa c c e tn e T ss et
  • 27. Robot Framework A c pa c c e tn e T ss et
  • 28. Robot Keywords for Plone http://ploneact.readthedocs.org/
  • 29. Jenkins ● Windows / Linux / Mac OS X ● Firefox / Chrome / IE
  • 30. Javascript Unit Tests ● Testrunner Integration ● Deco Unit Tests
  • 31. Templer / ZopeSkel ● Tile ● plone_basic ● ...
  • 32. Thoughts and Future Directions
  • 33. Future Directions • Remaining bugs in layout editor • no undo • smarter resizing columns • Further testing for layout editor • No drag and drop tests (yet) • Testing for tiles - Templer!!!
  • 34. Future Directions • Need more tiles • Replacement tiles for existing core viewlets • Migration path from portlets, viewlets • Replace portlet machinery with Deco theme editor/tile mechanics
  • 35. Future Directions • Integration with Diazo theming • Toolbar Placement (with content, or at top) • Editing is now done in different ways based upon Deco or Dexterity. • Metadata is un-editable on a Deco page.
  • 36. Potential Issues • Introduction of more complexity in theme • Introduction of (more) iframes • Context can be lost • Potential for impacting accessability
  • 37. Thoughts • We need to have a way of incorporating new web technologies like Bootstrap into Plone in a manageable, reproducible way. • Deco brings about a new way of interacting with the layout of a Deco page, and the ability to make items like landing pages in a very interactive way.

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. These 12 items were the result of a 3 hour planning session, after the kick-off dinner\nThese were narrowed down as the most important and achievable given the 2 day timeframe\nWell reasoned ambition - sprinters included people heavily involved with Deco/Tiles development: \n Cris Ewing - UCLA tiles\n Rok Garbas - toolbar, deco\n David Glick - tiles\n Nathan Van Gheem - UI/JS/CSS\n Gonzalo Almeida - collective cover JS/CSS\n\n
  18. This is an overview of the topics that were worked on during the sprint, or required special attention\n\n\n\n\n\n\n
  19. Day 1 Report Out Summary\nVideo conference was set up for the UI sprinters to discuss editing experience\nDeco’s layout interface\nModal popups\nTile editing vs current editing interface\n\nKeep Deco’s JS and CSS resources separate from the site frontend - iframes\nReimplement drag and drop for rows and columns in the layout editor - Rob Gietema’s implementation automatically created rows and columns if tile near edge of row or column. However, it was discovered that users were inadvertently creating layouts when they didn’t want to. Also, no way to separate out permissions (layout creation, tile placement). collective.cover - separates arranging layout from placing tiles, but can’t handle dragging between multiple iframes, uses jquery ui drag-and-drop, which is too big and does not perform well (according to Rok)\n\nNew implementation has ideas from both older version of Deco and collective.cover\n\nRok fixed toolbar, TinyMCE\n\nIan and myself fixed, reimplemented Image Tile\n\n\n
  20. \n
  21. Day 2 Report Out Summary\n\nlayout editor rows and columns, resizable, tiles can be moved between rows & columns\n\nimage tile traversal issue solved, editing image solved by whitelisting elements so button clicks don’t get swallowed, custom image widget\n\ntile urls fixed, will work with VHM\n\n\n\nshow demo here David Glick’s demo http://www.screencast.com/t/1BFjd89Xio\n\n
  22. example.tile package\nzopeskel template for creating tiles\nbuster-selenium - BusterJS tests run alongside Python unit tests via zope.testrunner\n14 acceptance tests yesterday p.a.toolbar\n12 on p.a.deco\nMost of deco is covered now 41 tests!\n\nremoved useless controlpanel for p.a.deco\n\nAccomplished by 14 Plone developers in 36 hours - 18 hours Saturday and Sunday.\n\n\n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n