Lazy Coder Camp (Edition 1)
The first edition of the camp is a daylong event that is totally free for IT enthusiasts and students to attend. We will be discussing about bootstrapping Drupal. The discussion will cover all aspects of Drupal installation, setting up a basic website and integrating all your social media streams to your basic site. The event will serve as a great learning opportunity for young professionals from other domains to come experience Drupal first hand with the PHP experts. The speakers will bring their unique experiences and insights to share with the audience and will be addressing all apprehensions related to taking up Drupal development.
2. Agenda
Morning Sessions Afternoon Sessions
10:00 AM Introduction to 1:30 PM Modularization
Drupal 2:45 PM Tea Break
10:30 AM Installing 3:00 PM Media Integration
Drupal in 2
mins 4:00 PM Comparison of Drupal
Versions
11:00 AM Tea Break
4:30 PM Fun Quiz with Prizes
11:15 AM Building a
Drupal Site 5:00 PM Possibilities of Drupal
12:30 PM Lunch
3. Need a tool to build....
Blog
Forum
Online newspaper, Portal / Directory
Flickr like photo drop
Social community site, job post board
Video site like youtube
Project management site
CRM, ERP, SCM, Wiki
Shopping cart system
E-learning, training site
Anything you can think of…
5. What is Drupal?
Derived from “Dorp” meaning Village in
Dutch.
A sophisticated web application building
tool
Content Management System (CMS)
Written in PHP
Free to download & share
Cross – platform supported
6. Evolution
1999
Started as
Message Board 2012
2001
By Dries Stable 7th
Drupal.org
Buytaert Version
2000 2005
Open Source Community
7. Drupal Versions
D8, 2013 Aug
Expected
D7, 2011 Jan
D6, 2008 Feb
Year
D5, 2007 Jan
D2, 2001 Feb D4, 2002 May
D3, 2001 Sep
D1, 2001 Jan
Version
8. Content Management System (CMS)
“CMS is a website built using the
website itself”
No need to be a Geek
Easily add, delete images and edit
text on the fly
Unlimited number of pages and a
full site-search engine
Updates can be done in less time
compared to development
frameworks
Handy Admin Panel
Less complicated
9. Why Drupal?
It is completely Open Source.
Role Based Access Control
Modular framework allows for
slotting in new functionality
Enable modules – features like
blog or forum is ready
Content moderation queuing
Handling multi-lingual pages is
easier
Large Passionate Community of
Users, Developers
10. Drupal is King
Rapid Web development
Ultra-scalable from small single-
user to mega huge multi-user
Over 16000 contributed modules
Roughly 200 modules dedicated for
SEO
Great Social Networking integration
Longevity - Drupal platform is here
to stay
12. Indian Websites
Indian Government Websites
Ministry of Law & Justice - http://doj.gov.in/
Ministry of Communication & Information Technology -
http://www.data.gov.in/
Comptroller and Auditor General -
http://saiindia.gov.in/cag/
15. Prerequisites
>15 MB
Web Server - Apache , Ngnix, or Microsoft
IIS
DB Server - MySQL, PostgreSQL, SQLite
PHP - 5.2.5 or higher
Drupal 7 Package
16. XAMPP Overview
XAMPP is free and open source
Cross-platform
Comes with Apache HTTP Server, MySQL database,
and PHP
XAMPP's name is an acronym for:
X (to be read as "cross", meaning cross-platform)
Apache HTTP Server
MySQL
PHP
Perl
17. XAMPP Installation for Windows
Download link
www.apachefriends.org/en/xampp-windows.html
Run exe file in Windows OS
18. XAMPP Installation for Mac
Download link
www.apachefriends.org/en/xampp-macosx.html
Drag and Drop the XAMPP folder into your Applications
folder
19. XAMPP Installation for Ubuntu
Go to terminal and follow below steps to install
XAMPP
1. cd Downloads
2. sudo –s
3. tar xvfz xampp-linux-1.8.1.tar.gz -C /opt
4. sudo chmod 777 -R /opt/lampp/htdocs/
To start XAMPP service
/opt/lampp/lampp start
To stop XAMPP service
/opt/lampp/lampp stop
20. XAMPP Configuration
Start Apache Service
Start MySQL Service
Php.ini configuration
Enable SSL Extension
Set upload limit for files to atleast 20 MB
Set post maximum file size to atleast 20 MB
21. Drupal Installation
Download Drupal
Install XAMPP OS
and place it root folder
Ubuntu
cp default.settings.php
Change permissions
windows
to settings.php
Follow instructions and
Browse localhost Create DB
Fill it
Drupal Site
32. College Website
What do we need for a typical college website?
Logo
Blog for announcements
Forum for student discussion
FAQ Section
Scores
Previous year question papers
Holiday list - Calendar
Social media integration
RSS feeds
Multimedia integration
33. Theming your website
Themes
Why theme your site?
Drupal - customize the
appearance of your site
No need to build each aspect
of your design from scratch
Several custom themes that
can be used as-is
How do I apply a theme?
34. How to Proceed?
You have all the tools you need with Drupal
How do I replace the logo?
Drupal has modules
What are modules?
How do I use a module?
Can I create my own module?
YES!
35. Creating Blogs / Forums
In-built Drupal Modules
Its easy to create blogs and forums
Creating user content on pages
Where do I put my content ?
Drupal Blocks and Regions
Views
36. Uploading Files
Exam Time!
How do I upload files?
There is a module for that!
Where user files are stored
Setting limits on file uploads
37. Displaying Scores
How do I display student scores?
The Drupal Admin UI
Creating content with the Admin UI
WYSIWYG Editors
Role based access
38. Next Steps
Basic functionality done, what else?
Contributed modules
Gallery & Polls
RSS Feeds
Social media integration
More about Views
Media integration
41. Customizing Our Site
What are we going to do?
Integrating Photo Gallery
with Slider
Integrating Poll
Integrating RSS Feed
Aggregator
Integrating with Twitter
42. Integrating Photo Gallery
Gallery can support photos and other
content
Requirements
Third Party Module : JCarousel
Dependency Modules : CTools,
Views
43. Creating Content with Image
We need one content type to create a gallery.
Go to Structure Content types Add Content type
Click on save and add fields. Create a new field, called
Image
Select the image in filed and the widget
44. Creating Image Style
Manage the Display of Images (Manage File Types) by
adding style in Administration Configuration Media
45. Create a View for Gallery
Go to StructureViews. Click Add new view & select
"Create a block"
Choose JCarousel Display format. Click Continue & edit
46. Create a View for Gallery
The image shows the
settings for
JCarousel
Change the fields
Click Add to add the
“Content: Image”
field to your view.
47. Create a Block for Gallery
Assign the block in the Help region
48. Gallery with Slider
Once the block is live, it will look like the images in
the slider shown below
49. Polls
The Poll core module lets you to create simple polls.
Drupal then keeps a running tally of the results
Enable the Poll module
51. Creating Content for Polls
You can add question and choice and then select
the time duration for this poll
52. Assign Polls in Region
Now Poll content will get displayed on front-end.
53. Integrating RSS Reader
Aggregator module is a powerful Feed Reader
Fetches syndicated content from other websites.
Gather, read and display news, text, images, and
other content from external news sites and blogs
around the internet.
.
54. Integrating RSS Reader
To add feed we can configure the URL and save as
per the screenshot below
55. Integrating RSS Reader
Assign the RSS feed to the sidebar region for
displaying in front-end
57. Integrating Twitter
Twitter module allows listing tweets in
blocks or pages
OAuth module is required to
authenticate with Twitter
Requirements:
Main Module : Twitter
Dependent Modules : Views, Views
UI, OAuth
58. Integrating Twitter
Installing, configuring and enabling the block
Enable Twitter, Views UI, Oauth and CTools
modules
As the admin user, go to "My account" Edit
Twitter accounts
Assign User Tweets block to corresponding region
Set cron to run periodically in order to pull new
tweets
61. Simple Social Media
What are we going to do?
Uploading Media Files
Embedding Media Files
Video/Audio Play
Get Play List
62. How to proceed?
Drupal has dedicated media modules
Media
MediaFront
HTML5 Media
Media_youtube
Media Internet Sources
63. Media Integration
Steps to publish media on the site
1. Creating Media Presets
2. Creating Media content type
3. Creating Media fields
4. Managing the player/display
5. Providing access privileges
64. Building a Media Content
Integrating media with the content
Uploading Media files
Embedding YouTube videos
Video/Audio playback
65. Get Play List
Play List using Views
1. Creating views as page
2. Filtering the Media content
3. Integrating the media content
4. Styling the Media player
5. Displaying media files in playlist
6. Creating search field
66. Most Viewed Seminars
Displaying Most Viewed Seminars – Using Views
Creating views as block
Integrating the media content
Filtering the media content
Adding link to the media
Assigning to sidebar region
70. Drupal 6 vs Drupal 7
Feature Drupal 6 Drupal 7
Min. System DB: MySQL >=4.1, DB: MySQL 5.0.15 or
Requirements PostgreSQL 7.1 PostgreSQL 8.3
PHP >=v4.4.0 PHP >=v5.2
Security Regarded as a highly- Secure (scheduled tasks,
secure platform. More password system, log-in
stress tested and analyzed. system, modules) can be
updated via the web.
Flexibility Content types are text Removed. Support for multiple
fields. Body field required. types
Configuring Very tedious – Multiple One step – Very Easy
Blocks steps
71. Drupal 6 vs Drupal 7
Feature Drupal 6 Drupal 7
Update Manual update Function Manager available
Hooks Less Hooks. More Hooks
Image Handling Bit difficult. Improved image handling,
better support
CCK Not part of core, Part of the core.
contributed
Default Admin Less intuitive. User friendly interface.
Theme
Working jQuery jQuery 1.2.6 jQuery 1.4.4, faster
73. Drupal 7 vs Drupal 8
Feature Drupal 7 Drupal 8
Web Services Simple HTML-page-based Efficient & Secure transforming to
CMS a first-class REST server with a
Assumption to have blog- first-class CMS on top of it.
like HTML page, with main Ref:
& secondary content http://groups.drupal.org/wscci
areas.
HTML5 HTML5 supported via Native HTML5 Support
contributed module. Ref: http://groups.drupal.org/html5
Mobile Device Via contributed module, In built native app integration with
Support little cumbersome to set HTML5.
up. Admin UI on mobile devices.
Core themes are responsive.
Front-end performance
improvements.
Ref: http://groups.drupal.org/mobile
75. Drupal 7 vs Drupal 8
Feature Drupal 7 Drupal 8
Multilingual Separate node in <D7. Base language features
features In D7-Field API. Interface language translation
No built-in interface, need Content language translation
contrib. Configuration language translation
Usability
Ref:
http://groups.drupal.org/internation
alization
Configuration Less efficient migration Efficient migration for testing /
Management between versions staging / live site
Ref:
http://groups.drupal.org/build-
systems-change-management/cmi
91. Question #13
What does Views module primarily do?
a) Run update script b) Display content
c) Run database queries d) Assign blocks in regions
92. Question #14
What is the basic theme of Drupal 7?
a) Mirenelli b) Garland
c) Bartik d) Fresh
93. Question #15
Should we use an existing database for the Drupal
installation ?
a) Yes b) No
94. Question #16
What is the web root folder for XAMPP ?
a) xampp b) sites
c) htdocs d) apache
95. Question #17
What is the 2nd most popular web server used
with Drupal ?
a) Google b) IIS
c) NGINX d) GWS
96. Question #18
Why database is a must in Drupal installation ?
a) Storing user data b) For security purpose
c) For Uploading images d) All the above
97. Question #19
What does CCK stand for ?
a) Content Complementary b) Content Console Key
Kit
c) Content Construction d) Content Construction Kit
Key
98. Question #20
Where is content on a Drupal site laid out ?
a) Pages b) Layout
c) Regions d) Sidebars
99. Question #21
Can you create your own custom module?
a) Yes b) No
100. Question #22
What does RBAC stand for ?
a) Role Based Auto Control b) Role Based Admin
Control
c) Role Based Account d) Role Based Access
Control Control
101. Question #23
In which folder should customized modules go ?
a) sites/all/modules b) /modules
c) sites/default/files d) sites/default/modules
102. Question #24
Where will you find access logs in admin UI?
a) Structure b) Configuration
c) Reports d) Content
103. Question #25
How to exclude a user from viewing a particular
content type ?
a) Using Blocks b) Using Views
c) Using Permissions d) Using Ctools
107. Drupal – Sites & Apps
Websites can be built from
small to high level applican in
short time.
Timesheet System, Project
management System, Blogs ,
forums
http://openatrium.com
Ecommerce use
http://www.drupalcommerce.or
g/
We can customize the code.
108. SEO Support
Drupal highly Support SEO
Avail SEO modules in
drupal.org
It checks the page and make
the page support SEO
Google :Type a word linux
http://www.ubuntu.com/ is built
in Drupal
Google :Type a word ubuntu :
ubuntu will appear with site-
links
Sitelinks will be provided by
Google when the site get a
good rank
109. Multilingual & Multisites
Multilingual and Multisite is
highly emerging trend
Multilingual – ?
Recommended i18n module
Multisite - Multiple Websites of
an organisation with relative
data and with out relative data.
110. Multisite
Drupal provides the multiple way for configuring multisite.
Multiple codebase Multiple DB (Separate)
One Drupal codebase, Multiple Databases
Shared tables
Using Domain access module
111. Drush
Drush („DRUpal Shell‟) is a command line tool
Admin operation without GUI
Avail the Drush module from drupal.org
Commands available at http://drush.ws/
112. Mobile Capability
Mobile themes are available
WURFL is a tool for detection
Maps HTTP Request Headers
Use “Mobile tools” module for testing
114. Mobile Capability Reference
http://www.consumersearch.com/
Test the site by
http://www.howtogomo.com/en/d/
test-your-site/#gomo-meter
Fill form and test