Gestione corsi con TYPO3

698 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
698
On SlideShare
0
From Embeds
0
Number of Embeds
92
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Gestione corsi con TYPO3

  1. 1. Bologna 28/29 Ottobre 2011 Soluzioni TYPO3 per la gestione di corsi on-line Oratore: Ivano Luberti T3Camp Italia Il secondo evento italiano dedicato a Typo3
  2. 2. Presentazione dell'oratore <ul><li>Nel 1996 si laurea in Scienze dell'Informazione all'Università di Pisa
  3. 3. Nel 1996 è cofondatore di Archimede Informatica Società Cooperativa di cui è attualmente Vicepresidente,
  4. 4. Dal 2009 ha cominciato a realizzare portali con TYPO3 sia come integrator sia personalizzando estensioni e scrivendone di proprie
  5. 5. In Archimede Informatica si occupa di progettazione e sviluppo applicativi e siti web </li></ul>Ivano Luberti
  6. 6. Archimede Informatica <ul><li>CNR di Pisa (vari istituti)
  7. 7. Legacoop Nazionale e quasi tutte le Legacoop Regionali
  8. 8. Università di Pisa, Università di Firenze, Università della Calabria
  9. 9. ASI - Agenzia Spaziale Italiana
  10. 10. Opera Primaziale Pisana
  11. 11. Language Logic L.L.C. - USA
  12. 12. The 3rd Degree Limited – Londra
  13. 13. Gruppo ATS: Ats, Alcor, AlhenaCom, Klabs, Klarya
  14. 14. Edizioni PLUS – University Press di Pisa
  15. 15. Centro di Ricerca Beni Culturali (CriBeCu) - Scuola Normale di Pisa
  16. 16. Comune di Pisa e di Pistoia </li></ul>Alcuni clienti e partner
  17. 17. Definizione del problema <ul><li>Use cases: manager, utenti
  18. 18. Pubblicazione di un catalogo di corsi con descrizione dettagliata (programma, data, location, docenti.....)
  19. 19. Funzioni di backoffice per la gestione di tutti i contenuti
  20. 20. Funzioni di backoffice per la gestione delle iscrizioni
  21. 21. Funzionalità di front-end per l'iscrizione degli utenti
  22. 22. Possibilità di pagamento on-line con carta di credito (richiesto Paypal) </li></ul>Le specifiche del cliente
  23. 23. Fase di progettazione <ul><li>Ricerca di estensioni esistenti: in una comunità open source il riuso è il vantaggio fondamentale.
  24. 24. Costruzione di una griglia delle funzionalità per verificare aderenza ai requisiti.
  25. 25. Verifica delle funzionalità: test per verificare che le estensioni realizzino le funzionalità dichiarate.
  26. 26. Verifica di eventuali conflitti e dell'entità delle dipendenze
  27. 27. Individuazione delle funzionalità mancanti, della esistenza di hook per poterle implementare e, in caso di possibilità alternative, valutazione dei costi di sviluppo.
  28. 28. Verifica della bontà del codice: rispetto delle guidelines TYPO3, leggibilità del codice, esistenza di hook per le necessarie personalizzazioni </li></ul>Metodologia di lavoro
  29. 29. Griglia di valutazione Back end dati corsi FunzionalitàExt Seminar Manager (seminars) Event Database ( rlmp_eventdb) Seminar management (abcourses) Più istanze stesso 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. 30. Griglia di valutazione Back end: gestione iscrizioni FunzionalitàExt 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. 31. Griglia di valutazione Front end: pubblicazione dati FunzionalitàExt 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. 32. Griglia di valutazione Front end: iscrizione utenti FunzionalitàExt 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. 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. 34. Fase di progettazione <ul><li>Abbiamo valutato varie estensioni: quelle riportate qui' sono quelle con i requisiti minimi.
  35. 35. Seminar Manager (seminars) si è rivelata di gran lunga la soluzione più completa
  36. 36. Il criterio prevalente è stato, dopo la rispondenza alle specifiche, il grado di mantenimento del codice. </li></ul>And the Winner is......Seminar Manager!
  37. 37. Seminar Manager (seminars) <ul><li>Autore Oliver Klee
  38. 38. Nome: Seminar manager
  39. 39. TER key: seminars
  40. 40. Versione: 0.9.2: l'autore usa una numerazione molto conservativa, il codice e' stabile e attivamente sviluppato (fork per TYPO3 5)
  41. 41. Features: automatic configuration check, supporto configurazione via tyopscript e flexform
  42. 42. Il codice aderisce alle TYPO3 coding guidelines ed e' in generale ben strutturato, segue il paradigma MVC </li></ul>Caratteristiche
  43. 43. Seminar Manager (seminars) <ul><li>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. 44. TYPO3 4.2
  45. 45. css_styled_content, static_info_tables (2.0.8) e static_info_tables_taxes
  46. 46. Oelib (0.7.0) : libreria di utilities dello stesso autore: automatic configuration check, funzioni manipolazione e lettura templates HTML, testing tools.
  47. 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. </li></ul>Dipendenze
  48. 48. Sviluppo <ul><li>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. 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. 50. Estensione del nostro plugin per Paypal IPN per aggiornare registrazioni Seminar Manager (seminars) in caso di avvenuto pagamento on line </li></ul>Estensioni sviluppate
  51. 51. Conclusioni <ul><li>Soluzione completa ad un costo contenuto
  52. 52. Tempi di realizzazione brevi grazie al riuso
  53. 53. Semplice far accettare la soluzione al cliente grazie all'integrazione della soluzione in un ambiente di lavoro omogeneo per il cliente
  54. 54. Produzione di codice proprio riutilizzabile </li></ul>Conclusioni

×