build an event calendar in drupal

205
BUILD AN EVENT LISTING Site building step-by-step

Upload: acquia

Post on 04-Dec-2014

39.053 views

Category:

Technology


3 download

DESCRIPTION

To view a recording of this presentation visit:http://www.acquia.com/resources/acquia-tv/conference/build-event-calendar-drupal-hands-training-webinar-may-2-2012

TRANSCRIPT

Page 1: Build an Event Calendar in Drupal

BUILD AN EVENT LISTING

Site building step-by-step

Page 2: Build an Event Calendar in Drupal

About me

• “heather” on Drupal.org

• @learningdrupal

• @hjames

• Manager of Learning Services at Acquia

• training.acquia.com - invest in your skills!

Page 3: Build an Event Calendar in Drupal

Who this is for

• New to Drupal?

• Want to build an event calendar?

• Want to know how to extend Drupal?

• Learn site building essentials

Page 4: Build an Event Calendar in Drupal

What we’ll do

• Get inspired looking at examples

• Write our specification

• Build our event calendar

• Review list of modules used

• Find out where to learn more!

Page 5: Build an Event Calendar in Drupal

DiscoveryModels and examples

Page 6: Build an Event Calendar in Drupal

http://kilkennyevents.ie a wordpress site

kilkennyevents.ie - wordpress site

Page 7: Build an Event Calendar in Drupal

Two modes

Teaser

Full

Page 8: Build an Event Calendar in Drupal

Event submission

• Anonymous submission

• Submitter details

• Event details

• Image upload

Page 9: Build an Event Calendar in Drupal

drupalshowcase.com

Page 10: Build an Event Calendar in Drupal

“Poster view”

janepickens.com/coming-attractions

Page 11: Build an Event Calendar in Drupal

Calendar view

janepickens.com/coming-attractions

Page 12: Build an Event Calendar in Drupal

Full event page

Off-site links

Title & date

Description

Image

Page 13: Build an Event Calendar in Drupal

Etkinlik Takvim

etkinliktakvimi.org

Page 14: Build an Event Calendar in Drupal

Variety of navigation

By category

Month navigation

Todayʼs events

etkinliktakvimi.org

Page 15: Build an Event Calendar in Drupal

Browse by date

imamuseum.org - drupal

Page 16: Build an Event Calendar in Drupal

Custom theming

imamuseum.org - drupal

Page 17: Build an Event Calendar in Drupal

Filtered list

Page 18: Build an Event Calendar in Drupal

Event submission

Page 19: Build an Event Calendar in Drupal

Approval queue

Page 20: Build an Event Calendar in Drupal

Depends on needs

• Frequency of events?

• Multiple days?

• Images for events?

• Who is submitting events?

Page 21: Build an Event Calendar in Drupal

Specification

Page 22: Build an Event Calendar in Drupal

Mini calendar

Page 23: Build an Event Calendar in Drupal

Browse events

Page 24: Build an Event Calendar in Drupal

Content display

• Full page

• Teaser mode in Venue listing page

• Table showing titles and images

Page 25: Build an Event Calendar in Drupal

Really local events

• Logged in users can submit events

• Associate events with a specific venue

• Show listing of event “teasers” on one page

• Filter by venue

• Show mini-calendar in block

• Display full event

Page 26: Build an Event Calendar in Drupal

A basic content typeStarting out of the box

Page 27: Build an Event Calendar in Drupal
Page 28: Build an Event Calendar in Drupal

Add content

Page 29: Build an Event Calendar in Drupal

Structure > Content types > Add content type

Page 30: Build an Event Calendar in Drupal
Page 31: Build an Event Calendar in Drupal
Page 32: Build an Event Calendar in Drupal

Add content

Page 33: Build an Event Calendar in Drupal

Test!

Page 34: Build an Event Calendar in Drupal

Published

Page 35: Build an Event Calendar in Drupal

Event URL

Manually

With Pathauto

Custom patterns

Page 36: Build an Event Calendar in Drupal

Pathauto patterns

Page 37: Build an Event Calendar in Drupal

Other patterns

Page 38: Build an Event Calendar in Drupal

Improvements

• Defaults: No comments, no menu

• Add a date field

• Add a related venue field

Page 39: Build an Event Calendar in Drupal

Customizing eventsDefault settings

Page 40: Build an Event Calendar in Drupal

Structure > Content types > Edit “event”

Page 41: Build an Event Calendar in Drupal

Hide author by default

Page 42: Build an Event Calendar in Drupal

Close comments by default

Page 43: Build an Event Calendar in Drupal

Don’t add to menu

Page 44: Build an Event Calendar in Drupal

Add a date fieldManage fields

