SlideShare uma empresa Scribd logo
1 de 54
Drupal 7 User Experience Bojhan Somers & Roy Scholten
Drupal 7 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Drupal’s Usability *sucks*
Drupal’s unusability ,[object Object],[object Object],[object Object],[object Object]
2009: Drupal 7UX Mark Boulton Leisa Reichelt
Grooste problemen ,[object Object],[object Object],[object Object],[object Object]
Kern van het probleem ,[object Object],[object Object]
Probleem 1 Wat is de voorkant (site) en de achterkant (admin)?
 
Probleem 2 Waar vind ik mijn content?
 
Probleem 3 Waar vind ik mijn functionaliteit?
 
 
 
 
Probleem 4 ,[object Object],[object Object],[object Object]
Before After
Before After
Contextual links
Actions
Module links
Nog veel meer… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Theming Drupal 7
Less is more…
Bye-bye ugly old themes
What about Garland? ,[object Object]
New front-end theme in progress
New admin theme:  Seven
New theming tools
New no-theme:  Stark
More focus on front-end code ,[object Object],[object Object],[object Object],[object Object],[object Object]
tpl.php  ("tipplephip" )
html.tpl.php
Page anatomy
region.tpl.php
CSS
Dynamicly add classes
Everybody hates system.css ,[object Object],[object Object],[object Object],[object Object]
CSS code style ,[object Object],[object Object],[object Object]
php
Flexible rendering
themes can hook_form_alter ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
hook_form_alter example
hook_form_alter example, 2
And much much more …
Changes, changes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Is Drupal 7 ready yet? ,[object Object]
For D6: Mothership theme ,[object Object],[object Object],[object Object]
For D6: Semantic views module ,[object Object],[object Object]
Tips for Drupal 6 fronteers … ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Theming docs & info ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design in open source Few designers: pick your battles   Communicating design to a large audience is hard   "You are not your target audience" – 1 UX designer overrules 700 developer opinions…
Dank u! vragen? @bojhan / @royscholten

Mais conteúdo relacionado

Mais procurados

8 things to know about theming in drupal 8
8 things to know about theming in drupal 88 things to know about theming in drupal 8
8 things to know about theming in drupal 8Logan Farr
 
Drupal Javascript for developers
Drupal Javascript for developersDrupal Javascript for developers
Drupal Javascript for developersDream Production AG
 
Drupal 8 introduction to theming
Drupal 8  introduction to themingDrupal 8  introduction to theming
Drupal 8 introduction to themingBrahampal Singh
 
Converting (X)HTML/CSS template to Drupal 7 Theme
Converting (X)HTML/CSS template to Drupal 7 ThemeConverting (X)HTML/CSS template to Drupal 7 Theme
Converting (X)HTML/CSS template to Drupal 7 ThemeAdolfo Nasol
 
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011camp_drupal_ua
 
Roman Chernov.Panels custom layouts.DrupalCampKyiv 2011
Roman Chernov.Panels custom layouts.DrupalCampKyiv 2011Roman Chernov.Panels custom layouts.DrupalCampKyiv 2011
Roman Chernov.Panels custom layouts.DrupalCampKyiv 2011camp_drupal_ua
 
Features everywhere
Features everywhere Features everywhere
Features everywhere Mediacurrent
 
Drupal 8 Configuration Management for you and your team
Drupal 8 Configuration Management for you and your teamDrupal 8 Configuration Management for you and your team
Drupal 8 Configuration Management for you and your teamLuc Bézier
 
Getting started with drupal 8 code
Getting started with drupal 8 codeGetting started with drupal 8 code
Getting started with drupal 8 codeForum One
 
Rewriting the Drupal Theme layer
Rewriting the Drupal Theme layerRewriting the Drupal Theme layer
Rewriting the Drupal Theme layerc4rl
 
