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.
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:
iztok@agiledrop.com
ABOUT THIS FELLA
Thursday, August 29, 13
3. DIGG IN AND START BUILDING?
THINK AGAIN.
Thursday, August 29, 13
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. 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 drupalize.me or
buildamodule.com. Official documentation is usually not
rookie friendly.
Thursday, August 29, 13
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. (drupal.org/irc)
‣ 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. 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 Drupal.org. 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. 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
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. 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. 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. THEMING
‣ Never change code in downloaded themes.
Instead make your own subtheme:
http://drupal.org/node/225125
‣ 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. 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