Page 45: Build an Event Calendar in Drupal

Manage fields

Page 46: Build an Event Calendar in Drupal

Date module

Page 47: Build an Event Calendar in Drupal

Friendly reminder

Page 48: Build an Event Calendar in Drupal

Date settings

Page 49: Build an Event Calendar in Drupal

Add date field

Page 50: Build an Event Calendar in Drupal

Date fields in all types

Page 51: Build an Event Calendar in Drupal

Field only in Event content

Page 52: Build an Event Calendar in Drupal

Test!

Page 53: Build an Event Calendar in Drupal

What’s new?

Page 54: Build an Event Calendar in Drupal

Improvements

• Move date up in form

• Pop-up selection

Page 55: Build an Event Calendar in Drupal

Module: Date Popup

Page 56: Build an Event Calendar in Drupal

Configure fields

Page 57: Build an Event Calendar in Drupal

Edit field widget

Page 58: Build an Event Calendar in Drupal

Test!

Page 59: Build an Event Calendar in Drupal

Add an image field

Page 60: Build an Event Calendar in Drupal

Add image field

Page 61: Build an Event Calendar in Drupal

Default image

Page 62: Build an Event Calendar in Drupal

Field settings

Page 63: Build an Event Calendar in Drupal

Arrange in form

Page 64: Build an Event Calendar in Drupal

Manage display

Page 65: Build an Event Calendar in Drupal

Teaser settings

Page 66: Build an Event Calendar in Drupal

Teaser image

Page 67: Build an Event Calendar in Drupal

Configuration > Media > Image styles

Page 68: Build an Event Calendar in Drupal

Override > Scale& Crop

Page 69: Build an Event Calendar in Drupal

Test!

Attribution 2.0 Generic (CC BY 2.0) By suzettesuzetteflickr.com/photos/suzettesuzette/6864436698/

Page 70: Build an Event Calendar in Drupal

Current state

Page 71: Build an Event Calendar in Drupal

Next

• Add related links

• Add related venue

• Is a field required? Why?

• OK in unstructured “body” text field?

Page 72: Build an Event Calendar in Drupal

Add related links field

Page 73: Build an Event Calendar in Drupal

Link module

Page 74: Build an Event Calendar in Drupal

Add link field

Page 75: Build an Event Calendar in Drupal

Default settings

Page 76: Build an Event Calendar in Drupal

Link field settings

Page 77: Build an Event Calendar in Drupal

Manage display

Page 78: Build an Event Calendar in Drupal

Test!

Page 79: Build an Event Calendar in Drupal

Links are visible

Page 80: Build an Event Calendar in Drupal

Next

• Related venue

• Select from limited options

• Internal content, not external links

• Why Drupal manage?

• Renaming venues

• Change of URL path

• Adding new venue

• Removing venues

Page 81: Build an Event Calendar in Drupal

Add venue

Page 82: Build an Event Calendar in Drupal

Related venue content type?

• Defaults:

• No comments.

• No adding to main menu.

• No author and date info.

• Not promoted to front page.

• Fields:

• Title and body.

Page 83: Build an Event Calendar in Drupal

Better: Vocabulary

• Vocabulary: Venue

• Description

• Terms: Controlled by administrator

• Bonus: RSS feed per venue, easy to navigate.

Page 84: Build an Event Calendar in Drupal

Structure > Taxonomy > Add

Page 85: Build an Event Calendar in Drupal

Add terms

Page 86: Build an Event Calendar in Drupal

Add terms

Page 87: Build an Event Calendar in Drupal

Terms

Page 88: Build an Event Calendar in Drupal

Add as a field

• Add field

• Set global defaults

• Set content-type specific defaults

• Arrange field

• Check display

Page 89: Build an Event Calendar in Drupal

Term reference field

Page 90: Build an Event Calendar in Drupal

Field settings

Keep other defaults

Page 91: Build an Event Calendar in Drupal

Arrange field

Page 92: Build an Event Calendar in Drupal

Manage display

Page 93: Build an Event Calendar in Drupal

Test!

Page 94: Build an Event Calendar in Drupal

Teaser: Shows venue

Page 95: Build an Event Calendar in Drupal

Report: Field list

Page 96: Build an Event Calendar in Drupal

What’s next?

• Who can create events?

• Test with bulk creation of content

• Create listings

• Listing all events

• Filter by venue

• Sortable table

• Mini month in sidebar

Page 97: Build an Event Calendar in Drupal

Event display

Page 98: Build an Event Calendar in Drupal

Current layout

Page 99: Build an Event Calendar in Drupal

Manage display

Page 100: Build an Event Calendar in Drupal

Default

