smau milano 2012 massimiliano del cero
TRANSCRIPT
![Page 1: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/1.jpg)
Y Entities Persistent System
Roberto ScanoMassimiliano Dal Cero
Stefano Fratepietro
![Page 2: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/2.jpg)
PERCHÈ È NATO (... STA NASCENDO)
• troppi vincoli espressivi negli altri prodotti
• necessità di maggior velocità di sviluppo
• necessità di avere non solo post e pagine
• necessità del multi lingua nativo
• unire le caratteristiche di differenti prodotti in un unica soluzione
• semplicità per l'end-user
![Page 3: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/3.jpg)
PERCHÈ PHP(SAPPIAMO CHE ESISTONO ALTRE TECNOLOGIE ANCHE MIGLIORI)
•economicità
•diffusione di hosting che lo supportano
• linguaggio noto in larga scala
![Page 4: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/4.jpg)
OBIETTIVI
*velocità*
*libertà*
*flessibilità*
*semplicità*
* sicurezza*
*rilasciarlo sotto licenza GPL*
![Page 5: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/5.jpg)
VELOCITÀ( DI SVILUPPO E DEPLOY )
• veloce perchè si lavora con html che facilmente e velocemente si trasforma in template personalizzati
• fast deploy: un installer rapido e facile esportazione/importazione da un host ad un altro
![Page 6: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/6.jpg)
LIBERTÀ( DI PERSONALIZZAZIONE )
• facile e veloce configurazione con config.xml da impostare
• Templating xml in stile JSTL e Tails
• Tag estendibiili
•Web-designer friendly : Nessun codice nella gestione del template
![Page 7: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/7.jpg)
FLESSIBILITÀ( DI GESTIONE DEI CONTENUTI )
• Entità estendibili tramite un descrittore xml
• Gestione delle liste e tassonomie sempre tramite xml
• Accesso veloce alle entità da integrare nel template
![Page 8: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/8.jpg)
SEMPLICITÀ
• l'end-user si ritrova un pannello di amministrazione mirato alle sue esigenze
• widget pronti e dedicati per ogni personalizzazione
![Page 9: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/9.jpg)
SICUREZZA• Tutto gestito da un ORM (Doctrine), nessuna query
SQL utilizzata direttamente
• Catena della request http regolata da regular-expression
• $_REQUEST processata e “purificata” da un “agente” (as a service) e si userà l’oggetto YRequest al suo posto
• Pre-rendering del codice html generati: quindi possibilità di analisi del codice in uscita da un “agente” (as a service) per “purificarlo”
• Due livelli di accesso alle risorse (possibilità di mettere read only il livello interno delle librerire, modelli, controller, templates)
• prossimamente:"components center" che permetterà di avere un luogo dove risiederanno solamente i componenti "verificati"
![Page 10: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/10.jpg)
DOVE USARLO• Con l’installazione di base lo si può
utilizzare in un contesto semplice come un blog
• Ma, essendo strutturato a più livelli dedicati, si integra bene in realtà più complesse quale una web-agency dove convivono ruoli e competenze differenti:
• web-designer,
• sviluppatore del modello,
• sviluppatore della UI,
• SEO specialist
![Page 11: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/11.jpg)
STRUTTURA #1
![Page 12: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/12.jpg)
STRUTTURA #1 PUBLIC
![Page 13: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/13.jpg)
STRUTTURA #2 PRIVATE
![Page 14: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/14.jpg)
Request HTTP
proxyStatic rsc
Mai
n C
ontr
olle
r
page controller
reg-
ex c
hain
FAILfail controller
output controller FAIL
template
template
data
template compiler
Entities (model)
![Page 15: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/15.jpg)
Controllo url basato su regex
multilingua nativo
gestione labeldel sito “key-value”
multilingua
gestione liste e tassonomie
gestione del template
gestione delle entity di modello
generazione url semantici
Oggetto dedicato alla transliterazione dei parametri
tra graffe
![Page 16: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/16.jpg)
![Page 17: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/17.jpg)
$[x] => n-esimo elemento tra parentesi tonde della regular-expression
#[x] => n-esimo elemento dell'url in lingua dentro al tag <it> o <en> nel mapping xml dei controller
%[x] => n-esimo elemento dell'url passato al ytag
@[x] => n-esimo elemento dell'url dell'address bar ( /prima/secondo/terzo/ )
${...} => per ogni ${...} chiedo al "Translator" di ridarmi il valore corretto
![Page 18: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/18.jpg)
gti (get image)
flusso del template controllato da tag xml
Controller con il codice strettamente necessario
![Page 19: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/19.jpg)
ovviamente c’è anche la versione semplificata per la gestione di una pagina
![Page 20: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/20.jpg)
ovviamente c’è anche la versione semplificata per la gestione di una pagina
![Page 21: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/21.jpg)
widget di backend(estendibili)
![Page 22: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/22.jpg)
ESEMPI D’USO
![Page 23: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/23.jpg)
ESEMPI D’USO
![Page 24: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/24.jpg)
TEMPLATING
Main template View Template
HTML
richiama
![Page 25: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/25.jpg)
TEMPLATING
![Page 26: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/26.jpg)
box da innestare nel main template
associazione al main template
![Page 27: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/27.jpg)
COSA MANCA ?
• ACL a grana fine
• Refactoring
• Cache system
• Completare la parte dei componenti
• Component center
• API stabili
• Entity History
• ...
![Page 28: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/28.jpg)
QUANDO ?
Primo rilascio previsto per il primo quarto del
2013
![Page 29: Smau milano 2012 massimiliano del cero](https://reader033.vdocuments.pub/reader033/viewer/2022052621/5585a00ed8b42a6c1a8b45e7/html5/thumbnails/29.jpg)
DOMANDE ?
Y Entities Persistent System