Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Stato della arte di Plone: verso Plone 6

49 vues

Publié le

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.

Publié dans : Internet
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

×