Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Stato della arte di Plone: verso Plone 6

36 views

Published on

Il presente e il futuro di Plone e le dinamiche dello sviluppo di un prodotto open frutto del lavoro di una community.
A breve è previsto il rilascio di Plone 5.2 che sarà compatibile con Python 3. Nel medio periodo (2020) è previsto il rilascio di Plone 6 che avrà a bordo Volto, il framework in ReacJS che consente di gestire i contenuti Plone.
Plone si posiziona quindi come un potente CMS headless che offre maturità, sicurezza, robustezza e flessibilità aperto, per il frontend, ai moderni framework javascript.

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Stato della arte di Plone: verso Plone 6

  1. 1. PloneDayWorldagile.open.connected https://bit.ly/2VWTaAq Stefano Marchetti PloneDayWorld Stato dell’arte di Plone: verso Plone 6 Bologna 20 maggio 2019
  2. 2. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Cosa vi racconto Vi racconto il presente e il futuro di Plone e le dinamiche dello sviluppo di un prodotto open frutto del lavoro di una community !2https://bit.ly/2VWTaAq
  3. 3. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 !3https://bit.ly/2VWTaAq
  4. 4. Status Quo Sfide e soluzioni Short-Term Roadmap (Plone 5.2) Mid-Term Roadmap (Plone 6) Plone 6 Roadmap PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 !4
  5. 5. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected • Maturo, molto sicuro, flessibile ed estensibile • Esperienza utente e accessibilità • Adatto a varie audience • Workflow complessi, permessi sofisticati, alta modularità !5 Plone Status-quo
  6. 6. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 • Più device mobile che richiedono migliore esperienza utente, tempi di risposta veloci dei siti hanno portato innovazione tecnologica. • Javascript è la tecnologia web abilitante . • Tecnologie open come ReactJS offrono UX, velocità, funzionalità, buon codice e grandi comunità. !6https://www.abdulvasi.me/wp-content/uploads/2016/07/bigstock-Challenges-Road-Sign-3530978.jpg
  7. 7. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Aggiornare il backend Creare un nuovo frontend con una migliore usabilità Sfide e soluzioni Negli anni la Plone community ha identificato una serie di sfide e tasks. 6 5.2 !7
  8. 8. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 !8https://www.brightspot.com/blog/decoupled-cms-and-headless-cms-platforms Cms Headless
  9. 9. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected • Velocità delivery dei contenuti • Integrazioni di terze parti facili e sicure • Consente agli sviluppatori di usare gli strumenti e frameworks preferiti • A prova di futuro perché integra facilmente nuove tecnologie !9 Vantaggi CMS Headless http://bit.ly/2JpOVaF
  10. 10. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected • Nessuna funzionalità di presentazione • Difficile avere una preview live accurata dei contenuti • Richiede tecnologie aggiuntive per la “head” • Per Plone, avendo, anche il tema di base Barceloneta non ci sono questi svantaggi !10 Svantaggi CMS Headless http://bit.ly/2JpOVaF
  11. 11. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Short-term Roadmap Plone 5.2 !11
  12. 12. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Sotto la superficie Cosa c’è dietro allo sviluppo di un sistema complesso come un CMS? E come si arriva ad una nuova versione del CMS? !12https://www.vvox.it/wp-content/uploads/2015/05/Iceberg-1030x773.png
  13. 13. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 World Plone Day 2017 Parlavamo, a tendere, di Python 3 ma soprattutto di CMS Headless !13https://bit.ly/2VWTaAq
  14. 14. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Sprint 2017 Uno sprint è un momento in cui la comunità si trova fisicamente per parlare/pianificare o scrivere codice. Per 2-3 giorni o una settimana da 5-10 persone ma anche 30-40 persone. !14https://bit.ly/2VWTaAq
  15. 15. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected SORRENTO - ITALIA 18-22 APRILE 2017 • Plone 5.1 RC quasi pronta • Plone 5.2 (Zope 4, RESTAPI) • Plone 6 (Pastanaga UI, …) • Plone come Headless CMS • Implementazione del frontend Pastanaga (in Angular e React) • Plone andrà su Python 3 Plone Open Garden Roadmap Discussion !15 https://scontent-atl3-1.cdninstagram.com/vp/7a98c33c92ad9854fb9ca2227a3d421f/5D30B5FE/t51.2885-15/ e35/57343634_2240276519572100_2249735197716012549_n.jpg?_nc_ht=scontent-atl3-1.cdninstagram.com
  16. 16. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected Spint ad invito: il focus è Pastanaga, il nuovo UX framework per Plone Lo sprint ha lo scopo di: • pastanaga: MVP (Minimal Viable Product) • Implementare pastanaga.io Pastanaga Sprint !16https://www.slideshare.net/kitconcept/pastanaga-ui BONN - GERMANY 15-17 NOVEMBRE
  17. 17. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Sprint 2018 !17
  18. 18. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected INNSBRUCK, AUSTRIA 25-29 GENNAIO 2018 Temi dello sprint • Plone core development con un focus su Zope 4 e Python 3 • Plone 5.2 documentazione • miglioramenti UI/UX Alpine City Sprint !18https://community.plone.org/t/alpine-city-strategic-sprint-2018-technical-report/5685
  19. 19. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected HALLE - GERMANIA 16-18 MAGGIO 2018 Temi dello sprint • Zope 4 è già in beta, è ora di portare le app che girano su Zope a Zope 4 • Zope 4 supporta Python 3, è ora di portare le app che girano su Zope a Python 3 Zope 4 Welcome Sprint !19https://blog.gocept.com/2018/04/03/
  20. 20. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected BONN - GERMANY 21-25 GIUGNO Temi dello sprint: • Pastanaga UI • plone-react • plone.restapi • Guillotina • Widgets Bonn Beethoven Sprint !20https://plone.org/events/sprints/bonn-beethoven-sprint-2018
  21. 21. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected BERGHAUSEN - AUSTRIA 11-15 LUGLIO ‘18 • Plone su Python 3 • Zope 4 • JavaScript and Plone (plone.restapi, Mockup, ReactJS). • YAFOWIL Plone integration, Python 3 Buschenschanksprint !21https://bit.ly/2VWTaAq
  22. 22. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected HALLE - GERMANIA 1-5 OTTOBRE 2018 5 giorni di sprint per Plone 5.2 • Python 3 • Zope 4 • Tests • Documentazione • UX e test accessibilità Saltlabs Sprint !22https://bit.ly/2VWTaAq Sprint da oltre 150 giorni/uomo!
  23. 23. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected GITHUB.COM OTTOBRE 2018 Il nostro CMS preferito è atterrato nel mondo Python 3! Plone Finally Supports Python 3! !23https://community.plone.org/t/porting-plone-to-python-3/6226/59
  24. 24. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Sprint 2019 !24
  25. 25. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected SORRENTO - ITALIA 12-19 APRILE 2019 • Porting add-ons a Python 3 • Miglioramenti su Volto and Restapi • Accessibilità e documentazione di Plone e Volto • Marketing e Plone Conference Plone Open Garden !25https://bit.ly/2VWTaAq
  26. 26. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected HALLE - GERMANIA 8-10 MAGGIO 2019 • E’ iniziato il tramonto di Python 2 • Zope supporta Python 3 • Mancano gli ultimi “ritocchi” Rilasciato il 10 maggio! Zope Spring Cleaning Sprint !26https://dslcleaning.it/wp-content/uploads/2018/07/dsl-cleaning-home-2.jpg
  27. 27. Plone 5.2 Python 3 - #2368 Plone 5.2 supporta Python 3.6 e 3.7 e anche Python 2.7 Zope 4.0 - #1351 Plone 5.2 usa Zope 4.0. Zope 4 è stato “ripulito” e supporta Python 2.7, 3.6 and 3.7 WSGI Plone 5.2 gira di default su WSGI-server con opzioni alternative. Quando usa Python 2.7 è possibile anche usare lo ZServer Stato dell’arte di Plone: verso Plone 6 Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected !27
  28. 28. Plone 5.2 Plone.Restapi - #2177 Plone 5.2 ha di base plone.restapi Nuovo menu navigazione con dropdown - #2516 Nuovo menu di navigazione, dropdown, più veloce, configurabile Gestione Link - #1486 Il nuovo pannello di controllo dei Link consente agli ammistratori di aggiungere e gestire alias e redirect Stato dell’arte di Plone: verso Plone 6 Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected !28
  29. 29. Plone 5.2 New Login - #2092 Il login è stato riscritto per facilitare la personalizzazione e quello che succede dopo il login Deprecate Archetypes - #2390 Archetypes è deprecato e funziona solo con Python 2.7. Verrà rimosso del tutto con Plone 6. Other Changes - #1742 - #1653 Rimosso il support per i resource registries “vecchio stile” Rifattorizzato CMFPlone static resources Stato dell’arte di Plone: verso Plone 6 Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected !29
  30. 30. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Make Custom Packages Python 3 Ready Preparation Automated Fixing With Moderniz Use precompiled Start The Instance Test functionality manually Run Tests Update Add On Information Create A Test Setup That Tests In Python 2 And Python 3 Database Migration Database Upgrade Procedure Why Do I Have To Migrate My Database Prepare Your Buildout For Migrating The Database To Python 3 Migrate Database using zodbupdate Test Migration Running Zodbupdate In Python 2 Downtime Migrare a Plone 5.2 Python 3 !30
  31. 31. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Plone 5.2 !31
  32. 32. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Plone 5.2 vanilla !32
  33. 33. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Menu dropdown !33
  34. 34. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Gestione URL alias !34https://bit.ly/2VWTaAq
  35. 35. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 5.2 quando? 5 maggio 2019 5.2rc3 Final Release: 30.06.2019 !35 5
  36. 36. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected NO! • Il passaggio va valutato caso per caso • Perché grandi attori (ad es. Linux Debian) continueranno ad offrire supporto a Python 2 !36 Devo correre ad aggiornare alla 5.2? https://oshiprint.in/image/data/poster/new/mqp429.jpeg
  37. 37. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Mid-term Roadmap Plone 6 !37
  38. 38. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Tokyo 2018 • Il mobile è ovunque • JavaScript è il principale linguaggio per il web • JS è usato anche per app desktop, native mobile e realtà virtuale • Opensource è mainstream e alcune delle più grandi aziende rendono disponibili al mondo grandi parti dei loro stack web !38https://2018.ploneconf.org/talks/reinventing-plone-roadmap-to-the-modern-web
  39. 39. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 !39https://bit.ly/2VWTaAq
  40. 40. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 La visione: dal 2014 a Tokyo 2018 Dal 2014 una visione e un sw funzionante: plone.restapi per poter usare, sopra Plone, moderni framework JavaScript per offrire una nuova esperienza utente agli editor e agli utenti finali !40https://2018.ploneconf.org/talks/reinventing-plone-roadmap-to-the-modern-web
  41. 41. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Mid-term Roadmap (Plone 6) Plone 6 uscirà con Volto, un nuovo frontend basato su ReactJS implementato sopra plone.restapi Volto combina la stabilità, la maturità e la sicurezza del backend di Plone con un frontend moderno, maturo e user-friendly e ben mantenuto http://roadmap.betterenergy.org/wp-content/uploads/2018/06/line-art-map-icons@2x.png !41https://bit.ly/2VWTaAq
  42. 42. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Mid-term Roadmap (Plone 6) Il frontend classico Barceloneta rimarrà per dare tempo agli sviluppatori e agli utenti di adattarsi. http://roadmap.betterenergy.org/wp-content/uploads/2018/06/line-art-map-icons@2x.png !42https://bit.ly/2VWTaAq
  43. 43. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Caratteristiche Plone 6 !43
  44. 44. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Status PLIP Da discutere PLIP da scrivere Da definire Da seguito alla PLIP #2014 Folderish Content / Page Il piano è semplificare la Plone User Experience cambiando la default_page in Plone 6. !44
  45. 45. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Status PLIP PLIP approvata. Implementazione finita, serve una revisione. https://github.com/plone/ Products.CMFPlone/issues/2775 Usare Dexterity per Plone Per avere contenuti folderish serve la root del Plone site implementi Dexterity !45
  46. 46. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Status PLIP Discusso a Tokyo e Monaco. Necessari altri ragionamenti e ricerche. Non definita. collective.instancebehaviors può essere un punto di partenza Behaviors flessibili L'idea è fare in modo che un singolo oggetto/ contenuto possa avere comportamenti diversi e multipli. Volto potrebbe usare, al posto delle tiles, behaviors diversi in base al contenuto. !46
  47. 47. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Status PLIP PLIP 2812 sottomessa al framework team per la review PLIP 2812 (https://github.com/plone/ Products.CMFPlone/issues/2812) Fine del supporto per Python 2 Python 2 è deprecato con Plone 5.2. Python 3 sarà la versione di default. Plone 6 non garantisce il supporto per Python 2. !47
  48. 48. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Status PLIP PLIP scritta https://github.com/plone/ Products.CMFPlone/issues/2775 Archetypes End of Life Archetypes sono deprecati con Plone 5.2 e non usciranno con Plone 6. E’ improbabile che gli Archetypes funzioneranno con Python 3 e Plone 6. !48
  49. 49. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Alpha1: ottobre 2019 Beta1: dicembre 2019 Release finale: marzo 2020 Release Schedule per Plone 6.0 !49
  50. 50. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Guillotina 2 “side” projects Volto !50
  51. 51. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected • Framework web su Python 3 • Compatibile plone.restapi compliant • Super-scalabile • Asynchronous • Alternativa per il backend di Plone-React !51 Guillotina: Python AsyncIO REST API Framework https://bit.ly/2VWTaAq Importato wikipedia in una ora!
  52. 52. PloneDayWorld PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 !52 Volto è un frontend ReactJS per CMS e supporta 3 backend: Plone, Guillotina and a NodeJS
  53. 53. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected • Volto è considerato maturo e fornisce le funzionalità di base di Plone basandosi su un framework Javascript moderno, maturo e a “prova di futuro”. • Volto 1.0 è stato rilasciato a settembre 2018 ed è già usato in produzione su vari siti. !53 Volto è maturo? http://bit.ly/2JxsBw3
  54. 54. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected No! • E’ possibile usare Volto o l’interfaccia classica, in particolare per scenari ad “alta sicurezza” • Un utente con JS disabilitato nel browser è in grado di vedere i contenuti del sito, come la classica interfaccia Plone !54 E’ l’unica interfaccia di gestione? http://bit.ly/2JqsfHn
  55. 55. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Demo Volto !55
  56. 56. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Login !56
  57. 57. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6https://bit.ly/2VWTaAq !57
  58. 58. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Accesso A Plone !58
  59. 59. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected !59
  60. 60. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Creazione pagina !60
  61. 61. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6https://bit.ly/2VWTaAq Manca il video Con la create !61
  62. 62. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Modifica del contenuto !62
  63. 63. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected !63
  64. 64. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Sposto i blocchi nella pagina !64
  65. 65. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected !65
  66. 66. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Metadati della pagina !66
  67. 67. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected !67
  68. 68. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Menu contestuale azioni, history, permessi, ecc. !68
  69. 69. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected !69
  70. 70. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 Contenuto su Plone !70
  71. 71. Stato dell’arte di Plone: verso Plone 6PloneDayWorldagile.open.connected !71
  72. 72. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 First Google Season Of Plone è stato selezionato nella prima Google Season of Docs. Plone è tra le 50 organizzazioni open source scelte per inaugurare l'iniziativa che mette in contatto le comunità open con gli scrittori tecnici. https://plone.org/news/2019/plone-selected-to-participate-in-first-google-season-of-docs !72https://bit.ly/2VWTaAq
  73. 73. PloneDayWorldagile.open.connected Stato dell’arte di Plone: verso Plone 6 !73https://bit.ly/2VWTaAq agile.open.connected Stefano Marchetti

×