Gestione corsi con TYPO3

download Gestione corsi con TYPO3

If you can't read please download the document

Transcript of Gestione corsi con TYPO3

  • 1. Bologna 28/29 Ottobre 2011 Soluzioni TYPO3 per la gestione di corsi on-line Oratore: Ivano Luberti T3Camp ItaliaIl secondo evento italiano dedicato a Typo3

2. Presentazione dell'oratore

  • Nel 1996 si laureain Scienze dell'Informazione all'Universit di Pisa 3. Nel 1996 cofondatore diArchimede Informatica Societ Cooperativadi cui attualmente Vicepresidente, 4. Dal 2009 ha cominciato a realizzare portali con TYPO3 sia come integrator sia personalizzando estensioni e scrivendone di proprie 5. InArchimede Informaticasi occupa di progettazione e sviluppo applicativi e siti web

Ivano Luberti 6. Archimede Informatica

  • CNR di Pisa (vari istituti) 7. Legacoop Nazionale e quasi tutte le Legacoop Regionali 8. Universit di Pisa, Universit di Firenze, Universit della Calabria 9. ASI - Agenzia Spaziale Italiana 10. Opera Primaziale Pisana 11. Language Logic L.L.C. - USA 12. The 3rd Degree Limited Londra 13. Gruppo ATS: Ats, Alcor, AlhenaCom, Klabs, Klarya 14. Edizioni PLUS University Press di Pisa 15. Centro di Ricerca Beni Culturali (CriBeCu) - Scuola Normale di Pisa 16. Comune di Pisa e di Pistoia

Alcuni clienti e partner 17. Definizione del problema

  • Use cases: manager, utenti 18. Pubblicazione di un catalogo di corsi con descrizione dettagliata (programma, data, location, docenti.....) 19. Funzioni di backoffice per la gestione di tutti i contenuti 20. Funzioni di backoffice per la gestione delle iscrizioni 21. Funzionalit di front-end per l'iscrizione degli utenti 22. Possibilit di pagamento on-line con carta di credito (richiesto Paypal)

Le specifiche del cliente 23. Fase di progettazione

  • Ricerca di estensioni esistenti: in una comunit open source il riuso il vantaggio fondamentale. 24. Costruzione di una griglia delle funzionalit per verificare aderenza ai requisiti. 25. Verifica delle funzionalit:test per verificare che le estensioni realizzino le funzionalit dichiarate. 26. Verifica di eventuali conflitti e dell'entit delle dipendenze 27. Individuazione delle funzionalit mancanti, della esistenza di hook per poterle implementare e, in caso di possibilit alternative, valutazione dei costi di sviluppo. 28. Verifica della bont del codice: rispetto delle guidelines TYPO3, leggibilit del codice, esistenza di hook per le necessarie personalizzazioni

Metodologia di lavoro 29. Griglia di valutazione Back end dati corsi FunzionalitExt Seminar Manager (seminars) Event Database ( rlmp_eventdb) Seminar management (abcourses) Pi istanzestesso corso Si (topic/single event/date) No No Informazioni descrittive Location, docenti, categorie, organizzatori... No organizzatori Poca strutturazione: link a pagina info (indexed_search) 30. Griglia di valutazione Back end: gestione iscrizioni FunzionalitExt Seminar Manager (seminars) Event Database ( rlmp_eventdb) Seminar management (abcourses) Gestione iscrizioni Si Si No interfaccia dedicata Gestione tariffe Si (ma solo 2 tipi) Si (no early bird) Solo un prezzo Gestione posti disponibili Si (anche numero minimo) Si Si Esportazione dati Si No No Notifiche via mail Si (anche per raggiunto min e max) Si (solo nuova reg confirm and notify) Si (solo nuova reg confirm and notify) 31. Griglia di valutazione Front end: pubblicazione dati FunzionalitExt Seminar Manager (seminars) Event Database ( rlmp_eventdb) Seminar management (abcourses) Elenco corsi Si Si Si Elenco categorie/tipi No Si Si Ricerca e filtri Si Si Si Pubblicazione materiale riservato agli iscritti No No No 32. Griglia di valutazione Front end: iscrizione utenti FunzionalitExt Seminar Manager (seminars) Event Database ( rlmp_eventdb) Seminar management (abcourses) Registrazione on line Si Si Si Pagamento on line No Si (paymentlib e payment_method_paypal) No 33. Griglia di valutazione Utilizzabilit CriterioExt Seminar Manager (seminars) Event Database ( rlmp_eventdb) Seminar management (abcourses) Ultimo aggiornamento 2011 2008 (TYPO3 3.7) 2009 Documentazione Completa Incompleta in vari punti Completa Multilingua Si Si Si Dipendenze Si Si Si 34. Fase di progettazione

  • Abbiamo valutato varieestensioni: quelle riportate qui' sono quelle con i requisiti minimi. 35. Seminar Manager (seminars) si rivelata di gran lunga la soluzione pi completa 36. Il criterio prevalente stato, dopo la rispondenza alle specifiche, il grado di mantenimento del codice.

And the Winner is......Seminar Manager! 37. Seminar Manager (seminars)

  • Autore Oliver Klee 38. Nome: Seminar manager 39. TER key: seminars 40. Versione: 0.9.2: l'autore usa una numerazione molto conservativa, il codice e' stabile e attivamente sviluppato (fork per TYPO3 5) 41. Features: automatic configuration check, supporto configurazione via tyopscript e flexform 42. Il codice aderisce alle TYPO3 coding guidelines ed e' in generale ben strutturato, segue il paradigma MVC

Caratteristiche 43. Seminar Manager (seminars)

  • PHP 5.2: non avevamo esigenza di testare PHP 5.3 ma se lo usate testatelo (es: pbsurvey usa funzioni non disponibili in 5.3) 44. TYPO3 4.2 45. css_styled_content, static_info_tables (2.0.8) e static_info_tables_taxes 46. Oelib (0.7.0) : libreria di utilities dello stesso autore: automatic configuration check, funzioni manipolazione e lettura templates HTML, testing tools. 47. ameos_formidable di Jerome Schneider (1.1.0-1.9.99): RAD framework per lo sviluppo di estensioni TYPO3. Fornisce widget per forms, una template engine, validatori di valori nelle form, event handling via Ajax.

Dipendenze 48. Sviluppo

  • Gestione del protocollo PayPal IPN per la ricezione dei dati relativi ai pagamenti (a partire da paypalipn): paypalipn aveva varie dipendenze che per noi erano inutili e ci siamo presi solo l'essenziale. Poco pi del codice che si trova di esempio sul sito Paypal come esempio. 49. Estensione di Seminar Manager (seminars) con i gruppi di front-end per fare in modo che gli iscritti ad un corso possano avere un'area riservata 50. Estensione del nostro plugin per Paypal IPN peraggiornare registrazioniSeminar Manager (seminars) in caso di avvenuto pagamento on line

Estensioni sviluppate 51. Conclusioni

  • Soluzione completa ad un costo contenuto 52. Tempi di realizzazione brevi grazie al riuso 53. Semplice far accettare la soluzione al cliente grazie all'integrazione della soluzione in un ambiente di lavoro omogeneo per il cliente 54. Produzione di codice proprio riutilizzabile

Conclusioni