Introduction to Composer for Drupal
Introduction to Composer for DrupalIntroduction to Composer for Drupal
Introduction to Composer for DrupalLuc Bézier
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Anne Tomasevich
 
Drupal 8 theming deep dive
Drupal 8 theming deep diveDrupal 8 theming deep dive
Drupal 8 theming deep diveRomain Jarraud
 
Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009
Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009
Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009Krista Thomas
 
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...DrupalCampDN
 
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)c4rl
 
Drupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systemsDrupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systemsAlex S
 
Introduction to Theme Preprocess Functions
Introduction to Theme Preprocess FunctionsIntroduction to Theme Preprocess Functions
Introduction to Theme Preprocess Functionsc4rl
 

Mais procurados (20)

8 things to know about theming in drupal 8
8 things to know about theming in drupal 88 things to know about theming in drupal 8
8 things to know about theming in drupal 8
 
Drupal Javascript for developers
Drupal Javascript for developersDrupal Javascript for developers
Drupal Javascript for developers
 
Drupal 8 introduction to theming
Drupal 8  introduction to themingDrupal 8  introduction to theming
Drupal 8 introduction to theming
 
Converting (X)HTML/CSS template to Drupal 7 Theme
Converting (X)HTML/CSS template to Drupal 7 ThemeConverting (X)HTML/CSS template to Drupal 7 Theme
Converting (X)HTML/CSS template to Drupal 7 Theme
 
Drupalcampatl d7
Drupalcampatl d7Drupalcampatl d7
Drupalcampatl d7
 
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
 
Roman Chernov.Panels custom layouts.DrupalCampKyiv 2011
Roman Chernov.Panels custom layouts.DrupalCampKyiv 2011Roman Chernov.Panels custom layouts.DrupalCampKyiv 2011
Roman Chernov.Panels custom layouts.DrupalCampKyiv 2011
 
Features everywhere
Features everywhere Features everywhere
Features everywhere
 
Form Alterations
Form AlterationsForm Alterations
Form Alterations
 
Drupal 8 Configuration Management for you and your team
Drupal 8 Configuration Management for you and your teamDrupal 8 Configuration Management for you and your team
Drupal 8 Configuration Management for you and your team
 
Getting started with drupal 8 code
Getting started with drupal 8 codeGetting started with drupal 8 code
Getting started with drupal 8 code
 
Rewriting the Drupal Theme layer
Rewriting the Drupal Theme layerRewriting the Drupal Theme layer
Rewriting the Drupal Theme layer
 
Introduction to Composer for Drupal
Introduction to Composer for DrupalIntroduction to Composer for Drupal
Introduction to Composer for Drupal
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8
 
Drupal 8 theming deep dive
Drupal 8 theming deep diveDrupal 8 theming deep dive
Drupal 8 theming deep dive
 
Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009
Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009
Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009
 
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...
 
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
 
Drupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systemsDrupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systems
 
Introduction to Theme Preprocess Functions
Introduction to Theme Preprocess FunctionsIntroduction to Theme Preprocess Functions
Introduction to Theme Preprocess Functions
 

Destaque

Design in opensource
Design in opensourceDesign in opensource
Design in opensourceBojhan
 
Sustainable Design Process
Sustainable Design ProcessSustainable Design Process
Sustainable Design ProcessBojhan
 
User experience in the Drupal Universe
User experience in the Drupal UniverseUser experience in the Drupal Universe
User experience in the Drupal UniverseBojhan
 
Drupal 8 UX
Drupal 8 UXDrupal 8 UX
Drupal 8 UXBojhan
 
BADCAMP 2016 - Designing Drupal 8
BADCAMP 2016 - Designing Drupal 8BADCAMP 2016 - Designing Drupal 8
BADCAMP 2016 - Designing Drupal 8Bojhan
 
Drupal 7 UX Project
Drupal 7 UX ProjectDrupal 7 UX Project
Drupal 7 UX ProjectBojhan
 
