elisava beta. cas d'èxit desenvolupat per ymbra

Post on 04-Jul-2015

594 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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.

TRANSCRIPT

ELISAVANou web institucional de l'escola de disseny

http://ymbra.com

http://www.elisava.net

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

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.

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.

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.

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 :) )

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

projects[boxes][version] = "1.0-beta6"projects[boxes][subdir] = contrib

projects[google_analytics][version] = 1.2projects[google_analytics][subdir] = contrib

projects[metatag][version] = 1.0-alpha3projects[metatag][subdir] = contrib

projects[draggableviews][subdir] = contribprojects[draggableviews][download][type] = gitprojects[draggableviews][download][url] = http://git.drupal.org/project/draggableviews.gitprojects[draggableviews][download][revision] = 24e6ce2cf603bbb5bad008ad14b7a1fedd91e674

projects[vimeo_link_formatter][version] = 1.0projects[vimeo_link_formatter][subdir] = contribprojects[vimeo_link_formatter][patch][1350642] = "http://drupal.org/files/settings-summary-doesnt-works.patch"

; LIBRARIESlibraries[ckeditor][download][type] = "get"libraries[ckeditor][download][url] = "http://download.cksource.com/CKEditor/CKEditor/CKEditor%203.6.1/ckeditor_3.6.1.tar.gz"libraries[ckeditor][destination] = "libraries"

libraries[jquery.cycle][download][type] = "get"libraries[jquery.cycle][download][url] = "https://raw.github.com/malsup/cycle/master/jquery.cycle.all.js"libraries[jquery.cycle][download][filename] = "jquery.cycle.all.min.js"libraries[jquery.cycle][destination] = "libraries"

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à :)

top related