Page 101: Build an Event Calendar in Drupal

Display suite

Page 102: Build an Event Calendar in Drupal

View modes

Page 103: Build an Event Calendar in Drupal
Page 104: Build an Event Calendar in Drupal
Page 105: Build an Event Calendar in Drupal
Page 106: Build an Event Calendar in Drupal

Current layout

Page 107: Build an Event Calendar in Drupal
Page 108: Build an Event Calendar in Drupal

Preview

Page 109: Build an Event Calendar in Drupal

Change markup options

Page 110: Build an Event Calendar in Drupal

Hide labels

Page 111: Build an Event Calendar in Drupal

Labels inline

Page 112: Build an Event Calendar in Drupal

Preview

Page 113: Build an Event Calendar in Drupal

Markup mixup

Page 114: Build an Event Calendar in Drupal

Fences?

Page 115: Build an Event Calendar in Drupal

Fences?

Page 116: Build an Event Calendar in Drupal

DS: ExtrasStructure > Display Suite > Extras

Page 117: Build an Event Calendar in Drupal

Minimal

Page 118: Build an Event Calendar in Drupal

Override field

Page 119: Build an Event Calendar in Drupal

Override field

field field-label-inline clearfix field-type-taxonomy-term-reference

Page 120: Build an Event Calendar in Drupal

Preview

Page 121: Build an Event Calendar in Drupal

Lost classes

Page 122: Build an Event Calendar in Drupal

Override field

Page 123: Build an Event Calendar in Drupal

Preview

Page 124: Build an Event Calendar in Drupal

Cleaner markup

Page 125: Build an Event Calendar in Drupal

Improvements

• Adjust remaining fields - consistent

• What classes are needed?

• Add CSS to style new markup

Page 126: Build an Event Calendar in Drupal
Page 127: Build an Event Calendar in Drupal
Page 128: Build an Event Calendar in Drupal
Page 129: Build an Event Calendar in Drupal

Improvements

• Add CSS styling to your theme.

• In this case we’re using “Bartik” core theme. This would require making a sub-theme.

• Don’t edit a core theme.

Page 130: Build an Event Calendar in Drupal

Content editingWho can add events?

Page 131: Build an Event Calendar in Drupal

Who can edit events?

• All users?

• Authenticated users?

• Only administrators?

• How do people become “authenticated”?

Page 132: Build an Event Calendar in Drupal

People > Permissions > Role

Page 133: Build an Event Calendar in Drupal

People > Permissions > “Node”

Page 134: Build an Event Calendar in Drupal

Account settings

Page 135: Build an Event Calendar in Drupal

Test!

Page 136: Build an Event Calendar in Drupal

Login as testuser

Page 137: Build an Event Calendar in Drupal

Improvement

• Link in main menu + Add an event

Page 138: Build an Event Calendar in Drupal

Structure > Menus

Page 139: Build an Event Calendar in Drupal

Add a link

Page 140: Build an Event Calendar in Drupal

Order links

Page 141: Build an Event Calendar in Drupal

Test!

Logged in

Not logged in

Page 142: Build an Event Calendar in Drupal

Improvements

• Should items be published automatically?

• Should we make an approval queue?

• Use Views Bulk Operations

• Test with real content editors and REAL content.

Page 143: Build an Event Calendar in Drupal

Add sample content

Page 144: Build an Event Calendar in Drupal

Developer module

Configuration > Development > Generate content

Page 145: Build an Event Calendar in Drupal

Generate content in Latin!

Page 146: Build an Event Calendar in Drupal

Lots of content

Page 147: Build an Event Calendar in Drupal

Content editing

• Make sure a couple of events are in the same month.

• Edit some titles so they fit with the content (if you’re testing with users).

Page 148: Build an Event Calendar in Drupal

Create listing pageFilter by venue

Page 149: Build an Event Calendar in Drupal

What do we have now?

Page 150: Build an Event Calendar in Drupal

Views module

+ Any dependencies

Page 151: Build an Event Calendar in Drupal

Structure > Views > + Add

Page 152: Build an Event Calendar in Drupal

Add menu link

Page 153: Build an Event Calendar in Drupal

Event listing

Page 154: Build an Event Calendar in Drupal

Views configuration

Page 155: Build an Event Calendar in Drupal

Add fields

Page 156: Build an Event Calendar in Drupal

Configure each

Page 157: Build an Event Calendar in Drupal

Image display

Page 158: Build an Event Calendar in Drupal

Venue display

Page 159: Build an Event Calendar in Drupal

Preview

Page 160: Build an Event Calendar in Drupal

Improvements

• Default sort for date

• Sortable columns for Venue and date

• Image first

