Smau milano 2012 massimiliano del cero
-
Upload
smau -
Category
Technology
-
view
1.473 -
download
0
Transcript of Smau milano 2012 massimiliano del cero
Y Entities Persistent System
Roberto ScanoMassimiliano Dal Cero
Stefano Fratepietro
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
PERCHÈ PHP(SAPPIAMO CHE ESISTONO ALTRE TECNOLOGIE ANCHE MIGLIORI)
•economicità
•diffusione di hosting che lo supportano
• linguaggio noto in larga scala
OBIETTIVI
*velocità*
*libertà*
*flessibilità*
*semplicità*
* sicurezza*
*rilasciarlo sotto licenza GPL*
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
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
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
SEMPLICITÀ
• l'end-user si ritrova un pannello di amministrazione mirato alle sue esigenze
• widget pronti e dedicati per ogni personalizzazione
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"
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
STRUTTURA #1
STRUTTURA #1 PUBLIC
STRUTTURA #2 PRIVATE
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)
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
$[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
gti (get image)
flusso del template controllato da tag xml
Controller con il codice strettamente necessario
ovviamente c’è anche la versione semplificata per la gestione di una pagina
ovviamente c’è anche la versione semplificata per la gestione di una pagina
widget di backend(estendibili)
ESEMPI D’USO
ESEMPI D’USO
TEMPLATING
Main template View Template
HTML
richiama
TEMPLATING
box da innestare nel main template
associazione al main template
COSA MANCA ?
• ACL a grana fine
• Refactoring
• Cache system
• Completare la parte dei componenti
• Component center
• API stabili
• Entity History
• ...
QUANDO ?
Primo rilascio previsto per il primo quarto del
2013
DOMANDE ?
Y Entities Persistent System