ICF International
July 23, 2012
Content Management System
Drupal
Introduction to Drupal
Section One
ICF International
July 23, 2012
What is Drupal?
“Drupal is a completely free, open source content management system
that m...
ICF International
July 23, 2012
How Drupal Manages Content
Drupal provides a number of different content types out of the ...
ICF International
July 23, 2012
Drupal and other CMS platforms are constantly in a state of change. Based on past experien...
Federal Government, Acquia & Drupal @ ICF
Section Two
ICF International
July 23, 2012
Open Government and Drupal
Drupal first gained national attention when the White House ann...
ICF International
July 23, 2012
Government-Aimed Drupal Events
Drupal Government Days – May 18th, 2012
“Across the governm...
ICF International
July 23, 2012
Government-Aimed Drupal Events
Capital Camp 2012 – July 27th, 2012
CapitalCamp is the Drup...
ICF International
July 23, 2012
Acquia
About Acquia
Acquia was founded by Dries Buytaert, the original creator and
project...
ICF International
July 23, 2012
ICF Drupal Projects: Koshland Science Museum
Informational Site for Museum Visitors
Provid...
ICF International
July 23, 2012
ICF Drupal Projects: Better Buildings Challenge
Informational Site
Containing directories ...
Drupal Development
Section Three
ICF International
July 23, 2012
Developing in Drupal
Local Development Environment
Drupal uses the same typical Apache, My...
ICF International
July 23, 2012
Common Drupal development involves the following different phases, not necessarily in any ...
ICF International
July 23, 2012
Creating Custom Modules
Module
.info file
.module file
Associated
inc or tpl files
Drupal'...
Drupal and Responsive Design
Section Four
ICF International
July 23, 2012
What is Responsive Design?
Years ago we only needed to concern ourselves with the standard...
ICF International
July 23, 2012
Using Responsive Design with Drupal
All modules above can be found at http://www.drupal.or...
The Drupal Community
Section Five
ICF International
July 23, 2012
The Drupal Ladder Initiative
drupalladder.org contains lessons and materials to help peopl...
ICF International
July 23, 2012
Local User Groups: Washington DC Druplers
“This group has a great meetup every month where...
ICF International
July 23, 2012
Drupal Resources
Training Resources:
http://www.buildamodule.com (subscription)
http://dru...
Questions
Thank You!
Upcoming SlideShare
Loading in …5
×

Drupal at ICF International

2,436 views

Published on

A Drupal overview, originally presented to the Rockville web group at ICF International.

