29
Building Rich Internal Sites Deciding Why, Content Strategy and Best Practices Ryan Price @liberatr www.ryanpricemedia.com www.battideas.com www.drupaleasy.com www.invisiblefrisbee.net

Building Rich Internal Websites with Drupal

Embed Size (px)

DESCRIPTION

Many Drupal users are not logging in to public facing websites. Applications "inside the firewall" can be easily built and maintained by Intermediate Drupal administrators. These internal applications often have more complicated functionality and workflows than public-facing websites, with all the bells and whistles like responsive mobile design, Organic Groups, Workbench Moderation and more. We will begin with a brief overview of why one would choose Drupal and an overview of distributions commonly used, like OpenAtrium and Drupal Commons, and then give a case study of three custom-built internal websites: * Orange County Public Library "Orange Peel" * Proctors Theatre "Calendar and Help Tickets" * Chautauqua Institution "Intranet" We will give tips on estimating internal websites, maintaining them, adding new features, and share some wisdom from managers about the value of "rolling your own" internal web applications with Drupal. Finally, we will give some notes on integrating your Intranet with non-Drupal back-end applications. Ryan Price is an independent web developer, who upgraded two Drupal 5 Intranet sites to Drupal 7 for Proctors and Chautauqua. He is an 8-year Drupal veteran and co-hosts the DrupalEasy Podcast. Kristin Retaleato is a web developer for the Orange County Public Library System, and the maintainer of the Orange Peel.

Citation preview

Page 1: Building Rich Internal Websites with Drupal

Building Rich Internal SitesDeciding Why, Content Strategy and Best Practices

Ryan Price @liberatrwww.ryanpricemedia.com www.battideas.com www.drupaleasy.com www.invisiblefrisbee.net

Page 2: Building Rich Internal Websites with Drupal

Ryan Price

8 Year DrupallerDrupal Trainer, Podcaster, Mentor

Also:● Theatre● Improv● Pottery● Coworking● Hacking / Arduino● Game Design

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 2

Page 3: Building Rich Internal Websites with Drupal

Case Studies

Proctors Intranet

Chautauqua Institution Calendar

OCLS “Orange Peel”

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 3

Page 4: Building Rich Internal Websites with Drupal

Case Studies

Proctors Intranet● Theatre in Schenectady, NY● 15 “rooms” for events/meetings

● Distribute resources● Keep info. out of someone's brain

● Help Tickets● Staff Directory● Existing Site

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 4

Page 5: Building Rich Internal Websites with Drupal

Case Studies

Proctors Intranet● Purchase Orders

● Node & Workflow State● Staff Complaints from Patrons

● EntityForms● Help Tickets & IT Tickets

● Different fields = Different Content Type

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 5

Page 6: Building Rich Internal Websites with Drupal

Case Studies

Proctors Intranet● Calendar

Day/Week/Month

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 6

Page 7: Building Rich Internal Websites with Drupal

Case Studies

Proctors Intranet● Case Tracker● Simple State

● Open/Closed

● Deffered means “waiting”

● Priority● Users can reorder

with DraggableViews

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 7

Page 8: Building Rich Internal Websites with Drupal

Case Studies

Proctors Intranet● Purchase Requests

(precedes Purchase Orders)

● Workflow State● Department Approval

● IT Approval

● Finance Approval

● Owner + Dept. Head

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 8

Page 9: Building Rich Internal Websites with Drupal

Case Studies

Proctors Intranet● Purchase Orders

(follows Purchase Requests)

● Workflow State● Open,Processed, Cancelled

● Printable

● List of items/prices/quantity

● Vendor, Has it been Received?

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 9

Page 10: Building Rich Internal Websites with Drupal

Case Studies

Proctors Intranet● Patron Feedback

(employee complaint)Allows a manager to follow

up simply by checking site● EntityForm / Webform● Complaint● How was it resolved?● Contact Info● Cust. # in CRM System

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 10

Page 11: Building Rich Internal Websites with Drupal

Case Studies

Proctors Intranet● Resource Scheduling

e.g. What should be

Put up on the Marquee

of the theatre

● This is tied to the “Event”

content, it used to be one

field, split to people withdifferent job descriptions

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 11

Page 12: Building Rich Internal Websites with Drupal

Case Studies

Chautauqua Institution Calendar● Arts Festival in Lakewood, NY● 15 “venues” for events/rehearsals

