Introduction into Drupal site building


Published on

Drupal is unique when it comes to developing - in most cases it needs no or very little coding at all. In this session I will introduce modules like Field UI, Views, Panels and Rules with which you can build an advance website or application.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction into Drupal site building

  1. 1. Introduction into Drupal site building Iztok Smolič, Drupal camp Alpe-Adria, Ljubljana 2013 Thursday, August 29, 13
  2. 2. ‣ Started as graphic designer (before we called ourself UX, IA, etc designers) ‣ Drupal developer from Drupal 6 ‣ Working as a independent consultant, and running Drupal dev team AGILEDROP. ‣ Organized meetups in Ljubljana, co-founded Drupal Slovenia Association, co-organizing this camp. Twitter: @iztok Skype: iztok.smolic Email: ABOUT THIS FELLA Thursday, August 29, 13
  3. 3. DIGG IN AND START BUILDING? THINK AGAIN. Thursday, August 29, 13
  4. 4. SERVER/HOSTING ‣ System requirements Apache, Nginx, or Microsoft IIS MySQL 5.0.15+, PostgreSQL 8.3+, SQLite 3.3.7+ PHP 5.3 Any popular hosting service should do. Important: Try to get PHP's memory_limit 64MB or more. ‣ Access to the server (SSH, SFTP, FTP) to manage web server’s files. ★If you have SSH access to the server and you are hardcore checkout Drush, thank me latter... Thursday, August 29, 13
  5. 5. RESEARCH. “Though no one can go back and make a brand-new start, anyone can start from now and make a brand-new ending.” ― Carl Bard ‣ The practices you get on your first project are hard to forget. ‣ Using concepts from other CMS or framework is usually a bad idea. Learn from resources like or Official documentation is usually not rookie friendly. Thursday, August 29, 13
  6. 6. RESEARCH. ‣ If its your first project be ready to rebuild it from ground up over and over again. ‣ Use IRC to quickly crowd source the architectural solution. ( ‣ Don’t look for a module, look for a solution. In Drupal you don’t get a module for a feature, you can get modules to build your feature. Thursday, August 29, 13
  7. 7. INSTALLING EXTENSIONS There is no words to describe how important the following instructions are... ‣ When installing extra modules or themes put them in: ‣ sites/all/modules/contrib/[all your modules] ‣ sites/all/theme/[all your themes] ‣ Never move, change, edit... (hell, don’t even look at them!) files and folder you got from This goes to Drupal core, modules and even themes. I can’t haz my files? But how can I change this [put your wish here] to look like I want it to look? Thursday, August 29, 13
  8. 8. INSTALLING EXTENSIONS Drupal core Drupal Core Modules Drupal Core Themes Drupal Contributed Modules Drupal Contributed Themes Custom Drupal (sub)theme Custom Drupal module with overrides Subtheme inherits all template files and CSS from the parent theme. We can keep any theme untouched and so make it upgradable. Developers are able to hook into module’s functions to alter how they work. There is no need to change the original code in modules. Modules can be upgraded with no surprises. Thursday, August 29, 13
  9. 9. BUILDING BLOCKS Thursday, August 29, 13
  10. 10. BUILDING BLOCKS ‣ Content types ‣ Example: Event, Page, Blog, Article, Forum post ‣ Taxonomy vocabularies ‣ Tags, Category, Forums ‣ Users ‣ All of those are fieldable. This is the true power of Drupal. Thursday, August 29, 13
  11. 11. BUILDING BLOCKS ‣ With fields we can attach properties to entities ‣ eg: Text, File, Image, Address ‣ With fields like Term reference and Entity reference we link diff entities (tyeps )together. ‣ Try to use fields as much as posible, to keep your data semantic. Thursday, August 29, 13
  12. 12. BUILDING BLOCKSEXTRAS ‣ Queries ‣ Views module One and only UI tool for building queries. ‣ Page managing / layouts I encourage you not to use default Block system. ‣ Context module ‣ Panels module ‣ Logic ‣ Rules module Thursday, August 29, 13
  13. 13. THEMING ‣ Never change code in downloaded themes. Instead make your own subtheme: ‣ Don’t use custom page.tpl.php to alter layouts for each subpage (eg page--node-1.tpl.php for “about us”). Use Panels or Context. ‣ Ideally you wont need any extra .tpl files. Trust me. ‣ Love your markup? It took me 2 years to embrace Drupal’s HMTL output... Thursday, August 29, 13
  14. 14. LIVE DEMO EXAMPLE ‣ We assume we have installed the following must have modules to your server: ‣ Views (with Ctool as a dependency module) ‣ Panel ‣ Have I mentioned where you need to put them? Thursday, August 29, 13