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

Selenium In The Real World
Selenium In The Real WorldSelenium In The Real World
Selenium In The Real World
iainrose
 
Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02
Kdeepapal Mishra
 
14_Ed_Symp_Open_Source
14_Ed_Symp_Open_Source14_Ed_Symp_Open_Source
14_Ed_Symp_Open_Source
Steve Arnold
 

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

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

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