domenica 20 settembre 2009

un cms semplice semplice con jsf-facelets

Dopo anni di sviluppo in PHP, è arrivato il momento di fare siti web in giava.
Molto leggeri, senza usare tutto j2ee, limitandosi a JPA+JSF+GUICE.
Scelta obbligata dai pochi mezzi a disposizione, usare tomcat invece del caro jboss.
L'idea è questa:
  1. si crea una applicazione di management (che gestisce css, templates e pagine) che verrà clonata ogni volta con tutte le funzioni di gestione.
  2. ed una applicazione web che verrà popolata da quella di management, ed inzialmente conterrà soltanto i files base:
    cartella WEB-INF con files di configurazione generici,
    prettyfaces per rewrite-url nativo
    librerie guice-jsf -primefaces/richfaces
Problematiche da gestire:
  1. creazione al volo pagine xhtml partendo dai templates e gestire i contenuti in esse tramite textarea avanzate (stile tinymce)
  2. aggiungere moduli standard per i comuni siti web: news/gallerie di foto/google maps nella pagina contatti/forum
  3. creazione al volo di componenti facelets (come tag per lista news o tag per singola news) da riutilizzare tra i contenuti html inseriti mediante tinymce
Progetti di partenza:
  1. per la gestione templates: http://code.google.com/p/prime-flowers/source/browse/#svn/trunk/simpleCMSgenerator
  2. per i contentuti del sito web in jsf_facelets_jpa: http://code.google.com/p/prime-flowers/source/browse/#svn/trunk/ZetaWeb
Tecnologie da approfondire:
  1. prettyfaces per rewrite_uri: l'uso minimale in ZetaWeb, mostra com'è possibile automatizzare la navigazione tra pagine
    - il cui path reale è in una cartella fissa (es: pages),
    - il cui url completo è www.appname.com/pages/nomePagina.xhtml
    - il cui jsf url è www.appname.com/pages/nomePagina.jsf
    - l'alias www.appname.com/nomePagina

  2. uso di Dynamic Finders (interfacce che contengono query jpa-senza scrivere implementazione): http://www.wideplay.com/dynamicfinders
  3. uso di Custom Units of Work (http://www.wideplay.com/transactionsemantics ) per il caricamento delle lazy collection in jpa in contesti transazionali + lunghi della semplice request.
Accetasi aiuti + o - volontari....

Nessun commento: