Check out the schedule outline in your manual on Page 3. [Indicate if this is a short version or a long version]

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

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

57 εμφανίσεις

Thank people for coming. Leave this slide up as they come in.
Write their names on a seating chart as you greet them. Get
them to log in to Drupal Gardens.
Check out the schedule outline in your manual on
Page 3. [Indicate if this is a short version or a long
version]
We’ll start each session with a short presentation on
the topic. I’ll give a quick demo and then you’ll
Drupal Gardens: Get people set up.
Easy way to quickly stand up a Drupal 7 site.
Includes standard set of supported modules. Similar
to wordpress.com version of wordpress.
Remind people to
ALT + Tab between manual
PDF and browser.
Get people starting to set up
their accounts while you’re continuing the next
part of the presentation.
Quickly mention Acquia, and then Switch over to
your own website, and talk about your own services.
Tell about yourself. Try to keep as brief as possible.
If you have data about the participants who are there. Or do a
show of hands, or ask people to introduce themselves.
Why are you here? Who’s tried Drupal before? What have you
heard about Drupal?
This course is based on a survey - and found what 203 people
“wish they knew when they started Drupal”. The result report
from the survey is linked from the resources page. We’ll look at
each of these points today in the activities.
Your next Drupal site is coming soon. This
picture is also in your manual.
a.
Change your site title and slogan. b. Make a block
of quotes which rotate randomly in the sidebar. c.
Create a custom webform to invite interested
visitors to leave their information.
BE QUICK! Don’t talk much about things you can’t
see in the slides. Keep people focused on the main
topic. Keep presentation brief and ensure you get to
the activity.
The  FCC  is  using  Drupal…  (go  to  next  slide  quickly)  US  Gov’t  agency
The  FCC  is  using  Drupal…  (go  to  next  slide  quickly)  US  Gov’t  agency
Emphasize the many menu control modules to get
customized menu systems.
You can find ideas for other modules
by looking at great Drupal sites.
Often, modules inject classes into the
markup, so you can see how they were
built.
This is DrupalCon in Brussels in 2005. (quickly to
next).
The DrupalCamp recently in Dakar was about the
same size.
And about the same size as this monthly Boston
meet-up.
Thousands converge for the conferences. Twice
yearly in N. America and Europe, and soon annually
in S. America.
SKIP  IF  GROUP  IS  FAMILIAR  WITH  CMSs!
Anyone  remember  “The  Webmaster”
First  let’s  look  back  for  a  moment  to  see  the  problem  Drupal  was  originally  
designed  to  solve.  Sites  were  mainly  text  and  images,  with  a  hierarchical  site  
structure.  Sites  were  assumed  to  be  accessed  mainly  from  their  front  pages,  
SKIP  IF  GROUP  IS  FAMILIAR  WITH  CMSs!
Can  anyone  think  of  why  this  might  be  a  problem?
Design  updates?
User  generated  content?
We  may  think  of  the  original  way  websites  were  designed.  All  the  data  and  design  
was  kept  in  one  file.  Sites  became  increasingly  complex  to  update  and  redesign  with  
data  and  presentaSon  trapped  in  one  file.  
SKIP  IF  GROUP  IS  FAMILIAR  WITH  CMSs!
Now  database  driven  sites  could  be  built  off  of  templates.  Business  logic  
separated  from  templaSng  logic.  Now  you  had  users,  logging  in  and  
interacSng.  
SKIP  IF  GROUP  IS  FAMILIAR  WITH  CMSs!
Sites  are  more  interacSve,  social  and  media  rich  than  they  were  even  10  
years  ago.  
ExpectaSons  are  that  the  site  is  driven  by  users,  not  by  site  owners.
In  addiSon,  Open  source  became  very  important,  in  large  part  because  now  
As more developers created more scripts, they found more
efficient ways to collaborate and reduce duplicated effort. This
is how communities like Drupal evolved, and why it’s so
important.
We can keep this in mind when using Drupal, that thanks to the
work of thousands of contributing developers and thousands of
users like you who test and report back, we have a really useful
tool... all for free.

“Our community tends to double in size with each
release” - Webchick, Angie Byron at DrupalCamp
Colorado, 2011

