Drupal Basics May 30, 2012 By Sean Fitzpatrick
Sean Fitzpatrick | Welcome We're going to talk about Drupal We're going to keep it pretty basic You should leave with enough curiosity to experiment on your own This is not a Drupal vs. Wordpress smackdown, but we will be making some comparisons
Sean Fitzpatrick | Introductions Who am I? What is LISHost? What do we do?
Sean Fitzpatrick | Scope of the workshop We're going to try to cover the basics I am assuming most of you are beginners If you are a total beginner, I apologize for going fast and using technical terms If you are not a total beginner, I apologize for going slow and using basic terms
Sean Fitzpatrick | What is Drupal? And why is it awesome for library sites? Open source content management framework “Allows you to create and maintain many different types of websites without needing to know any coding languages” – No prescribed configurations, but many features common to library sites are easily available in Drupal
Sean Fitzpatrick | Why Drupal? Lots of stuff available for typical library sites: News Feeds Calendar Taxonomies Image handling (such as galleries) Search Comments and other social functionality
Sean Fitzpatrick | Drupal 6 or Drupal 7? It's a shame I even put this slide in here. Just use Drupal 7.
Sean Fitzpatrick | Core, Contrib, and Theme These three components are the basis of an open framework for building beautiful bespoke websites. Drupal is like a Lego kit. Skilled developers have already made the building blocks - in the form of contributed modules - that you need to create a site that suits your needs, whether that is a news site, an online store, a social network, blog, wiki, or something else altogether. From
Sean Fitzpatrick | Drupal core Talks to the database (so you don't have to) Provides some basic functionality for organizing content Builds content into web pages Gives some basic options for a front end (theme) (i.e, Drupal core gives you a basic, dynamic website)
Sean Fitzpatrick | Contributed modules Thousands of modules extend Drupal's core This makes anything possible. (“There's a module for that...”) Modules have already done all the “heavy lifting” And all this comes with benefits and challenges
Sean Fitzpatrick | Theme Theme layer presents content and markup to the browser Rendered with PHP And HTML, JS, CSS, etc Drupal offers lots of template files and overrides
Sean Fitzpatrick | Good and Bad Ultimate flexibility Future extendability Scalability vs Learning Curve Staff time
Sean Fitzpatrick | Learning curve? I believe the “learning curve” inexperienced people associate with Drupal pertains to site building and back-end development. This is irrelevant for day-to-day content managers.
Sean Fitzpatrick | Technology stack Web Server: Apache or Microsoft IIS PHP: 5.2 or higher Database Server: MySQL or higher, PostgreSQL or higher, or SQLite (Microsoft SQL Server and Oracle are supported by an additional module)
Sean Fitzpatrick | Personnel and skill sets Project manager Information designer Copywriters (don't tell me you're going to migrate...) Web designer Developer – could be two – front- and back-end IT/Systems guy
Sean Fitzpatrick | Let's stop for some questions
Sean Fitzpatrick | Installation From scratch... provision server Install apache, mysql, php, some other packages Installing Drush is a good idea for command line people Download Drupal Set directory permissions Create a database Run the installation script
Sean Fitzpatrick | Post install: Dream big, code little Installing Drupal is pretty trivial. Then the real work starts. By selecting great contributed modules and learning how to implement them, you can achieve amazing functionality without any programming. Similarly, some themes offer a lot of robust configuration options for creating beautiful sites without writing any code.
Sean Fitzpatrick | Content types and Views Content types are extended with custom fields. Fields store data in the database. Lots of data types are available, such as dates, files, location coordinates, and so forth. The Views module (contrib) is a tool set for building complex queries with a graphical UI (no coding).
Sean Fitzpatrick | API and theme libraries You can go a long way without programming, but big, complex sites need custom development. Drupal offers a rich API for extending functionality. Similarly, base themes and theme functions allow for implementing any kind of front-end design.
Sean Fitzpatrick | Buzzword compliance HTML5, CSS3 Mobile-first Responsive design SASS/Compass Etc. (I pretty much only follow buzzwords from the front-end dev world)
Sean Fitzpatrick | Third-party content Drupal has some amazing tools for integrating third- party content (try the Feeds module) RSS, XML, CSV, SQL Evanced ILS ???
Sean Fitzpatrick | Users and Workflows Custom user roles/permissions by module (no pre- defined roles to limit flexibility) Simple publishing and editing for small institutions. Ability to create complex workflows to scale up for large institutions. (Check out the Rules module.)
Sean Fitzpatrick | Security Yes, sites get hacked. Keep modules up-to-date (especially security updates). Keep other stuff up-to-date. Be careful about permissions. Keep track of users, logs, spam, etc.
Sean Fitzpatrick | Scalability Oh yeah, some big library sites too.
Sean Fitzpatrick | Additional Resources drupal.org/documentation groups.drupal.org api.drupal.org Drupal4Lib ( #drupal (irc) Print?