OpenSource for Entreprise
OpenSource for EntrepriseOpenSource for Entreprise
OpenSource for EntrepriseEric Fesler
 
Introduction To Opensource And GNU/Linux
Introduction To Opensource And GNU/LinuxIntroduction To Opensource And GNU/Linux
Introduction To Opensource And GNU/LinuxSheila Eiffert
 

Destaque (10)

Design in opensource
Design in opensourceDesign in opensource
Design in opensource
 
Sustainable Design Process
Sustainable Design ProcessSustainable Design Process
Sustainable Design Process
 
User experience in the Drupal Universe
User experience in the Drupal UniverseUser experience in the Drupal Universe
User experience in the Drupal Universe
 
Drupal 8 UX
Drupal 8 UXDrupal 8 UX
Drupal 8 UX
 
BADCAMP 2016 - Designing Drupal 8
BADCAMP 2016 - Designing Drupal 8BADCAMP 2016 - Designing Drupal 8
BADCAMP 2016 - Designing Drupal 8
 
Drupal 7 UX Project
Drupal 7 UX ProjectDrupal 7 UX Project
Drupal 7 UX Project
 
Linux introduction Class 03
Linux introduction Class 03Linux introduction Class 03
Linux introduction Class 03
 
OpenSource for Entreprise
OpenSource for EntrepriseOpenSource for Entreprise
OpenSource for Entreprise
 
Opensource
OpensourceOpensource
Opensource
 
Introduction To Opensource And GNU/Linux
Introduction To Opensource And GNU/LinuxIntroduction To Opensource And GNU/Linux
Introduction To Opensource And GNU/Linux
 

Semelhante a Fronteers - Drupal 7 ux

Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Angela Byron
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...Eric Sembrat
 
Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesShabir Ahmad
 
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...DrupalCamp Kyiv
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Ryan Price
 
Drupal theming - a practical approach (European Drupal Days 2015)
Drupal theming - a practical approach (European Drupal Days 2015)Drupal theming - a practical approach (European Drupal Days 2015)
Drupal theming - a practical approach (European Drupal Days 2015)Eugenio Minardi
 
Drupal
DrupalDrupal
Drupalbtopro
 
Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7drupalcampest
 
Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Andrew Martha
 
The State of Drupal 8
The State of Drupal 8The State of Drupal 8
The State of Drupal 8nyccamp
 
Drupal 8 Initiatives
Drupal 8 InitiativesDrupal 8 Initiatives
Drupal 8 InitiativesAngela Byron
 
Drupal 6 Overview
Drupal 6 OverviewDrupal 6 Overview
Drupal 6 OverviewRyan Cross
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - LondonMarek Sotak
 
Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008
Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008
Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008Mir Nazim
 
Theming in Drupal 8 (everything)
Theming in Drupal 8 (everything)Theming in Drupal 8 (everything)
Theming in Drupal 8 (everything)Kirill Borzov
 

Semelhante a Fronteers - Drupal 7 ux (20)

Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
 
Drupal6 and Drupal 7 difference
Drupal6 and Drupal 7 differenceDrupal6 and Drupal 7 difference
Drupal6 and Drupal 7 difference
 
Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API Changes
 
Drupal 7 UX –
Drupal 7 UX – Drupal 7 UX –
Drupal 7 UX –
 
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
 
Drupal theming - a practical approach (European Drupal Days 2015)
Drupal theming - a practical approach (European Drupal Days 2015)Drupal theming - a practical approach (European Drupal Days 2015)
Drupal theming - a practical approach (European Drupal Days 2015)
 
Drupal
DrupalDrupal
Drupal
 
Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7
 
Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7Upgrading your site from Drupal 6 to Drupal 7
Upgrading your site from Drupal 6 to Drupal 7
 
The State of Drupal 8
The State of Drupal 8The State of Drupal 8
The State of Drupal 8
 
Drupal 8 Initiatives
Drupal 8 InitiativesDrupal 8 Initiatives
Drupal 8 Initiatives
 