Over 200 local user groups.
Plug  DrupalCon  (and  any  local  events!)  Great  place  to  meet  collaborators,  to  
hire  or  be  hired,  to  learn,  to  socialise.  Great  place  for  new  drupalists!
Drupal is software which runs on a webserver.
It’s written in PHP, accessing data in a database like this one
pictured here.
In the core folder, you’ll find a series of text files, such as PHP
files, CSS and scripts.
Drupal does a few things out of the box...Menu
system; Content type creation; User management;
Taxonomy; Comments; search, content translation,
etc etc... and more - in addition you can create
unique functionality through coding...
This is the first time they are hearing “modules” we
will go into this more later.
Your website will be Core Drupal + Contrib Modules, Custom
modules, Configuration, Content types, Layout, Theme. You can make
this into a product or service.
To developers: This is a chance to leverage niche expertise. To
decision makers: This is a way to get started quickly/leverage the
services of a speciality group.
Drupal is growing and grows best locally.
There are more meet-
ups starting locally all the time.
Find a local Drupal meet-up.
Also a nice thing to do when you’re traveling. Stop by a local
meet-up in another region!
Now refer the group to the manual, and do the
exercises.
Your next Drupal site is coming soon. This
picture is also in your manual.
a.
Change your site title and slogan. b. Make a block
of quotes which rotate randomly in the sidebar. c.
Create a custom webform to invite interested
visitors to leave their information.
BE QUICK! Don’t talk much about things you can’t
see in the slides. Keep people focused on the main
topic. Keep presentation brief and ensure you get to
the activity.
Drupal “core” is a set of scripts which handles users,
content, the menu system, taxonomy, translation,
search.
In your “sites” folder you add your alterations. This can be done
with contributed libraries, modules and themes, or custom
modules and themes. Let Drupal do the easy stuff, and spend
your time doing the really tricky custom stuff.
Now we’ll do some exercises to see how this works.
If there is one cardinal rule in Drupal, it is: Don’t hack core!
See the red X there? - Don’t be “that guy”
Now we’re going to add some new functionality that
isn’t in Drupal core- a webform!
Refer the group to the manual, and do the exercises.
Your next Drupal site is coming soon. This
picture is also in your manual.
a.
Change your site title and slogan. b. Make a block
of quotes which rotate randomly in the sidebar. c.
Create a custom webform to invite interested
visitors to leave their information.
BE QUICK! Don’t talk much about things you can’t
see in the slides. Keep people focused on the main
topic. Keep presentation brief and ensure you get to
the activity.
Let’s admit that Drupal is different. And if you’re familiar with
other systems - it can pose some conceptual challenges.
Starting in Fireworks, Photoshop,
Inkscape... and then get approval on
the design. SHINY!
Then, move to HTML, exporting
images (slicing), and creating CSS to
make a perfect code-version of the
visual design. Perfecto!!
Then, use some template code to
render the content from the backend
to create “templates”. No problem.
What happens when someone wants
to change what is displaying?
Who do they call? You! Drupal wants
to empower those users to make
those changes themselves.
Drupal is quite different because of the levels of control in
display and layout.
This makes Drupal different from other systems, where - in the
template layer, you may be able to indicate “Display an archive”
and this will make a set of assumptions to display a list of
content by date.
So let’s review a simplified development process in Drupal.
Before you even start development, you’ll be matching
requirements to existing Drupal modules. You’ll be
downloading and trying them out, comparing them to find the
best choice.
The bulk of your time is spent on configuring content and how
it displays and where. This is all done through the UI (user
interface) of Drupal. We call this “site building”
Depending on what functionality you added, this process can
involve some back and forth between these stages.
Display can be changed in different situations, and
on different places. There are many extra modules
to help control display.
You control layout also through configuration. This
is done through the block system with “core” Drupal
- but there are several other systems to control this.
Panels and Context are two examples.
Lastly, you work on Appearance. This is done in the
theme layer.
Drupal is quite different because of the levels of control in
display and layout.
This makes Drupal different from other systems, where - in the
template layer, you may be able to indicate “Display an archive”
and this will make a set of assumptions to display a list of
content by date.
Congrats, since you got the word out that you’re developing
with Drupal, you have a new client!
Let’s look at this scenario.
Imagine you wanted to build a new site for a university. Design
planning tends to focus on the front end - what is visible and
visual.
Using this approach, teams might to start with the visual design
and templates first, and then design areas to place content.
This would be a
structure-first approach.
We do have this in Drupal and it’s called the Theme system.
Areas indicated in white are called “Regions”.
However, with Drupal you assemble pages from various
components. Drupal takes a
content-first approach.
The granular components on a site may be third party widgets
or blocks of content which appear depending on certain
conditions, such as “Who is viewing the page?”
First they need to be generated or created. Then you specify
You can’t get to this end point here, with out working on the
details first. Next, let’s look at this more closely.
Say for example you had a course listing. You could type
everything into an unstructured text field.
Meaning, a field with HTML only.
But this poses a few problems.
What if you wanted to list the content in different
ways in different places on your site?
a. on a course page of its own.
b. on a page listing of all courses
c. on a block listing recent courses
d. on a sortable form of courses
Imagine the next time a course is offered - The Teacher won a
prize or the Title of the pre-requisite course was changed, and
the start date was updated. What are the implications?
With Drupal, you can separate out these components. The
teacher could be a reference to a user, with a quick “biography”
field which the user can update. The course calendar can be
generated through querying all courses. The pre-requisite could
be a reference to another course, where the title is an
independent piece of data.
When his profile get updated- For example MR BAKER WINS AND
AWARD - the change is made all over the site. This can be great,
especially if you have many different courses.
Incidentally, Drupal doesn’t do this out of the box, but you can
use references to achieve this.
This way you can use taxonomy (category) terms to list courses
by Department.
You could make a sidebar block of content just listing the 8
most recently updated courses, showing the freshest content on
your site
Drupal is content-focused. First you need to describe the data.
In this way you also build the form for entering content.
Next, you need to enter in the content. You can
review these in the content listing.
Then you can create a listing of content with Views. In this
example, we select only the 8 most recently updated course
titles and sort them alphabetically - and output as an a HTML
list, to be placed in a block.
Finally you place the generated block of content into
a region.
You can’t get to this end point here, with out
working on the details first.
BE QUICK! Don’t talk much about things you can’t
see in the slides. Keep people focused on the main
topic. Keep presentation brief and ensure you get to
the activity.
Drupal’s  theme  system.  Control  visual  look  and  final  place  
to  alter  rendering  markup,  separate  from  the  data.  
Components  include  CSS  files  &  PHP  files  with  HTML.  
Themes are text files and any supporting libraries,
scripts, image or CSS files.
Template files are a mix of HTML and PHP.
(If anyone asks, this is Danland).
Modules extend the functionality of Drupal. You
could think of them as add-ons, or as plugins or
extensions; or as applications which run on Drupal.
Modules are mainly text and PHP files. And any
supporting libraries, scripts, image or CSS files.
(If anyone asks, this is Comment Allow Anonymous)
Browsing through the module categories gives you a
sense of the range available. Some are utility
modules, some work at a system level, some at a
user interface level.
Search for specific modules, and sort by
compatibility.
Go to an example project page, show what is
information is available on the project page.
We’ll look at 3 parts of a project page in more detail.
This information is at the bottom of the project
page. Drupal is not backward compatible. What they
can see from this listing? Elicit the major version
update from 6.x-1.3 v 6.x-2.x. Elicit comparison of
the -dev branch.
This is the Flag module.
Project information is a good indicator of health.
Compare these two projects. What are some differences?
Elicit: Status, reported installs. One is a module one is an install
profile. (First is Context, second is Meetu.)
Just because only two others use it, doesn’t mean it’s not a
perfect solution for you.
Modules are contributed and maintained by people who do this
work on a voluntary basis. Of people who use Drupal - 0.05% of
people are actually contributing to the project.
Now we’ll learn a little bit more about the stories behind the
projects.
Open source is more than contributing lines of code,
it’s also building relationships and negotiating with
others. The more you do in the community, the
louder the voice you get.
Sometimes we use the phrase “scratch your own
itch” and this is often how contributed modules
Admin role assigns “super user” permissions automatically.
Jacob had a mainly PHP/Pear background, and was used to rolling his own
frameworks. Jacob needed this for a specific client. He contributed this to
Drupal.org... Later, he was too busy to maintain it.
Bevin Rudge (then his co-worker at CivicActions) started working on the
issue queue, providing support. So he joined as a co-maintainer.
Then, Dave Reid volunteered to maintain it, this way he could get in the
Stella was a C/Perl/PHP software developer by day, making real-
time financial transaction server software. She used Drupal on a
personal sites she maintained for fun. She started with the
avatar select module, and then took over the Lightbox 2 module
to use on her photography site. She has co-organized local
meet-ups and regional camps. There are many Drupal success
stories like these. She is part of the security team.
So when you are in the issue queues for a particular module,
think of people like Stella and Jacob. Both busy with their work,
new companies or new babies, organizing local events and
more.
There are many ways you can contribute besides code... forum
help, issue queue triage, marketing, organizing events,
donation, getting sponsorship.
Divide into small groups (if it’s a large audience) or
into pairs for smaller groups. Use a timer, and make
the START very clear, and the FINISH very clear.
Use prizes like stickers or t-shirts from
DrupalCamps, vouchers for books/videos/discounts
for Drupal-related things. Or even candy :)
Please leave us your feedback. (link to form) People
fill out during Q & A.
DO THIS BEFORE THE FINAL Q+A OR THEY WILL
LIKELY NEVER FILL IT OUT :(
You can finish here. There are two remaining slides
if time permits.
If there is time remaining. Use this to prompt
discussion. How did we do that?
If time remains!!