MiTo SettembreMusica

7 contenuti / 0 new
Ultimo contenuto
MiTo SettembreMusica

Ciao a tutti. Mi scuso per la mia recente latitanza dal forum. Questo è il motivo principale:
http://www.mitosettembremusica.it/
Di carne al fuoco ce n'è tanta, per cui segnalo solo qualche cosa a cui tengo di più, per il resto, chiedete pure.

  • Sito bilingue con gestione del bilinguismo personalizzata, in quanto alcuni tipi di nodo hanno nodo originale/nodo tradotto, mentre altri hanno nello stesso nodo campi in italiano e campi in inglese; non ho usato i18n, ma solo Translations del core di Drupal
  • Si è costruito un vero e proprio database con i brani e gli eventi della manifestazione; a loro volta, i brani sono definiti da altre caratteristiche (esecutori, autori, generi); il tutto, in un delirio di nodereference, con l'aggiunta finale di un modulo ancora sperimentale (flexifield), per gestire la nidificazione di nodi con associati campi di definizione (es. associare un esecutore al brano, ma all'esecutore deve essere associato anche uno strumento e gli esecutori possono essere da 1 a n)
  • Si sta ultimando il laborioso processo di conversione del precedente archivio brani/eventi, che a suon di CSV e node_import è stato portato nella nuova articolatissima struttura del database
  • Strumenti di ricerca multipli, con mix nell'utilizzo di views, di query ad hoc e dell'indice di ricerca di Drupal per ottenere i risultati (anche a causa dell'estrema frammentazione dei dati nel db)
  • Ci sono state richieste "estreme" (;)) di personalizzazione delle procedure legate a registrazione e accesso utenti registrati. In alcuni casi, le procedure standard sono state modificate da moduli custom; in altri casi ho usato Rules per definire procedure aggiuntive
  • Sulla base del modulo phpList, ho integrato completamente la gestione delle preferenze di iscrizione alla newsletter con il profilo utente: a PHPList vengono passati i dati sui generi musicali preferiti e la provincia di residenza, per effettuare eventuali invii mirati; iscrizione e cancellazione avvengono solo tramite Drupal, l'utente finale non vede mai PHPList, che viene usato dagli amministratori solo per spedire effettivamente le newsletter
  • Flag è stato usato per la sezione di personalizzazione del programma da parte degli utenti, che possono scegliere eventi preferiti e, a parte, eventi per cui ricevere degli avvisi
  • Content Profile gestisce i campi di registrazione, sia per gli utenti-pubblico, sia per l'area giornalisti. Di fronte alla necessità di differenziare fortemente sia i campi, sia le funzioni disponibili e con poco tempo a disposizione per fare esperimenti, ho optato per creare un sito parallelo con i contenuti dedicati ai giornalisti, in cui essi effettuano l'accesso. La cosa è stata tenuta il più possibile "trasparente" per evitare che si crei confusione
  • Utilizzo di Date/Calendar per visualizzare i calendari, ma con una navigazione molto personalizzata, dato che si devono vedere solo i calendari di settembre di qualsiasi anno (e in più, ci sono eventi anche non in settembre...)
  • La sezione multimedia si appoggia su risorse esterne: le fotogallery sono importate da Flickr; i video sono caricati su un server streaming; non sono state usate tecniche tipo MediaMover, ecc.
  • Uso molto diffuso di Views come strumento di creazione rapida delle varie parti del backend: la maggior parte delle aree di amministrazione sono elenchi generati da Views con filtri esposti per facilitare la ricerca degli elementi da modificare: in questo campo, Views, secondo me ha espresso tutto il suo potenziale

La grafica non è mia, ma del mio committente: ArsMedia (Torino); il lavoro di theming (anche qui con un alto livello di personalizzazione) è stato condiviso con loro.

Un saluto particolare a vermario, che ha collaborato nelle fasi concitate immediatamente precedenti la pubblicazione del sito.

