Oh Drupal,Drupal why are you Oh Drupal,Drupal why are you Drupal? Drupal?

motherlamentationInternet και Εφαρμογές Web

7 Δεκ 2013 (πριν από 3 χρόνια και 10 μήνες)

93 εμφανίσεις



Oh Drupal,Drupal why are you
Oh Drupal,Drupal why are you
Drupal?
Drupal?
Alessandra Petromilli
Alessandra Petromilli
CSP-Innovazione nelle ICT
DrupalCamp 2011
Verona 24/09/2011


How we met
How we met
2008


Why Drupal?
Why Drupal?
Drupal allows me to work, learn and “play” on the shoulders of
giants: mysql, php, xhtml, css.
And much more...
I reach high level of complexity without writing any line of code
thanks to the “programming interfaces” provided by the different
modules.


The Start of Something beautiful..
The Start of Something beautiful..


What is it #1?
What is it #1?
It offers an
administration interface
through which
every admin

could
administrate
every single aspect of a website
without
having knowledge of a particular programming language.
Drupal is more than a simple
content
management
system.

It is considered a content management framework
(CMF): It allows to create interactive online
applications and community tools.
It has a modular architecture and it is written in
PHP

language and distributed with
GNU GPL
licence.


What is it #2?
What is it #2?
Drupal is usually a
dream
with
a
happy ending
but
occasionally a
nightmare
Drupal means I can say "
yes, I can
do that
" to my clients
You share a little, you get a
lot
- this is Drupal
!
Joomla is playmobil,

wordpresses are
barbies
,
Drupal is lego
but you can customize
all the blocks
Drupal is the
Swiss Army Knife of website
development
Drupal is a
dream space
, like
Inception. Inside Drupal,
you can
dream bigger
Drupal
is the reason I
defected from Java
. And
never looked back


Why do I fall in love with Drupal?
Why do I fall in love with Drupal?


Trustworthy
Trustworthy

Customizable
permissions;

LDAP, NTLM, OpenID
Authentication
– different possibilities
to login in to the
website
;

Compatibile SSL
– it is possible to
configure it as if just few pages are in
HTTPS.


Standards Compliant
Standards Compliant
It uses standard-compliant
methods like:


XHTML and XHTML5

CSS and clean URLs



Lightweight and modular
Lightweight and modular


4,000+ Modules


Lightweight Core Code


Smart Content management
Smart Content management

Content Construction Kit
(CCK) and Views Module
to
create new type of content
and manage the visualization
in an advanced way without
writing any line of code.


The majority of CMS would
require to develop ad hoc.


Smart Users management
Smart Users management

Drupal has been developed for
community
based web applications

Audit trails

– It helps to control users'
activities

Content moderation

Granularity of privileges

It is possible to
create different roles
and
manage them with
different levels of
permissions/access



1,600+ at Drupalcon London 2011

Active support forms

+400.000 siti in circolazione basati su Drupal

Used by major businesses & nonprofits:

Ubuntu

The White House

SonyBMG

Warner Brothers Records

Amnesty International

Green Peace

CSP :-D..)

...
Lots of smart and helpful people


What can Drupal do?
What can Drupal do?


Weblog

Community Web Site


Forums


Social Network Site


Wiki/Knowledge Base


Business Web Application


Like most love stories...
Like most love stories...
It won't be always roses...
It won't be always roses...


It won't be always roses #1..
It won't be always roses #1..

The difficulties won't be cause by an interface
difficult to understand but by the configuration
potentiality of the CMS.
What you gain in flexibility you lose in ease of
learning.
There are a lot of options and settings you need to
be familiar with.
More time is necessary to acquire webmaster's
skills with Drupal than with Joomla or Wordpress.


Who is a Drupal Configurator?
Who is a Drupal Configurator?



A
Non-coder

I can install
Drupal on a server
and
configure htaccess and php.ini

I can
find and install modules
that answer to the project needs

I can
configure the base modules
(views,panels,cck,imagecache etc)
and the core settings with my eyes closed

I can
develop complex sites
(web portal and social network)

I can
dialogue with developers
in order to find drupal oriented solutions
in order to avoid wild hacking

I am
involved with the Drupal Community

I know t
erminology and conventions
of the software
Who I am and what I can do with the blue drop
Who I am and what I can do with the blue drop


What create a website from a
What create a website from a
programming interface means?
programming interface means?


Views overview
Views overview

Views is a
powerful query builder

for Drupal. It's a module that lets
you fetch content from the database
and present it to the user in ways
tailored to your needs:
lists, posts,
galleries, reports, forum posts
.

Given enough information,
it can
build the proper query
, execute it,
and display the results as a page,
block, or other format such as an
RSS feed.


ImageCache overview
ImageCache overview

Imagecache
lets you make
different sized
alternatives
of the
same images.


It requires an
image manipulation library
such as
GD2
or
ImageMagick