● Distribute resources● Keep info. out of someone's brain

● Guest Calendar● Event Programs● Send info to the CHQ Daily Newspaper● Existing Site + Lotus Notes

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 12

Page 13: Building Rich Internal Websites with Drupal

Case Studies

Chautauqua Institution Calendar● Arts Festival in Lakewood, NY● 15 “venues” for events/rehearsals

● Distribute resources● Keep info. out of someone's brain

● Guest Calendar● Event Programs● Send info to the CHQ Daily Newspaper● Existing Site + Lotus Notes

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 13

Page 14: Building Rich Internal Websites with Drupal

Case Studies

Chautauqua Institution Calendar● Double Booking

● Resource Conflicts + Rules● Lock down venues

● Rules that get activated in June● Dates mostly the same

● Rules (again)

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 14

Page 15: Building Rich Internal Websites with Drupal

Case Studies

Chautauqua Institution Calendar● Guest Calendar – static letter with events

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 15

Page 16: Building Rich Internal Websites with Drupal

Case Studies

Chautauqua Institution Calendar● Duplicate Events

(Uses Rules +Resource Conflict)

● Venues are Terms● Check on form

validation● Sends email,

throws errors

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 16

Page 17: Building Rich Internal Websites with Drupal

Case Studies

Orange County Library “Orange Peel”● 15 “branches” for staff / notices● Alerts & Announcements – email all staff● Role-based menus● Staff Directory● Lost & Found for all 15 branches● Document Repository – Staff handbook, or collaboration● Existing Site(s) + Backend Web Services

● Evanced – External Calendar XML

● Blogs – imported

3/8/14Florida DrupalCamp 2013 - Dive into Drupal! 17

Page 18: Building Rich Internal Websites with Drupal

Orange County Library “Orange Peel”

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 18

Page 19: Building Rich Internal Websites with Drupal

Orange County Library “Orange Peel”

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 19

Page 20: Building Rich Internal Websites with Drupal

Orange County Library “Orange Peel”

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 20

Page 21: Building Rich Internal Websites with Drupal

Orange County Library “Orange Peel”

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 21

Page 22: Building Rich Internal Websites with Drupal

Tools of the TradeBasic

WorkbenchWorkflow

Helps keep content in different “Sections”

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 22

Print, Email, PDFAdd on to Nodes

Create a PDF of any page in Drupal

Create a Printer-friendly version

Organic GroupsKeep content associated to groups

Overkill for most people, unless you really need Access Control

Field PermissionsAccess Control on a field level

If you restrict a field in one place, it becomes restricted everywhere

Page 23: Building Rich Internal Websites with Drupal

Tools of the TradeBasic

DateField

Good for storing, displaying is core

Date, Date ISO, Date Timestamp

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 23

CalendarViews

Only does display, not storage

Views Templates

Date iCalViews

Adds display style for Feed type - can be used with Calendar or by itself

FeedsImporter

Date

Needs Date iCal and Library

Page 24: Building Rich Internal Websites with Drupal

Tools of the Trade

RulesSweet

Date

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 24

Resource ConflictDate

Rules

Rules Components

Rules Form

SignupDate

Sends Reminders

Just one type

Entity RegistrationDate

Bundles & Fields

AWESOME: Commerce Registration

Page 25: Building Rich Internal Websites with Drupal

Tools of the Trade

FlagViews

Date

See also: EntityReference

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 25

FullCalendarNot Really Views Friendly

Javascript API

Nice UI add-on, not recommended

Fuzzy DateDate

“Circa 2006”

Optional Date Parts

MigrateDate support built-in

Page 26: Building Rich Internal Websites with Drupal

Even More Demo

Learn the Rules Framework● Screencasts with Johan Falk● http://nodeone.se/en/learn-the-rules-

framework

3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 26

Page 27: Building Rich Internal Websites with Drupal

Building Rich Internal SitesDeciding Why, Content Strategy and Best Practices

Ryan Price @liberatrwww.ryanpricemedia.com www.battideas.com www.drupaleasy.com www.invisiblefrisbee.net

Page 28: Building Rich Internal Websites with Drupal

What Did You Think?

Please Evaluate this session at: fldrupalcamp.org/program/schedule

Page 29: Building Rich Internal Websites with Drupal

See you Tomorrow!

Coding for a Cause

Work along some of the best Drupalistas we could find