Who Wants to Develop for the WCMS?
Kevin Paxman
Drupal Developer, IST
IST’s WCMS Developer Team
• 5 full-time developers (one on parental leave, one newbie)
• 1 accessibility expert (who does some development)
• 1 manager (whooccasionally has time to do minor development)
#watitis2013
Features and Functionality Wishlist (Partial)
• Integrated accessibility checker• Cross site content sharing• Site-specific search• Publications capability (online
newsletters, magazines etc..)• Events calendar• Theme redesign with responsive
layout• Pages and/or sections that require
authentication to access• Scheduled content posting/removal• Site-wide search and replace• File deletion• Video banners• Pages and/or sections that require
authentication to edit• Social media sharing• Event registration• Upgrade campus map to non-flash
version (non-Drupal)• Create Person content type & clean
up Contact and Person Profile content
• Multiple day events with multiple dates and times
• Site manager-controlled features
• Automated redirect cleanup
(automatically point links of 301 redirected pages to new content location)
• Files that require authentication to download/view
• Improve create/manage content page usability
• New content type for meetings (capture agendas and minutes)
• Organizational charts• Question and answers (social voting)• Slideshows/banners on other pages
and/or regions• Submit tickets to RT via dashboard• Email reminders for reports• Ecommerce support• Syncing with Google Calendar• Multiple image uploading• Non-WATIAM Drupal accounts
(commenting, webforms, etc.)• Interactive maps (e.g “info for
specific regions”)• Gotham-based call-to-action creator• Wide everywhere• Multiple blogs on a single site• Additional metadata for search• Captioned (non-full-width) images• Custom blog URLs• Existing site functionality (pointing
back to old site from WCMS)• Locally hosted videos (use case:
copyright doesn’t allow YouTube)• Tabbed content areas• Arbitrary Google maps• File renaming (both at upload and at
arbitrary times)• Blog comments for WatIAm users• Dynamically generated custom
listing pages• Random content areas (e.g. show a
random tip)• Sites for faculty/researchers• “Lightboxes” for images• Rollover images• Vimeo support• Proper multilingual support• Decimal ordered lists (e.g. 1, 1.1,
1.2, 2)• Unlisted events (only accessible if
you know the link) (“unlisted everything”?)
• Additional unordered list bullet styles (e.g. checkmarks)
• CKEditor source view syntax highlighting
• Equation (LaTeX) editing• Countdown clock• Webcam feed support
• Improve look and feel of Varnish error page that appears when sites are offline
• 'Facts and figures' style/content type for sidebar content
• WYSIWYG interface for definition lists
• Podcast embedding/audio player outside of blog posts
• Twitter card support (meta tags – see https://dev.twitter.com/docs/cards)
• Weather widget• Ability to create stylized Call To
Action buttons in a site• Facebook Open Graph tags support
(meta tags – see https://developers.facebook.com/docs/opengraph/)
• Update collaborate.uwaterloo.ca to Open Atrium 2.0
• Content type and functionality for job postings and volunteer opportunities
• Estimated reading time (for content authors)
• Windows 8 “start screen tile” (http://www.buildmypinnedsite.com/)
#watitis2013
Factors Influencing Development
• Voting on priorities• Approval from web steering• Practicality of request• Breadth of request• Urgency of request• Development capacity
#watitis2013
Why Help?
• Your request was marked “low priority”• What you want to do requires your unique
expertise• You’d like to hurry something along• You want to show us an alternative• You are awesome
#watitis2013
Drupal is Easy!
1. Learn Drupal.
2. Do stuff in Drupal.
#watitis2013
The Drupal Learning Curve
Learning Drupal
• Drupalize.Me• Lynda.com• WCMS book library• Waterloo Region Drupal User’s Group• Developer meetups• DrupalCamps/DrupalCons• http://lmgtfy.com/?q=learn+drupal
#watitis2013
No coding? No problem! (Maybe)
• Many things can be accomplished completely in the GUI
• Some tweaks and custom functionality do require knowledge of PHP and/or JavaScript/jQuery
• Theming requires knowledge of HTML and CSS, and possibly PHP
• You can also help just by testing!
#watitis2013
Getting Involved is Easy!
1. Ask to get involved.
2. We set you up.
#watitis2013
Getting Involved
• Email [email protected] explaining what you’d like to do
• We’ll set you up with a site on our development server with full access
• You can also develop on your own machine and/or server
#watitis2013
Best Practices
• Follow the Drupal coding standards(https://drupal.org/coding-standards) and CSS formatting guidelines (https://drupal.org/node/1887862)
• Follow Waterloo brand guidelines and Waterloo writing style guide(https://uwaterloo.ca/communications-public-affairs/resources)
#watitis2013
More Best Practices• Don’t hack core• Don’t introduce competing modules• Discuss new contrib modules with WCMS
developers• Do things in ways similar to other things• Don’t change the way stock things work• Don’t create custom things that are
“basically” stock things
#watitis2013
Still More Best Practices
• Don’t install modules from the GUI• Run coder module• Design for accessibility• Make sure things work without JavaScript• Headers should use “Sentence case” not
“Title Case”• Follow our module naming convention
#watitis2013
Even More Best Practices
#watitis2013
• Consider reusability/scope of your work• Use version control• Back up regularly• Ask for help• Eat your vegetables
Limitations• Not simple to add new roles• Look and feel changes need approval• You do not have admin access to your live
site or access to its file system• Your work must be approved by a WCMS
developer before going live• You are responsible for maintaining
your work, and handling change requests
#watitis2013