ELISAVA Nou web institucional de l'escola de disseny
Jul 04, 2015
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à :)