Published in: Software, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,436
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Drupal at ICF International

  1. 1. ICF International July 23, 2012 Content Management System Drupal
  2. 2. Introduction to Drupal Section One
  3. 3. ICF International July 23, 2012 What is Drupal? “Drupal is a completely free, open source content management system that many intelligent companies are using today to provide for their needs. Drupal's many features and add-ons allow it to be used for a variety of website needs; perhaps for marketing, internal communications, informational websites, or for social networking purposes.” Drupal is a CMS for Building Dynamic Websites Similar to other CMS solutions, Drupal allows you to easily setup and deploy a dynamic website solution out of the box. Drupal is an Application Framework Extensive API and Hook system allows for rapid development of custom modules, themes and add-on APIs for developers. Drupal is a PHP based CMS/Framework. Drupal is a Social and Semantic Web Platform Tools have been built into Drupal including support for Resource Description Framework (RDF) to enable sharing of data with different web sources. Drupal is a Community The Drupal Community is extremely active, especially in the Washington DC Metro area with conferences, frequent meetups and local user groups. http://www.koshland-science-museum.org/node/add Content type choices and descriptions are presented when the editor selects to add new content to the site.
  4. 4. ICF International July 23, 2012 How Drupal Manages Content Drupal provides a number of different content types out of the box. These are templates that enable an end user to create a piece of content that will be published on the site. Content types are managed and published through the administration area of Drupal and are displayed through a Node. Node An individual piece of content: news item, event listing, simple page, blog entry. Nodes can also have custom fields. Field Fields can be used to attach images or files to content, create extra descriptors, or reference other nodes. Block A standalone piece of reusable content that can be configured to display based on any criteria that you set. Users, Roles and Permissions Drupal allows you to create unique roles for anything that might need to happen on your site and set permissions for each role depending on what that role might need to do. Module A plug-in that adds functionality to your site. Out of the box, Drupal provides a strong framework, but the point of the framework is to add functionality to it using modules. View An organized list of individual pieces of content that you create within the site, using the Views module.
  5. 5. ICF International July 23, 2012 Drupal and other CMS platforms are constantly in a state of change. Based on past experience with WordPress, Joomla and custom developed systems, a few comparison notes are provided. How Drupal Compares to other CMS’s More information: http://www.chapterthree.com/blog/jennifer-lampton/wordpress-vs-drupal-saga-continues http://www.pcpro.co.uk/blogs/2011/02/02/joomla-1-6-vs-drupal-7-0/ WordPress • WordPress was primarily built as a blogging engine and later developed into a CMS. It is great for developing small to medium sized websites, however it was never built to scale as an enterprise level CMS. • Drupal assumes at its core there will be many kinds of users with many requirements. At its core, WordPress on the other hand was developed only for one type of user in mind and later adapted accordingly. • Drupal provides more extensive development framework for many different types of websites: blogs, forums, e-commerce, CRM, intranets, social networks, news aggregators, wikis, photo galleries, restaurant review sites. Joomla • Joomla is arguably a better product ‘out-of-the-box’ as it provides much of the expected advanced features of a CMS already built-in. • Drupal on the other hand is limited out-of-the-box, however it provides a more extensive framework for developing a more advanced site. “On the same grounds, if you can master it, Drupal 7.0 is the best CMS”
  6. 6. Federal Government, Acquia & Drupal @ ICF Section Two
  7. 7. ICF International July 23, 2012 Open Government and Drupal Drupal first gained national attention when the White House announced its move to the open source platform — followed rapidly by Open Government initiatives driven by Drupal web sites. On his first day in Office, President Obama signed the Memorandum on Transparency and Open Government, ushering in a new era of open and accountable government meant to bridge the gap between the American people and their government. The Administration is tracking how government uses the money with which the people have entrusted it with easy-to- understand websites based on the Drupal CMS. Recovery (Recovery.gov) Launched Feb 17th, 2009 • Drupal portal created under the Recovery Act • Tracks Recovery funds spent by recipients of contracts, grants, and loans, and the distribution of Recovery entitlements and tax benefits. USA Spending (usaspending.gov) June 30th 2009 • Provides information on how US Tax Payers money is spent • Summaries, trends and data feeds are accessible IT Dashboard (itdashboard.gov) Launched June 1st 2009 • Federal agencies and the public have the ability to view details of Federal information technology (IT) investments online and to track their progress over time Source: http://www.whitehouse.gov/open/about
  8. 8. ICF International July 23, 2012 Government-Aimed Drupal Events Drupal Government Days – May 18th, 2012 “Across the government, agencies large and small have reaped the benefits of open source web technology and community collaboration. Now you can learn the best practices for implementing Drupal within you agency by registering for Drupal Government Days to be held for the first time in Washington, DC.” Source: http://www.acquia.com/resources/events/drupal-government-days Sessions • A Beginner’s guide to using Views • Open Source Mapping Tools • Workbench: Managing Content • Designing for Accessibility • Collaboration and Open Atrium • Responsive Design with Drupal
  9. 9. ICF International July 23, 2012 Government-Aimed Drupal Events Capital Camp 2012 – July 27th, 2012 CapitalCamp is the DrupalCamp for Washington, DC bringing together developers, designers, open government advocates, IT managers and anyone else that wants to find out more about Drupal. DrupalCamp an unconference-style Drupal training, founded in the style of BarCamp. While there are some differences (DrupalCamp does more pre-planning on the sessions), they have the common goal of bringing smart people together in an environment that is accessible to everyone. Training Programs • Beginner & Intermediate Training • Drupal Theme Development • Custom Module Development • Best Practices In addition to the training programs, a number of conference sessions will be available on the 27th-28th July.
  10. 10. ICF International July 23, 2012 Acquia About Acquia Acquia was founded by Dries Buytaert, the original creator and project lead of the Drupal project, and Jay Batson, previously founder and CEO of Pingtel. They offer the following types of services: Development Acquia offer different Drupal based distributions including dev desktop for developers, Acquia Drupal with useful modules, Conference Organizing Distribution, Drupal Commons and Open Scholar. Hosting Drupal Gardens is a free hosted Drupal distribution. Also provide dev and managed cloud hosting options. Management Acquia Network, Drupal Support, Remote Administration and Professional Services. Training Acquia Library, Drupal Training and Free Webinars. http://www.acquia.com
  11. 11. ICF International July 23, 2012 ICF Drupal Projects: Koshland Science Museum Informational Site for Museum Visitors Provides up-to-date information on museum exhibits, tour information for groups and latest news and events. Interactive Showcases Provides online interactive multi-media exhibits for user’s to explore and interact with the science. Challenges Custom developed Challenges system allows for scientific challenge competitions submitted, voted on and administered through the site. Convio API Integration Provides event and ticketing information via a custom developed Convio API module. Community Online Forum integrated directly into the site for visitors to discuss the issues. User Roles Custom defined user roles available for staff, volunteers and advisory personnel along with custom permissions, avatars and administration.
  12. 12. ICF International July 23, 2012 ICF Drupal Projects: Better Buildings Challenge Informational Site Containing directories of organizations partnering for more energy efficient buildings. Searchable Content All participating organizations are searchable via the Drupal search interface and contain partner pages, showcases and implementation models. Rich Content The site incorporates latest standards for embedded content, light box popup information and JavaScript carousel sliders. Media Houses embedded video and content from YouTube. Interactivity A partner map provides an interactive way to view information using the Google Map API. Quick Updates A vital part of the site is the ease of updating information which changes on a regular basis.
  13. 13. Drupal Development Section Three
  14. 14. ICF International July 23, 2012 Developing in Drupal Local Development Environment Drupal uses the same typical Apache, MySQL and PHP (AMP) stack as many other popular open source applications use. On Windows, either WAMP or XAMP environment can be used. On Mac, MAMP can be used. Drupal requires one MySQL database. Acquia Dev Desktop An installable version of Drupal for Mac, Windows and Linux that comes prepackaged with the AMP stack. https://www.acquia.com/products-services/dev-desktop Drupal Gardens A service of Acquia called Drupal Gardens offers free hosted Drupal sites. Highly convenient for those who do not have the means to install locally. http://www.acquia.com/drupal-gardens Development Stack Downloads WAMP: http://www.wampserver.com/en/ XAMPP: http://www.apachefriends.org/en/xampp.html MAMP: http://www.mamp.info/en/index.html
  15. 15. ICF International July 23, 2012 Common Drupal development involves the following different phases, not necessarily in any specific order. Existing contributed modules are widely available within the Drupal community, however most are open-source contributions so care should be taken before implementation into a production environment. Use Existing Modules Drupal has an extensive library of ‘contrib’ modules which are readily available for download and customization into any Drupal installation via drupal.org. Select modules for ‘some’ functionality. Write Custom Modules Next you will want to develop your own custom modules to fill in spaces of missing functionality or improve upon existing contrib modules. Configure the Site Site configuration can be an ongoing process which will increase with complexity dependent on the amount of modules, size of site, user role, permissions, content types, etc. Theme it Theming can occur in parallel to other development activities. Drupal’s theming engine also provides extensions to the modules. “There’s a Module for That!”
  16. 16. ICF International July 23, 2012 Creating Custom Modules Module .info file .module file Associated inc or tpl files Drupal's module system is based on the concept of "hooks". A hook is a PHP function that is named based on the module it is a part of. Hooks Hooks let any module, including your module, appear in another part of Drupal and do something. When Drupal takes an action it considers important (loading content, saving a user account, displaying a comment, etc.), it takes a moment to invite any installed module to observe or intervene. Every hook is an opportunity for your module to take action in response to something Drupal is doing. There are over 251 hooks in Drupal core, full documentation is available at: http://api.drupal.org/api/drupal. Module Structure Every module is stored in the /sites/all/modules folder All modules contain a .info file and a .module file To implement a hook, take the “hook” part off the front of the hook name and replace it with your module’s short (machine) name. For example hook_username_alter() is implemented in a module called the displayroles as displayroles_username_alter().
  17. 17. Drupal and Responsive Design Section Four
  18. 18. ICF International July 23, 2012 What is Responsive Design? Years ago we only needed to concern ourselves with the standard monitor resolution of laptops and PCs and cross-browser compatibility. Today we have smartphones, tablets, netbooks, laptops, PCs, all with different screen sizes - we still need to develop our site to respond to all of these devices. Responsive Design incorporates a flexible CSS framework that will adapt automatically to different device / resolution screen sizes. Create a single site and design a framework that adapts to any screen size Tweak the design at different screen sizes to improve the overall user experience The advantage of this approach is that it is usually much easier than building out separate experiences for different devices. Content type choices and descriptions are presented when the editor selects to add new content to the site. Koshland Science Museum was developed using a Responsive Framework. <link rel=“stylesheet” type=“text/css” media=“screen and (min-width: 960px)” href=“/style.css /> @media screen and (min-width: 960px) { left-column { float: left; width: 60%; } }
  19. 19. ICF International July 23, 2012 Using Responsive Design with Drupal All modules above can be found at http://www.drupal.org and more information about Omega can be found at http://omega.developmentgeeks.com There are several responsive add-ons available for Drupal. Omega is Responsive and Mobile First Drupal Base Theme based on the 960 grid system. Other add-ons listed below can be used in conjunction with a responsive base theme. Responsive Base Themes Modules 3rd Party Adapted Libraries Drupal 7 Omega Tools Touch Icons Adaptive Images Maximenu Mobile Tools* Omega Theme Adaptive Theme jQuery Mobile Flex Slider
  20. 20. The Drupal Community Section Five
  21. 21. ICF International July 23, 2012 The Drupal Ladder Initiative drupalladder.org contains lessons and materials to help people learn about and contribute to Drupal. The site was created by the Boston Initiative to help Drupal user groups develop and share and develop materials for learn sprints and issue sprints. The ladder teaches essential skills for contributing to Drupal 8 Core. Start on the bottom rung if you are a beginner, and climb as you acquire the skills and knowledge described in each lesson.
  22. 22. ICF International July 23, 2012 Local User Groups: Washington DC Druplers “This group has a great meetup every month where we get together to connect in person. The target audience is Drupal developers, users, and people who want to learn more about Drupal. We start the meetups with a round of very focused lightning talks that discuss real world solutions to existing problems, new work people have done, and Drupal news.” http://groups.drupal.org/washington-dc-drupalers - Learn about latest Drupal events in the area - Training resources, support, freelance opportunities 2 Meetings per month (Baltimore and Columbia MD)
  23. 23. ICF International July 23, 2012 Drupal Resources Training Resources: http://www.buildamodule.com (subscription) http://drupalize.me (subscription) http://nodeone.se/learning-library (free) http://www.lynda.com/Drupal-training-tutorials/186-0.html (subscription) Books: Doyle, M. (2009). Beginning PHP 5.3. Indianapolis, IN: Wiley Publishing Melancon, B. (2011). The Definitive Guide to Drupal 7. New York, NY: Apress Butcher, M. (2011). Drupal 7 Module Development. Birmingham, UK. Packt Publishing.
  24. 24. Questions Thank You!

×