Download - Plan your Chunks! Win the Future with Information Architecture NOW

Transcript
Page 1: Plan your Chunks! Win the Future with Information Architecture NOW

Plan your Chunks!

2014 April 5

DrupalCamp Pune

@adellefrank

Win the Future with Information Architecture NOW

Page 2: Plan your Chunks! Win the Future with Information Architecture NOW

2

Page 3: Plan your Chunks! Win the Future with Information Architecture NOW

3

A bit about me & about DrupalA bit about me & about Drupal

Hi, I’m drupal

I make websites …with help from Adelle

and YOU!

Page 4: Plan your Chunks! Win the Future with Information Architecture NOW

4

Who are Y’ALL?Who are Y’ALL?

Page 5: Plan your Chunks! Win the Future with Information Architecture NOW

5

What we’ll discussWhat we’ll discuss

• Our Plan

– Slides will be posted on my blog.

– For Beginners (also good for Intermediate)

• No Coding!

• Short definitions of strange Drupal words

• What is Information Architecture (IA) & why do we need it?

• Best Practices for: Fields; Naming & Language; Paths; Entities (Taxonomy; Content Types; Users; Media; Blocks); Views & Rules; Features

• Q & A

Page 6: Plan your Chunks! Win the Future with Information Architecture NOW

6

What is Information Architecture (IA)?What is Information Architecture (IA)?

DEFINITION:

Designing and building

STRUCTURES

that make it easier to

FIND, USE, & MANAGE

shared information

on any DEVICE.

