Cas d'èxit presentat a la sessió de drupal.cat on expliquem quina és la nostra metodologia de desenvolupament (a grosso modo) tot usant el cas d'èxit de la Beta del web de l'ELISAVA.
6. Característiques no tècniques
● Cadascú és expert en la seva part
● Estratègia web, UX i disseny gràfic per Optimyzet
● Projecte realitzat amb pseudo-SCRUM
● Per la beta, 5 sprints de 2-3 setemanes (2 mesos i mig)
● Equip de comunicació i sistemes implicat des del primer
dia
7. Característiques tècniques
● Drupal 7
● Alguns mòduls:
● Project core: Views, Pathauto, i18n
● Semi project core: Menu block, Menu position
● Camps: Link, Field group, Field collection,
References
● Multimèdia: Wysiwyg, Insert, Video filter, Vimeo link
formatter
● Custom: RSS link formatter, Menu images
● Tema personalitzat des de zero.
8. Nou model de desenvolupament (I)
“Si el Drupal barreja contingut i configuració(*) a la
base de dades, com ho faig per passar els meus
canvis a producció?”
● Solució 1: mode manual. Paper + llapis + molta
sort
● Solució 2: passar tota la configuració a codi i pujar
aquest codi a l'entorn que pertoqui
(*) Configuració: definició de tipus de contingut i camps, variables,
vistes, regles, estils d'imatge, etc.
9. Nou model de desenvolupament (II)
● En un model clàssic, això s'hauria d'haver fet via
codi, implementant hook_update, però no
volem morir en l'intent.
● Gràcies al “nou” paradigma d'exportables, això és
una tasca “trivial”.
● Features + Strongarm permet exportar múltiples
configuracions via UI, i generar un mòdul amb
aquesta informació.
● Context ens ajuda a gestionar la distribució dels
nostres blocs i poder-ho exportar tot a codi.
10. Nou model de desenvolupament (III)
● És bo agrupar els features en funcionalitats.
Per exemple, un feature “News” que agrupa el
tipus de contingut, els seus camps, els seus
estils d'imatge, les seves vistes, etc.
● Si ho fem bé, podem crear un banc de Features
i així reaprofitar aquesta feina per a futurs
projectes.
● Ah, i com és codi, tot pot anar cap al nostre
sistema de control de versions (Git per
descomptat :) )
11. Nou model de desenvolupament (i IV)
● Per cada projecte creem un perfil d'instal·lació.
● En aquest perfil, a part de gestionar altres
temes, generem un makefile amb tots els
mòduls i biblioteques que fem servir,
especificant versions, pegats a usar, i directoris
destí.
● Això ens facilita el treball col·laboratiu
13. Conclusions
● D7 és obligat per a tots els nous
desenvolupaments
● No podem seguir treballant amb un model
Drupal-clàssic. Cal treballar amb exportables!
● Proveu mòduls sense por, i si alguna cosa falla,
mireu de solucionar-ho. Molta gent que vindrà
darrera us ho agrairà
● Ah! I si la interfície és en anglès, traduïu-la al
català :)