Complimenti per il lavoro, veramene fatto bene.
Vorrei farti qualche domanda in ordine sparso

  • dalla mia modesta esperienza, le relazioni tra brani,esecutori, strumenti, generi, eccetera potrebbero essere gestite anche attraverso la tassonomia. Per quali motivi hai optato per nodereference? E' un dilemma che mi trovo spesso ad affrontare e non ho ben messo a fuoco i vantaggi di una strategia rispetto all'altra.
  • la scelta del menu in flash è puramente estetica o ci sono dei vantaggi (tecnici, di gestione, etc) rispetto ad un menu dinamico, tipo suckerfish o nicemenus?
  • il server streaming è a pagamento o free? oppure hai utilizzato FFMPEG su un server privato? nel secondo caso, hai avuto modo di verificare la "pesantezza" di FFMPEG in termini di risorse del server?
  • come mai è stato necessario creare un sito a parte per la gestione dei giornalisti? cosa non è stato possibile fare con la semplice gestione dei permessi?
  • (se posso chiedere) quanto tempo è stato necessario per lo sviluppo? e quante iterazioni hai dovuto fare con il committente? hai stabilito una data di "feature freeze" con loro?
  • da 1 a 5, quanto è stata importante la collaborazione con il committente nella fase di sviluppo? voglio dire, lo so che è importante (!) tuttavia mi trovo ogni tanto con committenti che non forniscono molto input, e la cosa mi rallenta moltissimo, specialmente quando bisogna prendere delle decisioni!
  • hai sviluppato il sito con i contenuti reali o sono stati aggiunti in seguito?

Ok, mi fermo qui. ;)
Grazie e complimenti ancora.

  1. I brani, esecutori e autori non sono solo termini, ma nodi con altri componenti (una biografia per gli esecutori, per esempio). Inoltre, per gestire il bilinguismo con le tassonomie dovevo comunque fare qualche trigo (tipo usare la descrizione, ma se nelle prossime edizioni vogliono aggiungere una lingua??). L'unico campo su cui sono stato in dubbio tra tassonomia e nodi è stato il genere, ma alla fine il ragionamento sul multilinguismo ha avuto la precedenza.
  2. Il menu in Flash deriva dal fatto che si doveva far apparire il menu sull'animazione delle foto e, per evitare problemi di visualizzazione DHTML su Flash, si è optato per il menu integrato con l'animazione.
  3. Del server streaming non mi sono occupato io. È fornito da un ente piemontese che si occupa prevalentemente di queste cose. Non so se e quanto si paghi, perché potrebbero esserci accordi interistituzionali. L'encoding viene fatto prima del caricamento, manualmente, quindi FFMPEG non si usa.
  4. Sito separato per i giornalisti: dovevano avere un profilo utente sensibilmente diverso rispetto agli utenti/pubblico. Inoltre, dovevano avere una messaggistica e delle procedure di approvazione account diverse (utenti/pubblico: autoattivati; giornalisti: approvati dall'amministratore). Sono sicuro che con un bel po' di tempo in più si sarebbe trovata una soluzione monosito, ma così comunque è accettabile.
  5. Come tempo lavoro totale non ti so dire. Come giorni di calendario, il lavoro ha preso circa 2 mesi (in cui ho fatto anche altro). Tranne che su alcune funzioni specifiche, non c'è stato bisogno di molte iterazioni, perché le specifiche erano abbastanza chiare al momento della partenza (le aveva sviluppate il committente con il cliente finale)
  6. Il mio committente era soprattutto un partner nella produzione, che a sua volta aveva come committente il cliente finale. Chiaro che il rapporto con il partner è stato fondamentale. Se ti riferisci al rapporto con il cliente finale, so che comunque il rapporto era molto stretto, ma credo che la maggior parte del lavoro in quel senso sia stato fatto prima che entrassi in gioco io come produzione.
  7. Man mano che sviluppavo il sito, venivano inseriti contenuti reali. Inoltre, è stato prodotto anche un pre-sito (chiamato "coming-soon") che aveva solo alcuni contenuti e alcune funzioni (prevalentemente la registrazione degli utenti)

Grazie mille, pinolo.
Se permetti un'altra domanda che avevo dimenticato: da una prima occhiata mi sembra che tu abbia usato zen; come mai hai usato delle tabelle nidificate per (ad esempio) la visualizzazione delle views relative agli eventi in programma (tipo qui: http://www.mitosettembremusica.it/it/programma/calendario/2009-09-16.html)? non sarebbe stato sufficiente una suddivisione 50% a-la-panels?
Zen non è abbastanza robusto in termini di compatibilità cross-browser?
Grazie ancora

L'HTML del template base è stato preparato dal committente. Quella parte in particolare l'ho poi sviluppata io come theming, ma dato che il tableless era già saltato a livello di layout, ho proseguito con le tabelle per evitare casini, seguendo modelli di pagine già preparate da loro. Qui mi sono concentrato principalmente sulle funzioni.
Zen tutto sommato dovrebbe funzionare bene, comunque, con template tableless.
Ci sono stati in certi casi delle incongruenze cross-browser, ma a livello di dettagli.

Capisco. Non deve essere stato facile...
Grazie ancora per le info!

Grande pinolo!

è stato un piacere collaborare , alla prossima! :-)

Mario Vercellotti (Vermario)
Freelance
http://www.verdevelop.com