It requires
clean urls
to be enabled.

You can use imagecache with any
image uploaded
to Drupal,
so you can use it with
Image module

as well as n
ormally uploaded images
using the
Upload module
, but the most common way is to
use it with
CCK
and
Imagefield.

It allows you to
automatically resize images;

It allows you to to
scale images down
for a teaser
and
display them in their full size
when viewing
the whole content.

...


Panels overview
Panels overview

The Panels module allows a site
administrator to
create customized
layouts for multiple uses.

At its core it is a drag and drop content
manager that
lets you visually design
a layout and place content within
that layout.

Integration with other systems
allows
you to create nodes
that use this,
landing pages, and even
override
system pages such as taxonomy and
the node page
so that you can
customize the layout of your site with
very fine grained permissions.


CCK overview
CCK overview

CCK
allows the site administrator,
through the web interface, to
create
custom fields
for any content type.

Within each content type, CKK
allows you to
group different fields

together and assign order by using
the usual Drupal weighting system.

CCK also allows you to determine
how each field within each content
type will be displayed for either the
teaser or full views of each node.

It provides a very useful feature
called
Nodereference
. The CCK
nodeference helps to define a
relationship among different content
types.


Features overview
Features overview
Task 1: Export configuration

You can export your configuration in a
module;

You can upload the feature to the site
where you want to import the configuration
and activate the feature;
Task 2: Manage features
The interface at
admin/build/features

shows you only feature modules, and will
also inform you if any of their components
have been overridden.
Task 3: Using Features to manage
development
It can be used during development in
conjunction with a version control like SVN
or git as a way to manage changes
between development, staging and
production sites.
Features provides tools for
accomplishing three important tasks:


Configuration Learning Curve
Configuration Learning Curve


Level 1: Drupal core + basic fields
Level 1: Drupal core + basic fields
This level is crucial for understanding what
This level is crucial for understanding what
Drupal is all about.
Drupal is all about.

Installation and Configuration;


Node creation;

Users, roles and permissions;

Changing some basic site settings:
you know
how to change front page, site name, settings for
account registrations, turning off the posted-by lines
for nodes, and some other basic settings on the site.

Blocks:
You know how to control where blocks are
displayed. You can use block visibility settings
based on roles.


Menu:
You are comfortable with adding nodes in
menus and know how to make arbitrary links into
menu items. You have a feeling of how the menu
places primary and secondary links works in a
theme;


Level 2 – Intermediate fields +
Level 2 – Intermediate fields +
basic Views
basic Views
This level introduce the first “advanced”
This level introduce the first “advanced”
concept even if it is not yet clear how
concept even if it is not yet clear how
awesome these things really are.
awesome these things really are.

Node reference:
You know how to use
node reference in order to create
relationship between your nodes.

Image handling:
You know how to add
images as fields to nodes, and know how
to create new image styles (or
ImageCache presets in Drupal 6).

Simple node lists in Views:
You have
built simple node lists using the Views
module, and can handle basic fields, filter
and sorting settings. You might even have
tried out exposed filters. You have
probably tried creating both page and
block displays.


Level 3 – Intermediate Views +
complex single-purpose modules
Reached this level you can configure pretty well
Reached this level you can configure pretty well
the most popular modules and you can
the most popular modules and you can
understand which suits your needs best.
understand which suits your needs best.

Views

Relationships and arguments


Attachments and feeds

Extensions

Views integrating modules:
Flag, Nodequeue o
moduli per il voting

Simple access conditions:
You have had cases
where Drupal core's access control wasn't enough,
and have tried modules like Content Access, TAC
Lite and Organic Groups

Localizing:
You have learnt how to install your own
language and complement interface translation
when needed.


Yourvoice
Yourvoice




Views list
+
Panels
Views relationship
+
Views arguments
+
rules
+
Panels
+
Imagecache
+
Advanced Profile
kit
Taxonomy module
+
Taxonomy
menu
Taxonomy module


First crisis
First crisis

Disable some fields in the
creation form of petitions,
depending on the user role.
Only the administrator must
be able to display some
fields as parameters of the
campaign.=>PHP

Problem with views and the
module that manages the
social network. First clash
with Relationship.


Still together..
Still together..


PHS
PHS
Web Portal of the Project PHS-
Suism that gives visibility to the
Touchwall application.

Use of jquery tabs, views, panels,
embed media field, xml and flash
for the photoreel management.


PHS
PHS


Level 4 - The outside world
Level 4 - The outside world
At this level you start to get a good knowledge
At this level you start to get a good knowledge
of the configuration tasks and begin to seek
of the configuration tasks and begin to seek
greater involvement by interacting more with
greater involvement by interacting more with
the other members of the Drupal community.
the other members of the Drupal community.


Installing Drupal starts being a routine task;

Support:
When searching the web for answers to
your questions, you have found yourself writing
answers to other Drupalists' questions.

