Plone 5 - lo stato dell'arte

Preview:

DESCRIPTION

Presente e futuro di Plone: lo stato dell'arte di Plone 5

Citation preview

agile.open.connected

Lo stato dell’arte di Plone 5

Bologna 30 aprile 2014

Stefano Marchetti

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

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

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

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

Utenti e gruppi - login

✓ Implementazione più moderna con z3c.form

✓ Da implementare l’autenticazione da sorgenti esterne

Utenti e gruppi- registrazione

✓ La registrazione funziona

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

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

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

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? 

Pannello di controllo: miglioramenti

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

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

Struttura: gestione di una cartella con contenuti

Pick-a-date

Widget per i correlati

TinyMCE - Editor

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à

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

Composite page

✓ Vogliamo mettere assieme:

‣ tile: la nuova cosa “cool” del momento

‣ viewlet: un componente base Plone

‣ portlet: ne abbiamo alcune tonnellate in giro

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

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

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

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

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>"

}

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

Grazie.

Stefano Marchetti

Domande?

http

s://w

ww.

flickr.

com

/pho

tos/

jaygo

oby/

3885

4987

20

Stefano MarchettiRedTurtle’s co-founder e PM

stefano@redturtle.it

@stemrc

www.redturtle.it

@redturtle

facebook.com/redturtle

Recommended