Page 161: Build an Event Calendar in Drupal

Arrange fields

Page 162: Build an Event Calendar in Drupal

Column sorting

Page 163: Build an Event Calendar in Drupal

Preview!

Page 164: Build an Event Calendar in Drupal

Improvement

• Add filter to allow user to select one venue

• Filter out past events for this listing

Page 165: Build an Event Calendar in Drupal

Add exposed filter

Page 166: Build an Event Calendar in Drupal

Expose filter

Page 167: Build an Event Calendar in Drupal

Preview!

Page 168: Build an Event Calendar in Drupal

Add date filter

Page 169: Build an Event Calendar in Drupal
Page 170: Build an Event Calendar in Drupal
Page 171: Build an Event Calendar in Drupal

Preview!

Page 172: Build an Event Calendar in Drupal

Event listing

Page 173: Build an Event Calendar in Drupal

Calendar page

Page 174: Build an Event Calendar in Drupal

Date views

Page 175: Build an Event Calendar in Drupal

Template options

Page 176: Build an Event Calendar in Drupal

Rename view

Page 177: Build an Event Calendar in Drupal

Defaults

Page 178: Build an Event Calendar in Drupal

Preview defaults

Page 179: Build an Event Calendar in Drupal

Default by month

Page 180: Build an Event Calendar in Drupal

By week

Page 181: Build an Event Calendar in Drupal

By day

Page 182: Build an Event Calendar in Drupal

By year

Page 183: Build an Event Calendar in Drupal

Customize

Page 184: Build an Event Calendar in Drupal

Structure > Blocks

Page 185: Build an Event Calendar in Drupal

Block: Upcoming

Page 186: Build an Event Calendar in Drupal

View: Event calendar

Page 187: Build an Event Calendar in Drupal

Preview

Page 188: Build an Event Calendar in Drupal

Improvements?

• “Share this” button. drupal.org/project/sharethis

• “Bookmark” option.drupal.org/project/flag

Page 189: Build an Event Calendar in Drupal

Learn moreWhat’s next?

Page 190: Build an Event Calendar in Drupal

Training in May-June

training.acquia.com/events

Page 191: Build an Event Calendar in Drupal

Site building - May & JuneDrupal in a Day Site BuildingLeuven, BelgiumAlexandria, VAVancouver, CanadaPortland, ORCincinnati, OHToronto, CAAmherst, MA, Geneva, SwitzerlandNew York, NYBordeaux, FranceCharlotte, NCWashington, DCDallas, TXParis, FranceMontreal, Canada

Vancouver, CanadaPortland, ORCincinnati, OHLeuven, BelgiumAmherst, MA, Geneva, SwitzerlandNew York, NYSchaumburg, ILBordeaux, FranceCharlotte, NCWashington, DCDallas, TXSan Francisco, CAParis, FranceMontreal, Canada

training.acquia.com/events

Page 194: Build an Event Calendar in Drupal

Styling

j.mp/calendar-theme

Page 195: Build an Event Calendar in Drupal

udemy.com/learn-drupal

Page 196: Build an Event Calendar in Drupal

Site building - May & JuneDrupal in a Day Site BuildingLeuven, BelgiumAlexandria, VAVancouver, CanadaPortland, ORCincinnati, OHToronto, CAAmherst, MA, Geneva, SwitzerlandNew York, NYBordeaux, FranceCharlotte, NCWashington, DCDallas, TXParis, FranceMontreal, Canada

Vancouver, CanadaPortland, ORCincinnati, OHLeuven, BelgiumAmherst, MA, Geneva, SwitzerlandNew York, NYSchaumburg, ILBordeaux, FranceCharlotte, NCWashington, DCDallas, TXSan Francisco, CAParis, FranceMontreal, Canada

training.acquia.com/events

Page 197: Build an Event Calendar in Drupal

Cast & CreditsWhat modules appeared?

Page 198: Build an Event Calendar in Drupal

Date entry

drupal.org/project/date

Page 199: Build an Event Calendar in Drupal

Related links

drupal.org/project/link

Page 200: Build an Event Calendar in Drupal

Filterable event list

drupal.org/project/views

Page 201: Build an Event Calendar in Drupal

Calendar grid display

drupal.org/project/calendar

Page 202: Build an Event Calendar in Drupal

What fields appear where

drupal.org/project/ds

Page 203: Build an Event Calendar in Drupal

Markup control

drupal.org/project/fences

Page 204: Build an Event Calendar in Drupal

Supporting cast

• Token

• Pathauto - Human friendly URLs

• CTools - Magic for Views

• Devel - Bulk creation of content for testing

Page 205: Build an Event Calendar in Drupal

Any questions?