Features:
You may have tried out the Features
module and exported some of your configuration,
and even if you far from always make use of it you
appreciate when modules are Features exportable.


The Drupal Side effect..
The Drupal Side effect..
It causes dependency :-D
It causes dependency :-D



Partecipation at DrupalCamp Crema 2009

Partecipation at Drupal Devel Days Munich 2010

Partecipation at DrupalCamp Torino 2010 as a member of the Staff

Partecipation as a Speaker at Alpine Drupal Camp 2011

Partecipation at DrupalCon London 2011 as a member of the Staff

Partecipation at DrupalCamp Verona 2011 as a speaker and a
member of the staff

I'm giving support on drupal.org and community.openatrium.org
Drupal and me aka Drupal is like
Drupal and me aka Drupal is like
chocolate
chocolate


Level 5 – Module combinations +
Level 5 – Module combinations +
basic Rules + basic Panels/Page
basic Rules + basic Panels/Page
At this level the Drupal configurator starts combining
At this level the Drupal configurator starts combining
even quite complex modules to create powerful
even quite complex modules to create powerful
functionality. Note: Coders don't always reach this
functionality. Note: Coders don't always reach this
level, since learning and applying this kind of Drupal
level, since learning and applying this kind of Drupal
configuration requires as much efforts as coding
configuration requires as much efforts as coding
your own solutions. Non-coders have no choice but
your own solutions. Non-coders have no choice but
to configure.
to configure.



Simple Rules and relationship use cases

Simple Panels use cases

Complex views:
You feel comfortable using arguments
and relationships in Views, even in combination.
You know in your bones that you're doing something
wrong every time you enter PHP code in
configuration;


CSP web site and Blog
CSP web site and Blog


Block
Panels
Panels
+
Views
Ddblock module
Feed Rss
module
Taxonomy
Social
module
Taxonomy
+
Taxonomy menu
Trigger module
Multilanguage
Timeline
Url aliases

module
Token
module


CSP website
CSP website
Complex site that consists of advanced features
and navigation with nested levels.
Nevertheless was not required any code to
configure it.


Level 6 – Access configuration +
Level 6 – Access configuration +
complex Rules and Panels/Page
complex Rules and Panels/Page
This is about as far as you get as
This is about as far as you get as
configurator. At this point the
configurator. At this point the
configurator can juggle information
configurator can juggle information
on the site and make her modules
on the site and make her modules
do things that coders find
do things that coders find
challenging to accomplish.
challenging to accomplish.

Complex Rules:
you can use
chained rulesets when necessary;

Complex access conditions: Rules
+ Content Access, Rules + TAC,
node references + ACL
to create
complex access rules

Context


SVEA - Promoting web 2.0 uptake for organisational and personnel
SVEA - Promoting web 2.0 uptake for organisational and personnel
development in Vocational Education and Training and adult training
development in Vocational Education and Training and adult training
SVEA primarily targets
vocational and education
trainers
, as well as adult trainers.
SVEA means to provide these education
professionals with both an on- and offline training
framework on the applications of web 2.0. The
resulting collaborative management, and greater
focus on learner-centered and self-exploration
learning, will allow for greater competitiveness
and increased visibility in the education market.


SVEA - Promoting web 2.0 uptake for organisational and personnel
SVEA - Promoting web 2.0 uptake for organisational and personnel
development in Vocational Education and Training and adult training
development in Vocational Education and Training and adult training


Features


Level 7 – The peak
Level 7 – The peak
At this point the configurator can do
At this point the configurator can do
strange and wonderful things, and have no
strange and wonderful things, and have no
trouble bridge the gap between
trouble bridge the gap between
configuration and things like coding,
configuration and things like coding,
hosting issues, theming and deployment.
hosting issues, theming and deployment.

Config exports:
Every configuration you
make is exported and version controlled

Multilanguage sites:
You can create sites
that truly are multilingual, even separating
countries and languages, and they always
work as intended

Pitfall spotting:
When reading a site
specification, you can spot all the hidden
pitfalls that look like easy functionality but
actually take 100 hours to accomplish. You
probably know how to solve the problems as
well. You can estimate how much time it will
take to build the rest of the site within five
percent error


Valsesia
Valsesia


Valsesia
Valsesia

Streaming TV:
views and “rss” filter

WEB TV: flash
video module + views

Workflow:
gestito tramite Triggered
Rules e flag

Personal guide:
views relationship,
panels, block and google map
module

POI and Path:
node reference and
cck tabs

My POI:
views relationship and flag

Android apps:
services module


Dries: “Next is to eliminate
the web developer and to
make online publishing even more
accessible. Our goal is to
provide anyone who wants to build a
website the tools they need to build
the website they want. No
restrictions...”






Thanks to Johan falk and his Drupal configurator
learning curve and to Julia Kulla-Mader who
has been source of inspiration for my
presentation.