Drupal 6 Overview
Drupal 6 OverviewDrupal 6 Overview
Drupal 6 Overview
 
Drupal Theming
Drupal Theming Drupal Theming
Drupal Theming
 
Drupal by fire
Drupal by fireDrupal by fire
Drupal by fire
 
Drupal
DrupalDrupal
Drupal
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - London
 
Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008
Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008
Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008
 
Theming in Drupal 8 (everything)
Theming in Drupal 8 (everything)Theming in Drupal 8 (everything)
Theming in Drupal 8 (everything)
 

Fronteers - Drupal 7 ux

Notas do Editor

  1. Goedenavond, Bojhan Somers & Roy scholten - UX Maintinaers van Drupal 7 Betekend afgelopen 2 jaar, alle veranderingen op het gebied van UI Kleine, zoals tekst en grote zoals de informatie architectuur van drupal
  2. Er zijn heel wat wijzingen in Drupal 7… CCK in core Image handeling Update manager Rdf support Ectra…. Maar deze talk gaat voornamelijk in op de verandering op gebied van de interface en front-end.
  3. Drupal is best moeilijk kost veel tijd om te leren simpele dingen, kosten te veel tijd Grootste nadeel van Drupal usability veel mensen haken af in begin
  4. 2008 Twee usability tests pijnlijk duidelijk dat de gebruiksvriendelijkhe van drupal dramatisch was. Wake up call voor de community, en vooral z’n leaders om dit onderwerp aan te pakken eind 2008 vomd zich een UX-Team er is vanuit de community behoefte aan “erkende” experts op dit gebied ipv de mening van elke developer over de usability van een probleem
  5. Maart 2009 – Aankondiging Mark Boulton en Leisa Reichelt gesponserd door Acquia, een drupal support bedrijf fulltime gaan werken aan de user experience van drupal 7 Grote impact op community Veel stof opwaaien omdat ze onderwerpen aansneden, die enigszins controversieel waren Sinds maart Close samengewerkt Feedback geven op hun ideeën Goed en toegepast genoeg zijn om ze in Drupal core te krijgen Om richting te geven hebben wij toen een lijst opgesteld met de volgende problemen :
  6. Uit lab test kwam naar voren Onduidelijk of je in de admin zit Drupal geen admin theme, visueel is er geen verschil tussen de admin en de site. Het vinden van content, nadat deze was gemaakt (komt niet op homepage) Deze functionaliteit is toch vrij cruciaal in een CMS Vinden functionaliteit Nadat je een plugin (module) heb geinstaleerd… dit terwijl je vaak 20/30 moet instaleren on any typical site. - Ten slote, werd Drupal getesiterd door vele kleine usability problemen – die in hun geheel eigenlijk nog voor meer verwarring zorgde dan de grote; de consistencie die vaak afwezig is, veel te veel help tekst, onduidelijke labels ect..
  7. Door Drupal zijn technische insteek, hadden we de grootste doelgroep, en vaak ook onze client – eigen verwaarloost. De content schrijver… De focus van het Drupal 7UX van Mark Boulton en Leisa reichelt was dan ook focusen op de content schrijver.
  8. Vooral nieuwe gebruikers liepen tegen dit probleem op: Als je start is het niet duidelijk wanneer je in de admin interface zit, en wanneer je in de site zit Drupal 6 is dit met elkaar vermengd We zagen in tests dat de eerste paar minuten dat menen Drupal gebruiken, al meteen erg verward zijn over dit. Dit zorgde ervoor dat we veel initele verwarring over wat de admin is van je website weg namen, en ook dat we visueel veel meer consistentie en rust konden brengen in de administratie ervaring.
  9. De eerste groote verandering die we hebben gemaakt is dan ook het introduceren van een admin theme genaamd “Seven”. Visuele consistentie konden creëren Gebruiker word niet afgeleid door “site” elementen Rust (visueel niet druk)
  10. Wanneer je content creëert binnen in Drupal, heb je eigenlijk 50% kans dat deze niet op de home page komt. (vanwege pagina typen) Gebruikers hun content niet kunnen vinden Kunnen hun content niet editen Kunnen geen nieuwe content creëren Het vinden van deze administratie pagina Verstopt in de administratie
  11. We hebben nu de informatie architectuur dichter bij de gebruiker gebracht : Toolbar, boven aan de site Waar direct links zijn naar content, creëren van content staan Voor veel content schrijvers, is deze content admin pagina vaak het start punt..
  12. In Drupal 6 is het vaak moeilijk kritische functionaliteit te vinden…. Maar zoals eerder aan gegeven, is het vooral een probleem als je enkele modules begint te instaleren. We hebben dan ook de Informatie Architectuur van Drupal compleet veranderd. Drupal 6 heeft eigenlijk 1 grote sitemap, een grote dumping ground voor links…. Waarbij we 4 vrij los gedefineerde categorieen hebben, met daarin de functionaliteit gesorteerd op alphabet. En dit model bestond eigenlijk omdat Drupal, vooral om draaid dat je functionaliteit kan toevoegen zonder de core te hoeven hacken. Daardoor kon je niet bepalen, welke functionaliteit het belangrijkste is of welke met elkaar samen werken. Hierdoor onstonden er allerlei problemen, mensen kunnen functionaliteit niet vinden – maar voornamelijk functionaliteit die je in combinatie met elkaar gebruikte stond soms mijlen ver van elkaar vandaan.
  13. Drupal 6 1 grote sitemap grote dumping ground voor links 4 los gefineerde categorien De functionaliteit gesorteerd op alfabet. modulaire informatie architectuur geen aannames maken op welke functionaliteit belangrijker is. Dit model - allerlei problemen - Als je een bepaalde workflow had, waarbij je meerdere modules nodig had Over de gehele pagina moest scannen constant, om het te vinden Geen verwachting patroon in voor de gebruiker, vaak zagen we dat die resulteerde tot de browser search om deze pagina te gebruiken. Nieuwe informatie architectuur – ik zal er enkele behandelen
  14. Content pagina, waarop je gewoon een listing heb van je content.
  15. Structure is waar vaak gebruikte functionliteit die je tijdens het bouw process gebruikt komen. Dit omdat deze vaak gebruikte wat af te scheiden van configuratie opties.
  16. Ten slotte de Configuratie pagina.. Deze categorie was in Drupal 6 eigenlijk een grote lijst, met soms 30 tot 40 links. Dit was eigenlijk de grootste uitdaging, deze pagina heeft namelijk als doel om de functionaliteit van 20/30 modules die kunnen worde geïnstalleerd logisch in te delen. En deze 20/30 modules hangt geheel af welke van de 4000 bestaande modules worden geïnstalleerd. Na het analyseren van deze grote group modules, hebben we categorieën gemaakt Anticiperend op de modules die nu niet meer van belang zijn (omdat ze in core zitten) Modules die belangrijk worden in Drupal 7, zoals fields, RDF ect
  17. De vele kleine problemen zijn op te delen in twee onderwerpen… Tekst, copywriting in Drupal – is vaak gefocused op het zo gedetaileerd mogelijk uitleggen wat de functie doet, en het onsluiten van alle edge cases…. Eigenlijk veelal probeerde de tekst een slechte interface op te lossen. Workflow. - Vooral de navigatie naar functionaliteit waarbij je de context verloor.
  18. Drupal heeft heel erg last van het fenomeen Omschrijving Puur alleen om het hebben van een omschrijving Elk field moet een beschrijving onder komen staan Toen we dit hadden verwijderd – konden we deze kleine winst, waar iedereen mee eens was gebruiken als patroon in Drupal
  19. Nog voorbeeld – Taxonomy pagina Een hele lap met tekst, scrollen om bij de functionaliteit te komen In de lab test Gebruikers die de tekst lazen, waren meer verward dan die werkelijk het probeerden te gebruiken Reduceren Twee regels tekst ONTO: Workflow
  20. Concept, dat we steeds meer in de community ontwikkelde modules zagen. Contextual links Acties die gerelateerd zijn aan het object waar je over heen hoverd met je huis. Tools dichter bij je te brengen Vaak kost het je 4/5 kliks om bij de juiste administratie pagina te komen Verlies je de context die nodig is.
  21. Wat uit de gebruikers testen bleek Meeste moeite met het onderscheiden van de listing tabs en de ene actie. - Dit koste per actie, vaak enkele seconde extra
  22. Elke keer als je een module installeert moet je deze configureren en de permissies zetten. En zelfs met de nieuwe informatie architectuur, kost het vinden van deze toch nog wat tijd. Daarom hebben we ook besloten om deze links, veel dichter bij de workflow van het “instaleren” te brengen. Want zelfs ervaren Drupal gebruikers vergeten de permissies vaak te zetten.
  23. En dan hebben we eigenlijk nog niet eens alle ux features gehad… We hebben onder de toolbar, een aantal shortcuts zitten die je per gebruiker van je site kan instellen. We hebben een dashboard…. We hebben een default profile en dus ook een non-default, waardoor developers gemakkelijker met een empty shell kunnen beginnen En nog een tal van kleinere verbeteringen…
  24. Ok, dan gaan we nu de belangrijkste veranderingen voor fronteers en themers op een rijtje zetten
  25. Om maar te beginnen met de eerste indruk...   Als je nu D6 installeert heb je de keuze uit een paar pre-historische themes. Echt voor elk wat wils…
  26. Bijna alle oubollige themes zijn uit core verwijderd. (Voor de liefhebber nog steeds verkrijgbaar in contrib)   Dat ruimt alvast aardig op. Maar er zijn ook nieuwe themes toegevoegd…
  27. Garland is de afgelopen twee versie het standaard theme geweest (front en back-end dus)
  28. Er wordt hard aan gewerkt om ook een nieuw standaard theme voor de voorkant te introduceren. Is nog werk in uitvoering
  29. Seven is het nieuwe standaard admin-theme. Zoals Bojhan al aangaf neemt een admin theme een belangrijk ux struikelblok weg. Maar het biedt ook voordelen voor de themer, die zich nu tot het vormgeven van de voorkant kan beperken.
  30. Goed, dat zijn de kant en klare themes. Maar in 99,9% van de gevallen wil je natuurlijk zelf iets maken. Drupal 7 biedt frontenders een aantal nieuwe mogelijkheden voor het nog beter customizen van de standaard Drupal HTML, CSS en JavaScript output. Daarvoor moet ik jullie nog aan 1 extra nieuw core theme voorstellen…
  31. Het is niet gemakkelijk om inzicht te krijgen in welke html en css waar door Drupal gegenereerd wordt.   De templates die de html genereren  en css bestanden zijn over allerlei module-mappen verspreid. Om front-enders op eenvoudige manier inzicht te geven in de default HTML en CSS die core levert is Stark theme geintroduceerd. Stark voegt GEEN styling toe behalve wat positionering zodat je makkelijk met je browser en Firebug kunt rondneuzen.
  32. Stark is daarmee niet alleen een handige tool voor nieuwelingen die de frontend output van Drupal willen inspecteren. Het was ook een flinke stok achter de deur voor de community zelf om de boel eens flink onderhanden te nemen. Want die default output blonk niet echt uit in semantisch minimale pracht. Tijdens de ontwikkelcyclus van D7 is er dan ook meer dan ooit activiteit geweest rondom het opschonen van Drupal's default output. Laten we de meest belangrijke veranderingen doornemen:
  33. Even in het kort iets over hoe een Drupal pagina tot stand komt. Modulariteit is een kernwaarde van Drupal en dat vind je ook de theming layer terug. Een pagina bestaat uit een flink aantal verschillende template bestanden die elk een deel van het renderen van de pagina op zich nemen. In core zijn iets van 40 van dit soort templates te vinden.   Contrib modules die zich met de weergave van content bemoeien voegen daar nog weer extra templates aan toe. (doornemen) Regions zijn de main containers in je page – header, sidebars, content, footer etc.
  34. Bijvoorbeeld de nieuwe html.tpl.php (voorheen was page.tpl de main wrapper om alles) Je ziet hoe hier eigenlijk alleen de doctype en containers voor head en body gedefinieerd worden (page_top en page_bottom zijn special, hidden regions) in $page wordt de inhoud van page.tpl.php getoond…
  35. Na page.tpl.php komt region.tpl.php. Da's een heel eenvoudige
  36. Een heel simpel template voor de wrapper om de hoofdonderdelen op de pagina zoals header, footer, sidebars en content   Mocht je dus je eigen html voor elke region willen definieren,   Bijvoorbeeld omdat je altijd een div en een div-inner wil gebruiken zodat je margins/paddings aan de -inner kunt toevoegen zonder de box model te breken (I know, I know… :-)   Ddan maak je in je eigen theme je eigen versie van region.tpl.php aan.
  37. En zo zijn de meeste core tpl.php bestanden grondig herzien. De default is nog lang geen superstrakke lean & mean semantische html maar duidelijk verbeterd. Goed. door naar de CSS Echt een tak van sport die onderbelicht is/was in de Drupal community. Gelukkig begint ook daar verandering in te komen en heeft D7 aantal flinke stappen in de goede richting gezet.
  38.     Nog even terug naar de region tpl.php. Nieuwe feature is dat je aan elke tpl dynamische classes kunt toevoegen. Dit maakt het mogelijk om slimmere, 'context-aware' classes toe te voegen die je dan naar believen kunt stylen
  39.   System.css is zo'n beetje de moeder van alle CSS bestanden in Drupal. En het is echt een halfbakken mengelmoes van borders en margins en paddings etc. Meeste themers kicken system.css het liefst geheel uit de rendering. Lullige was dat er ook een paar styles in zaten die cruciaal waren voor het functioneren van een aantal ui componenten. System.css is nu zodanig opgesplitst dat het makkelijker wordt om de presentatie styles in zijn geheel te verwijderen zonder dat je functionaliteit breekt.   Er zijn plannen om dit ook voor contrib modules de standaard te maken: module.css module-behavior.css Hierdoor hoef je geen wanstaltige reset.css telkens weer bij te werken maar kun je zonder zorgen alle presentatie styles verwijderen uit de rendering.
  40. Ja, nog een teken dat er meer waarde wordt gehecht aan de front end code: Drupal's code staat bekend om vrij hoge kwaliteit van de code. Strikte regels voor hoeveel spaces een tab mogen zijn, hoe comments geplaatst worden etc. Nog niet iedereen is het er mee eens, maar er begint zich ook een standaard voor Drupal's CSS notatie af te tekenen
  41. Tot zover de CSS onderwerpen Nu een aantal van de belangrijke veranderingen op php niveau
  42. Ok, je bent op het punt aanbeland dat je een content item (node) wil gaan weergeven. Die content zit in de $content variabele, een array met daarin alle info over titel, body, het plaatje, de tags etc. Nou wil je die items natuurlijk wel eens in een andere volgorde tonen. Dat kon op zich al, maar installeerde je daarna nog een module of definieerde je zelf nog een extra veld voor die node, dan gooide dat die array overhoop en moest je alles weer opnieuw nalopen.   met de nieuwe hide(); en render(); functies is dat verleden tijd en is je custom rendering dus 'forward compatible'
  43. Je kunt vanuit je theme al vrij veel dingen overriden, maar customizen van admin en andere formulieren hoorde daar niet bij.   Daarvoor schreef je dan een kleine custom module met daarin de gewenste aanpassingen. Vanaf Drupal 7 zijn deze zogenaamde hook_alters ook vanuit je theme inzetbaar Geen nieuwe functionaliteit per se dus, maar een uitbreiding van de mogelijkheiden vanuit je theme . De laatste twee spreken redelij voor zich.  We bekijken een voorbeeldje van een hook_form_alter
  44. Probleem: Je wil de buttons voor het commentaar formulier een ander label meegeven en er wat html omheen zetten zodat je ze in z'n geheel makkelijker zou kunnen positioneren.
  45. Dus, dit is het beoogde eindresultaat: Andere teksten en een divje eromheen voor positioning. Daaronder de code die dit mogelijk maakt. - 'pretty' is de naam van je theme - 'form_comment' is de id van het formulier     Nu moet je voor dit soort zaken dus nog een custom moduletje schrijven. Vanaf D7 kan dit vanuit je theme.     (Nee klopt, niet het meest zinnige voorbeeld maar het gaat om het principe nietwaar?)       (Als je Save en Preview zou vertalen dan gebeurt dat op elke plek waar deze termen gebruikt worden dus dat zou niet werken)
  46. Nog wat kleinere zaken die fijn zijn als je al bekend bent met D6 Voor nieuwkomers als het je al wat zegt zijn het vooral vrij obvious dingen waar Drupal wat minder eigenwijs is in hoe zaken aangepakt worden
  47. Eerste helft 2010… Maar voor productiesies zit je nog wel tijdje met Drupal 6. Wie is er hier nu al een Drupal themer? Veel van deze discussie vertaald zich naar contrib modules, die zijn nu eenmaal sneller te realiseren. Dus ook voor Drupal 6 zijn er voor fronteers tools beschikbaar om nettere front-end code te genereren.
  48. Mothership is een zeeeeer grondige reset van core CSS en HTML CSS classes worden gestript en core CSS files worden overschreven of uitgesloten Alle core tpl files en een aantal van de belangrijke voor contrib (views, cck) zijn erin verzameld en herschreven met minimale HTML Gebruik Mothership als basetheme en hang je eigen subtheme eronder waarin je de gewenste classes en id's weer toevoegt.
  49. Zelfde verhaal voor de output van de populaire Views module   Semantic views module is een 'row style' plugin voor Views waarmee je de html en classes die voor elk item in de view gebruikt wordt kunt definieren
  50. De laatste link is een intro op hoe zelf themes te maken die zich wel baseren op de default html en hoe je daar met vooral CSS mee kunt vormgeven.
  51. Wat links naar docs en een presentatie
  52. Maar waarom wij twee hier vooral zoveel energie in hebben gestoken is dat we beiden overtuigd zijn van het belang van design in open source projecten.   Wat het Drupal 7UX project vooral bloot legde, is dat we eigenlijk voor de verkeerde target group ( die van de expert user) aan het designen waren.   Die expert user ( de developer) is natuurlijk het meest aanwezig in de gesprekken over het verbeteren van een interface.   Het is dus aan de designer om 700 expert meningen tegen te houden en zich op te stellen als de vertegenwoordiger van de 700.000 end users die dagelijks moeten werken met de site die de experts voor ze gebouwed hebben. Het duurt even voordat je dat vertrouwen gewonnen hebt…   Want de preferred solution in OS user interface design is om in geval van twijfel niet zelf te kiezen maar het een optie/preference te maken. Terwijl de UX designer nou juist probeert de gebruiker zo min mogelijk te vermoeien met 'stuff' en erop hamert zelf deze keuzes al te maken.   Met Drupal 7 is ons dat op belangrijke punten al aardig gelukt. De tijd zal uitwijzen of we het bij het rechte eind hadden :)