Photo Credits: hello world by Windell Oskay (https://www.flickr.com/photos/oskay/472097903); Samsung Galaxy Gear by [email protected] (http://commons.wikimedia.org/wiki/File:Samsung_Galaxy_Gear_Comparison.jpg); Flat Screen LCD television by Vector Fresh (http://vector4free.com/vector/flat-screen-lcd-television)

Page 7: Plan your Chunks! Win the Future with Information Architecture NOW

7

Why do we need (IA)?Why do we need (IA)?

"It’s a war of blobs versus chunks: sloppy blobs of where there’s no distinction between content and form versus clean, flexible, presentation-independent chunks.”

Karen McGrane (DrupalCon Portland 2013)

Photo Credits:Mystery blob of jelly in the woods by Lairich Rig (http://commons.wikimedia.org/wiki/File:Mystery_blob_of_jelly_in_the_woods_-_geograph.org.uk_-_1000481.jpg); Paneer from http://www.loveandlentil.com/2011/06/orange-paneer.html

Page 8: Plan your Chunks! Win the Future with Information Architecture NOW

8

Best practices for IA in DrupalBest practices for IA in Drupal

• Fields• Naming & Language• Paths• Entities

– Taxonomy– Content Types– Users– Media/Images– Blocks

• Views & Rules• Features

Page 9: Plan your Chunks! Win the Future with Information Architecture NOW

9

FieldsFields

• DEFINITION: place on a form where people add data.

• PARTS: – Label: tells person what kind of data to add.– Machine name: computer-friendly name used in database.– Data type: kind of data stored in this field (numbers, text, etc.).

For type details, see: https://drupal.org/node/774742 and http://drupalwatchdog.com/1/1/introduction-field-ui

– Widget: interface people use to add data (checkbox, list, etc.)– Configuration: varies by type of data and widget.– Display: what people see (view mode in D7 vs. form mode in D8),

more information at: http://www.acquia.com/blog/tutorial-drupal-8-sitebuilding-modeling-data-fields

Page 10: Plan your Chunks! Win the Future with Information Architecture NOW

10

Fields (continued)Fields (continued)

BEST PRACTICES:

• Do not share fields, because of conflicts in Field Permissions.

• Machine name: Keep it short; Only use underscores “_” instead of spaces between the letters; and follow a pre-set pattern for naming, such as: mct_data_herein (mct = my content type). This will make managing your database easier and require less developer documentation.

• Label: Keep it short and use simple language; If you need longer instructions, use the Markup field; If you have a lot of fields, use Field Groups to organize your fields so that the user is not overwhelmed.

• Configuration: think ahead when setting this, as it can be VERY difficult to change after data has already been collected (especially ‘unlimited‘ and removing options from a list).

Page 11: Plan your Chunks! Win the Future with Information Architecture NOW

11

Naming & LanguageNaming & Language

BEST PRACTICES:

•Build Multilingual in from the beginning (Title, Entity Translation, etc.). This is even easier in D8 and helps future-proof, because adding it later is VERY difficult (it impacts many parts of your site.)

•Make ALL your names meaningful and easy to understand!

•When choosing short Machine names, decide on a pattern and name all your stuff the same way. These mostly helps the developers of the site (but can sometimes impact users, too).

•When choosing Labels (people-facing descriptions), keep them short and use simple, clear words to describe them. These are to help the people using the site, not the developers.

Page 12: Plan your Chunks! Win the Future with Information Architecture NOW

12

PathsPaths

• DEFINITION: The text at the end of your web address that shows for each individual page (gostem.gatech.edu/en/planned-path).

• Multi-lingual often depends on this to determine WHICH language to show.

• Menu, the underlying part of Drupal which manages paths, is crucial to your site working correctly.

• Using PathAuto, and create patterns that:

– Are guaranteed to be unique (and so don’t overlap/conflict),

– Increase your SEO (search engine optimization)

– Are easy for people to type into their browser

– You can use for other purposes (such as showing specific related content, making filters in lists/views, and automatically creating breadcrumb navigation).

Page 13: Plan your Chunks! Win the Future with Information Architecture NOW

13

EntitiesEntities

• DEFINITION: A container for a “bundle” of fields.• Common types of entities include:

– Taxonomy– Content Types– Users– Media

Page 14: Plan your Chunks! Win the Future with Information Architecture NOW

14

TaxonomyTaxonomy

• DEFINITION: Tags in Lists.

• Most helpful if SHARED (but must be thought out to work well)

• Can be used as “List” data type in a Field.

Page 15: Plan your Chunks! Win the Future with Information Architecture NOW

15

Content TypesContent Types

• DEFINITION: a flexible type of entity that site builders can make when Core entities do not meet their needs.

• How many & when to make fields?

– Device variety

– Purposeful

– Do NOT want to change later (data loss concerns)

– Not TOO many (100 or more) for good performance

• Special field types

– Date

– Entity Reference

Page 16: Plan your Chunks! Win the Future with Information Architecture NOW

16

UsersUsers

• Think CAREFULLY about Roles people will play on the site

• Give MEANINGFUL labels

• Carefully set & test permissions.

• Be conscious that Users have accounts on the system (and are different from managed Contacts)

Page 17: Plan your Chunks! Win the Future with Information Architecture NOW

17

Media & ImagesMedia & Images

• Good default Configurations matter (Image Styles, Transliteration, Filefield Paths)

• How you organize your files on the server matters

• Media vs. IMCE

Page 18: Plan your Chunks! Win the Future with Information Architecture NOW

18

BlocksBlocks

• DEFINITION: a container (often box-like) that displays data in some area/region of your theme/design.

• Blocks are full entities that can add Fields in D8, but need Beans to make them entities in D7.

• Default interface for managing them in D7 is not user friendly (some people plan layouts with Display Suite to make this less painful).

Page 19: Plan your Chunks! Win the Future with Information Architecture NOW

19

Views & RulesViews & Rules

• DEFINITION (Views): List of entities, may be shown in different ways.

• DEFINITION (Rules): workflows that occur when other events happen in the system.

• Use Tags to organize & A scan-able naming scheme

• Rules

• Re-use components when possible (example = Emails)

• Views

– Can be displayed as a block.

– Displays in SAME vs. SEPARATE views?

– Entity Reference and Views

– Views Data Export & Views Bulk Operations (D7)

Page 20: Plan your Chunks! Win the Future with Information Architecture NOW

20

FeaturesFeatures

• DEFINITION: Exports entities and configurations as code that can be imported into another Drupal site.

• Configuration management is in Core in D8, but Features is a crucial way of managing this in D7.

• If you use Features, there are already best practices for structuring them to avoid conflicts: https://drupal.org/project/kit

Page 21: Plan your Chunks! Win the Future with Information Architecture NOW

21

Questions & Answers with Y’allQuestions & Answers with Y’all