Transcript
Page 1: Plone 5 - lo stato dell'arte

agile.open.connected

Lo stato dell’arte di Plone 5

Bologna 30 aprile 2014

Stefano Marchetti

Page 2: Plone 5 - lo stato dell'arte

Documentazione - docs.plone.org

✓ http://docs.plone.org è online

✓ Ha contenuti aggiornati ma anche (in progress in attesa dei contenuti):

‣ ricerca per versione di Plone

‣ lingua

Page 3: Plone 5 - lo stato dell'arte

Documentazione:focus

✓ Avere la documentazione in un posto solo per aiutare le persone ad usare Plone e per migliorare la sua qualità

✓ La prima cosa è stata collezionare e capire quali contenuti sono adatti per:

‣ integratori

‣ sys admin

‣ sviluppatori

‣ utenti

Page 4: Plone 5 - lo stato dell'arte

Documentazione - strategia

✓ La strategia è quella di rendere più semplice essere nel documentation team:

‣ quindi piccoli e semplici pezzi da gestire

‣ create nuove linee guida: questo è utile sia per Plone che per gli Addon

‣ organizzati molti sprint per coinvolgere più persone

Page 5: Plone 5 - lo stato dell'arte

Documentazione - strumenti

✓ Papyrus (https://github.com/plone/papyrus) trasforma i sorgenti reST in HTML/PDF

‣ RoboFramework cattura le immagini direttamente da Plone

‣ Transifex  (https://www.transifex.com/) è molto utile per migliorare il lavoro dei redattori

Page 6: Plone 5 - lo stato dell'arte

Utenti e gruppi - login

✓ Implementazione più moderna con z3c.form

✓ Da implementare l’autenticazione da sorgenti esterne

Page 7: Plone 5 - lo stato dell'arte

Utenti e gruppi- registrazione

✓ La registrazione funziona

✓ L’indicatore della “qualità” della password e la registrazione da sorgenti esterne sono da implementare

Page 8: Plone 5 - lo stato dell'arte

Utenti e gruppi - control Panel

✓ Compatibile con il nuovo stile Plone

✓ Mostra più info sull’utente: data di registrazione, data ultimo login, se il login è consentito e se l’indirizzo email è verificato

✓ Azioni “massive”: aggiungere molti utenti ad un gruppo o aggiungere un ruolo a tanti utenti

Page 9: Plone 5 - lo stato dell'arte

Utenti e gruppi- author page

✓ La “author page”, con le attività, è fusa con la pagina di profilo dell’utente

‣ Foto grande, Biografia, Attività

‣ Location, email, telefono

✓ Il form di edit del profilo è una combinazione della attuale “info utente” e del form delle preferenze

✓ E’ possibile gestire i campi (TTW), il nome non è più un campo “monolitico” obbligatorio

Page 10: Plone 5 - lo stato dell'arte

Utenti come contenuti - Pros and Cons

Pros Cons Same tools / API for dealing with content Time to index / catalog overhead

 Ability to query users as content  Navigation issues

Ability to search users as / with content Getting update from external user source

Ability to workflow users / users have workflow state Complexity / size of task

Ability to create permissions on users / fence users to permissions

Backwards compatibility with pre-existing applications

Memberdata integrates with user Way to designate members from potential members in an external source

If using email address as login, and login changes, then the redirector already works. What user owns a user if user in content? 

Page 11: Plone 5 - lo stato dell'arte

Pannello di controllo: miglioramenti

Page 12: Plone 5 - lo stato dell'arte
Page 13: Plone 5 - lo stato dell'arte

Mockup e widget

✓ Obiettivo principale: avere “widget” agnostici dalla tecnologia che possono essere riutilizzati come i Lego per costruire widget più complessi, con i pattern come idea

‣ Frontend: plone.github.io/mockup/dev/

‣ Backend: plone.app.widgets

✓ L‘idea è di avere qualcosa di client side in modo che chi si occupa di JS si possa unire alla community

Page 14: Plone 5 - lo stato dell'arte

Target di Mockup

✓ Nuovi sviluppatori di frontend: loro non devono sapere nulla di Plone ma solo di pattern e le buone pratiche di JS

✓ I plonisti che dovrebbero “solo riusare” i pattern esistenti

✓ Gli utenti finali che avranno una migliore UI

Page 15: Plone 5 - lo stato dell'arte

Struttura: gestione di una cartella con contenuti

Page 16: Plone 5 - lo stato dell'arte

Pick-a-date

Page 17: Plone 5 - lo stato dell'arte

Widget per i correlati

Page 18: Plone 5 - lo stato dell'arte

TinyMCE - Editor

Page 19: Plone 5 - lo stato dell'arte

Content type con Dexterity

✓ Volevamo che l’utente potesse definire i propri contenuti senza il bisogno di un programmatore

‣ Volevamo anche i behaviors (e.g. leadImage)

✓ Avevamo Dexterity ma non i tipi standard (adesso sì)

✓ Avevamo bisogno delle stesse funzionalità

Page 20: Plone 5 - lo stato dell'arte

Content type - strategia generale

✓ Interessa soprattutto gli end user!!

✓ I tipi di default che possono essere estesi!

✓ Vogliamo sorprendere gli utenti, non rompere nulla, “solo” dare loro ulteriori poteri

✓ Quale è lo stato dell’arte?

‣ pronto per la produzione

‣ la migrazione dei contenuti base pronta

‣ stiamo lavorando sulla migrazione di contenuti “custom”Ph

oto

by s

ickm

outh

y -

Crea

tive

Com

mon

s At

trib

utio

n-N

onCo

mm

erci

al L

icen

se h

ttp:

//w

ww

.flic

kr.c

om/p

hoto

s/32

2241

33@

N07

Page 21: Plone 5 - lo stato dell'arte

Composite page

✓ Vogliamo mettere assieme:

‣ tile: la nuova cosa “cool” del momento

‣ viewlet: un componente base Plone

‣ portlet: ne abbiamo alcune tonnellate in giro

Page 22: Plone 5 - lo stato dell'arte

Composite page - vincoli

✓ vogliamo avere una UI più usabile

‣ basta con tre colonne e portlet che non passano da una all’altra

✓ ci serve un motore di “regole”

‣ se non ho più le colonne come mi regolo con l’ereditarietà?

✓ vogliamo essere retrocompatibiliPh

oto

by k

evin

doo

ley

- Cr

eativ

e Co

mm

ons

Attr

ibut

ion

Lice

nse

htt

p://

ww

w.fl

ickr

.com

/pho

tos/

1283

6528

@N

00

Page 23: Plone 5 - lo stato dell'arte

Composite page - idee e piani

✓ sfruttare Dexterity e i behaviour

‣ creiamo dei layout e associamoli ai contenuti (TTW)

✓ miglioriamo la UI di gestione delle portlet

‣ Drag & drop, popover per la modifica, ecc.

✓ Sprint in Giugno a Barcellona

Page 24: Plone 5 - lo stato dell'arte
Page 25: Plone 5 - lo stato dell'arte

Barceloneta e refactor di Plone

✓ Volevamo il tema di default di Plone in HTML 5:

‣ responsive

‣ “pulito”

‣ semantico (e.g. <article>, <footer>, <time>, ecc.)

✓ Barceloneta è sia un tema Diazo che un esempio di come creare un tema Plone

Page 26: Plone 5 - lo stato dell'arte

Plone RESTish API

✓ Obiettivo: aprire Plone a qualsiasi “tool/applicazione” esterno

✓ Ottimo per frontend non plonish

✓ Basato su REST:

‣ /++api++<version>/<dialect>/

‣ la ‘version’ per mantenere compatibilità nel tempo

‣ il ‘dialect’ per partire con JSON e domani JSON-LD (Linked Data) o XML

Page 27: Plone 5 - lo stato dell'arte

Plone REST API - leggere la pagina (GET)

GET /plone/++api++1/json/a-document HTTP/1.1

Host: http://nohost

HTTP/1.1 200 OK

Content-Type: application/json

{

"title": "A document",

"description": "Test",

"body": "<p>Some <i>HTML</i></p>"

}

Page 28: Plone 5 - lo stato dell'arte

Tutto bello, quando?!? Quando sarà pronto ;-)

Page 29: Plone 5 - lo stato dell'arte

Grazie.

Page 30: Plone 5 - lo stato dell'arte

Stefano Marchetti

Domande?

http

s://w

ww.

flickr.

com

/pho

tos/

jaygo

oby/

3885

4987

20

Stefano MarchettiRedTurtle’s co-founder e PM

[email protected]

@stemrc

www.redturtle.it

@redturtle

facebook.com/redturtle