Upload
ryan-price
View
270
Download
1
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
Building Rich Internal SitesDeciding Why, Content Strategy and Best Practices
Ryan Price @liberatrwww.ryanpricemedia.com www.battideas.com www.drupaleasy.com www.invisiblefrisbee.net
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
Case Studies
Proctors Intranet
Chautauqua Institution Calendar
OCLS “Orange Peel”
3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 3
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
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
Case Studies
Proctors Intranet● Calendar
Day/Week/Month
3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 6
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
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
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
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
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
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
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
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
Case Studies
Chautauqua Institution Calendar● Guest Calendar – static letter with events
3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 15
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
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
Orange County Library “Orange Peel”
3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 18
Orange County Library “Orange Peel”
3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 19
Orange County Library “Orange Peel”
3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 20
Orange County Library “Orange Peel”
3/8/14Florida DrupalCamp 2014 - Dive into Drupal! 21
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
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
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
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
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
Building Rich Internal SitesDeciding Why, Content Strategy and Best Practices
Ryan Price @liberatrwww.ryanpricemedia.com www.battideas.com www.drupaleasy.com www.invisiblefrisbee.net
What Did You Think?
Please Evaluate this session at: fldrupalcamp.org/program/schedule
See you Tomorrow!
Coding for a Cause
Work along some of the best Drupalistas we could find