<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:foaf="https://xmlns.com/foaf/0.1/" xmlns:og="https://ogp.me/ns#" xmlns:rdfs="https://www.w3.org/2000/01/rdf-schema#" xmlns:schema="https://schema.org/" xmlns:sioc="https://rdfs.org/sioc/ns#" xmlns:sioct="https://rdfs.org/sioc/types#" xmlns:skos="https://www.w3.org/2004/02/skos/core#" xmlns:xsd="https://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://www.linuxjournal.com/tag/drupal">
  <channel>
    <title>Drupal</title>
    <link>https://www.linuxjournal.com/tag/drupal</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>FOSS Project Spotlight: Drupal</title>
  <link>https://www.linuxjournal.com/content/foss-project-spotlight-drupal</link>
  <description>  &lt;div data-history-node-id="1340498" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/druplicon.jpg" width="800" height="400" alt="druplicon" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/lizz-troudeau" lang="" about="https://www.linuxjournal.com/users/lizz-troudeau" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Lizz Troudeau&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
Drupal is a content management framework, and
it's used to make many of the websites and applications you use every day.
Drupal has great standard features, easy content authoring, reliable
performance and excellent security. What sets Drupal apart is its flexibility;
modularity is one of its core principles. Its tools help you build the
versatile, structured content that ambitious web experiences need. With
Drupal, you can build almost any integrated experience you can imagine.
&lt;/p&gt;

&lt;h3&gt;
Drupal Is for Ambitious Digital Experiences&lt;/h3&gt;

&lt;p&gt;
Dries Buytaert, founder of the project, &lt;a href="https://dri.es/drupal-is-for-ambitious-digital-experiences"&gt;provides
the vision for Drupal&lt;/a&gt;.
Managing content for ambitious projects that aim to transform digital
experiences for their organizations is what Drupal does best. Drupal goes
beyond browser-based websites and reaches all digital platforms to
provide a flexible, robust and innovative experience.
&lt;/p&gt;

&lt;h3&gt;
How to Get Started&lt;/h3&gt;

&lt;ul&gt;&lt;li&gt;
Get started by downloading &lt;a href="https://www.drupal.org/download"&gt;the
official Drupal core files&lt;/a&gt; and reading
the &lt;a href="https://www.drupal.org/docs/official_docs/en/_evaluator_guide.html"&gt;quick-start
installation guide&lt;/a&gt;.&lt;/li&gt;

&lt;li&gt;
Or you can &lt;a href="https://www.drupal.org/try-drupal"&gt;try Drupal with
hosted solutions&lt;/a&gt;.&lt;/li&gt;

&lt;li&gt;
Or spin up the &lt;a href="https://www.drupal.org/project/ideas/issues/2847582"&gt;Umami
demonstration profile&lt;/a&gt; in Drupal core with a
service such as &lt;a href="https://simplytest.me"&gt;simplytest.me&lt;/a&gt;.
&lt;/li&gt;

&lt;li&gt;
You can download many additional modules and themes from the
&lt;a href="https://www.drupal.org"&gt;Drupal.org&lt;/a&gt; website.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="https://www.linuxjournal.com/sites/default/files/styles/max_650x650/public/u%5Buid%5D/image1.jpg" width="650" height="650" alt="""" class="image-max_650x650" /&gt;&lt;p&gt;&lt;em&gt;
Figure 1. Umami Magazine Demo in Drupal Core&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
What's in Drupal Core&lt;/h3&gt;

&lt;p&gt;
The base Drupal download, known as Drupal Core, contains the PHP scripts
needed to run the basic content management  functionality, several optional
modules and themes, and many JavaScript, CSS and image assets.
&lt;/p&gt;

&lt;p&gt;
Drupal 8's core platform has more than 200 features built in. For an
up-to-date list of features, see &lt;a href="https://www.drupal.com/product/web-content-management"&gt;Drupal.com&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://www.drupal.org/blog/drupal-8-6-0"&gt;Drupal 8.6.0 was the
most significant update to Drupal 8&lt;/a&gt;. Expect Drupal 9
to release in June 2020, and if you're already using Drupal, it is expected
to be the easiest major version upgrade yet. For the most current
information on Drupal's latest version, visit &lt;a href="https://www.drupal.org"&gt;Drupal.org&lt;/a&gt;.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/foss-project-spotlight-drupal" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Fri, 19 Apr 2019 12:30:00 +0000</pubDate>
    <dc:creator>Lizz Troudeau</dc:creator>
    <guid isPermaLink="false">1340498 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Promote Drupal Initiative Announced at DrupalCon</title>
  <link>https://www.linuxjournal.com/content/promote-drupal-initiative-announced-drupalcon</link>
  <description>  &lt;div data-history-node-id="1339827" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/18156268_1421346527932104_9086015181080048543_o%20%281%29.png" width="800" height="310" alt="""" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/katherine-druckman" lang="" about="https://www.linuxjournal.com/users/katherine-druckman" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Katherine Druckman&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
Yesterday's Keynote from Drupal project founder, Dries Buytaert, kicked off the annual North American gathering of Drupalists from around the world, and also kicked off a new Drupal &lt;a href="https://www.drupal.org/promotedrupal"&gt;community initiative&lt;/a&gt; aimed at promoting the Drupal platform through a coordinated marketing effort using funds raised within the community.
&lt;/p&gt;

&lt;p&gt;
The Drupal Association hopes to raise $100,000 to enable a global group of staff and volunteers to complete the first two phases of a four-phase plan to create consistent and reusable marketing materials to allow agencies and other Drupal promoters to communicate Drupal's benefits to organizations and potential customers quickly and effectively.
&lt;/p&gt;

&lt;p&gt;
Convincing non-geeks and non-technical decision-makers of Drupal's strengths has always been a pain point, and we'll be watching with great interest as this initiative progresses.
&lt;/p&gt;

&lt;p&gt;
Also among the announcements were demonstrations of how easy it could soon be to manipulate content within the Drupal back end using a &lt;a href="https://twitter.com/DrupalConNA/status/983718146740772864"&gt;drag-and-drop interface&lt;/a&gt;, which would provide great flexibility for site builders and content editors.
&lt;/p&gt;

&lt;p&gt;
We also expect to see improvements to the Drupal site-builder experience in &lt;a href="https://twitter.com/DrupalConNA/status/983715789357355008"&gt;upcoming releases&lt;/a&gt;, as well as improvements to the built-in configuration management process, which eases the deployment process when developing in Drupal.
&lt;/p&gt;

&lt;p&gt;
 See the &lt;a href="https://youtu.be/8HkOdpNT8Ec"&gt;full keynote&lt;/a&gt; to get inspired by what's to come in the Drupalverse.&lt;/p&gt;

&lt;p&gt;And also see the &lt;a href="https://www.youtube.com/playlist?list=PLpeDXSh4nHjRRbzQW5D6PQVFPrTuh5y8m"&gt;DrupalCon Nashville Playlist&lt;/a&gt;!
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/promote-drupal-initiative-announced-drupalcon" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 11 Apr 2018 16:03:17 +0000</pubDate>
    <dc:creator>Katherine Druckman</dc:creator>
    <guid isPermaLink="false">1339827 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Drupal and Alexa: The Next Big Thing?</title>
  <link>https://www.linuxjournal.com/content/drupal-and-alexa-next-big-thing</link>
  <description>  &lt;div data-history-node-id="1339052" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/dcnola-wide_0.png" width="800" height="400" alt="DrupalCon New Orleans" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/katherine-druckman" lang="" about="https://www.linuxjournal.com/users/katherine-druckman" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Katherine Druckman&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
DrupalCon is underway in New Orleans, Louisiana, and it kicked off with the always energetic 
keynote from Drupal project founder, Dries Buytaert. While these regular 
keynotes, known as "DriesNotes" in the Drupal Community, tend to focus on the state of the Drupal project,
with updates on the development cycle and community interests, there is frequently also a particularly inspiring
look toward the future. This year, Dries wowed the audience with a quick demo of a Drupal
site communicating with an Amazon Echo to provide a personalized shopping experience via Echo's conversational interface. And perhaps most interesting was Buytaert's take on 
conversational interfaces as the next big shake-up for developers and content creators, much like mobile interfaces changed the way we approach web development in the recent past.
&lt;/p&gt;
&lt;p&gt;
The integration is achieved via the recently released &lt;a href="https://www.drupal.org/project/alexa"&gt;Alexa Module&lt;/a&gt; for 
Drupal, and should be exciting for developers anxious to experiment with the Amazon Echo as well as generally exploring the concept of a conversational interface and all its possibilities.&lt;/p&gt;

&lt;p&gt;You can watch the Dries Note below, and you'll find the Echo demo around 41:00.&lt;/p&gt;

&lt;iframe width="100%" src="https://www.youtube.com/embed/Ksp5JVFryEg?showinfo=0" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;
&lt;p&gt;
You may also want to check out the &lt;a href="https://geekguide.linuxjournal.com/content/ultimate-guide-drupal-8"&gt;Ultimate Guide to Drupal 8&lt;/a&gt; for more info on the latest version of Drupal. It's written by one of our favorite Drupalers, &lt;a href="https://www.linuxjournal.com/article/10999"&gt;Angie Byron&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/drupal-and-alexa-next-big-thing" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 11 May 2016 16:00:00 +0000</pubDate>
    <dc:creator>Katherine Druckman</dc:creator>
    <guid isPermaLink="false">1339052 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Drupageddon: SQL Injection, Database Abstraction and Hundreds of Thousands of Web Sites</title>
  <link>https://www.linuxjournal.com/content/drupageddon-sql-injection-database-abstraction-and-hundreds-thousands-web-sites</link>
  <description>  &lt;div data-history-node-id="1338682" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/druplicon.large__0.png" width="400" height="458" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/shea-nangle" lang="" about="https://www.linuxjournal.com/users/shea-nangle" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Shea Nangle&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
Drupal is a very widely used open-source content management system.
It initially was released in 2001, and recent statistics show Drupal
as the third-most popular content management system, with just less than
800,000 Web sites utilizing Drupal as a content management system.
&lt;/p&gt;

&lt;p&gt;
Drupal is written in PHP, and it is architected to use a database back end
to store Web site content and settings, whether a full-fledged database
management system (such as MySQL) or an embedded DBMS (such as SQLite).
In recent versions, Drupal has provided a database abstraction layer in
order to facilitate the use of any of a number of database management
systems to support a given Drupal installation. Database abstraction
layers provide a consistent programming interface that can be used to
communicate with a variety of database systems without development of code
specific to a given database management system. 
&lt;/p&gt;

&lt;p&gt;
Due to vulnerabilities
in the database abstraction layer introduced in version 7 of Drupal,
Drupal 7 prior to version 7.32 was vulnerable to an SQL injection
attack.
This article provides an introduction to SQL injection attacks, an
examination of the Drupageddon vulnerability specifically and an explanation
of a number of potential defenses against SQL injection attacks.
&lt;/p&gt;


&lt;h3&gt;
SQL Injection&lt;/h3&gt;

&lt;p&gt;
SQL injection is an attack methodology in which malicious SQL code is
included in user input, leading to the execution of said SQL code as part
of SQL statements used by an application. SQL injection attacks can
lead to privilege bypass and/or escalation, disclosure of confidential
information and corruption of database information, among other effects.
&lt;/p&gt;

&lt;p&gt;
Command injection attacks, such as SQL injection, routinely place at
or near the top of the OWASP (Open Web Application Security Project)
Top Ten List of Web application security risks. SQL injection attacks
are likely the most well-known type of command injection attacks, but
injection attacks can occur any time data is supplied to an interpreter
by an application. The recent Bash vulnerability known as Shellshock
is an example of a command injection attack that is not related to
SQL injection.
&lt;/p&gt;


&lt;h3&gt;
SQL Injection Example&lt;/h3&gt;

&lt;p&gt;
An example SQL injection attack starts with code utilizing an SQL
statement, such as:

&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
$db_statement = "SELECT COUNT(1) FROM `users` WHERE 
 ↪`username` = '$username' AND `password` ='$password'";
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;
In an SQL injection attack against code such as this, the attacker supplies
input, such as the following, to the application:

&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
$username = "badUser";
$password = "' OR '1'='1";
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;
Using this example, the SQL statement executed becomes the following:

&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/drupageddon-sql-injection-database-abstraction-and-hundreds-thousands-web-sites" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 15 Apr 2015 18:27:21 +0000</pubDate>
    <dc:creator>Shea Nangle</dc:creator>
    <guid isPermaLink="false">1338682 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Achieving Continuous Integration with Drupal</title>
  <link>https://www.linuxjournal.com/content/achieving-continuous-integration-drupal</link>
  <description>  &lt;div data-history-node-id="1145147" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/11358f2.jpg" width="568" height="381" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/barry-jaspan" lang="" about="https://www.linuxjournal.com/users/barry-jaspan" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Barry Jaspan&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
In the early 1990s, my first job out of college was as a software
engineer at a startup company. We were building a commercial product
using a well-known open-source network security project. In
those days, Agile software development practices (not to mention the World
Wide Web, or even widespread public awareness of the Internet) still
were in the future. My fellow engineers on that project (who had just graduated
with me and to this day are the best programmers I know) and I were taught
what we now call the Waterfall method. We thought we were invincible.
&lt;/p&gt;

&lt;p&gt;
We had no idea what was coming. After consultation with potential
customers, we wrote a Requirements document describing what the product
needed to do, a Functional Specification that described how the product
would look and behave, a Design document that described the technical
architecture and internals of how we would build it, and even a Test Plan
that described the automated tests we would build to ensure the product
worked. We had a release deadline, declared by management, of "before
Christmas". Good thing we were so young! We engaged in our Death March.
The local Chinese delivery place got to know us well. I got home around
1am every morning for months. We finally finished and shipped version 1.0 of
the product on December 18. It took me a few weeks to remember what normal
humans did when they were not at work.
&lt;/p&gt;

&lt;h3&gt;
What Did I Learn from This Experience?&lt;/h3&gt;

&lt;p&gt;
&lt;em&gt;What we did wrong:&lt;/em&gt; basically, everything about the software engineering
methodology we used was completely stupid. We shipped a working product on
time, but we started with the benefit of a working open-source project. We
made essentially every mistake that Agile development was invented to
prevent.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;What we did right:&lt;/em&gt; we actually implemented our Test Plan. Since the tests
were automated, the build process had to be automated. It certainly added a
lot of "extra work" to the project, but the payoff was huge. Before
we left for the day, we would kick off the build script. When we came in
the next morning, if the last line of output said PASSED, we felt confident
and ready to ship. We didn't know it at the time, but we were on the
path of what eventually would be called Continuous Integration (CI).
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/achieving-continuous-integration-drupal" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Fri, 13 Sep 2013 17:43:08 +0000</pubDate>
    <dc:creator>Barry Jaspan</dc:creator>
    <guid isPermaLink="false">1145147 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Drupal Is a Framework: Why Everyone Needs to Understand This</title>
  <link>https://www.linuxjournal.com/content/drupal-framework-why-everyone-needs-understand</link>
  <description>  &lt;div data-history-node-id="1084743" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/druplicon.large_.png" width="420" height="480" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/diana-montalion-dupuis" lang="" about="https://www.linuxjournal.com/users/diana-montalion-dupuis" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Diana Dupuis&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
Everyone planning and building Web solutions with Drupal benefits
from understanding what a "hook" is—and why Drupal is not a CMS.
&lt;/p&gt;
&lt;p&gt;
One of the greatest challenges that Drupal adopters face, whether they are
new site owners or beginning developers, is figuring out what is easy and
what is hard to do with Drupal. As a developer, solution architect,
technical strategist and even as the friend who knows stuff about
Web sites, 60% of my discussions revolve around three questions: how long
will it take, how much will it cost, and can my site do [&lt;em&gt;insert cool new
thing&lt;/em&gt;]?
&lt;/p&gt;

&lt;p&gt;
Sometimes, these are easy questions to answer. Many content-related tasks
can be accomplished simply by logging in to Drupal, visiting the /admin
page and clicking on menu links until you land on the necessary
administration page.
&lt;/p&gt;

&lt;p&gt;
More often though, there are complicated questions to answer. Some tasks can
be accomplished by adding contributed modules that easily "plug
in"
to Drupal core, as it comes "out of the box", and expand a
site's functionality. Contributed modules are created and shared by the
Drupal community and can be added to any Drupal site.
&lt;/p&gt;

&lt;p&gt;
Some tasks require writing custom code, and new modules must be built. 
Layers of potential functionality are involved in custom features. Some
features require communicating back and forth with other sites via an
application programming interface (API). Bigger Web sites often require the
creation of small applications that accomplish tasks in the background,
outside Drupal's usual workflow. In many cases, multiple solutions
exist, and choosing one involves giving something up to get something else.
As a developer or a stakeholder, finding the best solution that meets
business goals and stays in scope depends upon cooperative discussions.
&lt;/p&gt;

&lt;p&gt;
That is where communication often breaks down. Developers are speaking one
language while site owners, project and account managers, stakeholders and
others involved in the decision-making process speak another language. When
people first learn about Drupal, their initiation often focuses on what a
node is, what blocks, content types and views are, and how to create
SEO-friendly URLs. These concepts are important, but they frequently fail to
answer the essential "how hard is this to do" question or provide
a strong foundation for collaborative planning of more complex
functionality. Everyone involved needs to understand that they can
architect a Drupal site that offers a more-sophisticated set of features
than a WordPress site, because Drupal is not a content management system
(CMS); it is a content management framework.
&lt;/p&gt;

&lt;p&gt;
Conceptualizing Drupal as a framework does not require years of programming
experience; rather, it simply requires understanding what a
"hook"
is and finding out whether the one you need exists and already
is able to do the thing you want done.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/drupal-framework-why-everyone-needs-understand" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 15 May 2013 18:07:44 +0000</pubDate>
    <dc:creator>Diana Dupuis</dc:creator>
    <guid isPermaLink="false">1084743 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Speed Up Your Drupal Development Using Installations and Distributions</title>
  <link>https://www.linuxjournal.com/content/speed-your-drupal-development-using-installations-and-distributions</link>
  <description>  &lt;div data-history-node-id="1084393" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/druplicon.small__1.png" width="175" height="200" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/oliver-davies" lang="" about="https://www.linuxjournal.com/users/oliver-davies" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Oliver Davies&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
Do you find yourself repeating the same steps whenever you start a new
Drupal project? Do you always download and enable the same modules,
and make the same configuration changes every time? As we start
doing more and more Drupal projects at Nomensa, I noticed that we
were doing exactly this, so I started to look into ways to streamline
our initial project setup process. My solution was to create my own
custom installation profile that provides me with a template to start
each project, and this article outlines the steps I took to create
it. The code outlined in this article has been committed into GitHub
at &lt;a href="https://github.com/opdavies/linuxjournal_demo"&gt;https://github.com/opdavies/linuxjournal_demo&lt;/a&gt;, and it's available for
you to download and re-use as needed.
&lt;/p&gt;

&lt;h3&gt;
What Are Installation Profiles?&lt;/h3&gt;

&lt;p&gt;
Installation profiles are a combination of modules and themes and
predefined configuration. A great example of an installation
profile that I use regularly is called Commerce Kickstart
(&lt;a href="https://drupal.org/project/commerce_kickstart"&gt;https://drupal.org/project/commerce_kickstart&lt;/a&gt;). It provides a version of
Drupal 7 along with the Drupal Commerce suite of modules that have been
preconfigured to have the correct content types, rules, views and so on. Once
an installation profile has been uploaded onto drupal.org as a project,
it gets bundled with Drupal core, is available as a packaged download,
and is known as a distribution. 
See &lt;a href="https://drupal.org/project/distributions"&gt;https://drupal.org/project/distributions&lt;/a&gt; for a list of
existing distributions.
&lt;/p&gt;

&lt;img src="https://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1002061/11341f1.jpg" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;p&gt;
Figure 1. The Commerce Kickstart Project Page
&lt;/p&gt;
&lt;h3&gt;
How to Install an Existing Installation Profile&lt;/h3&gt;


&lt;p&gt;
There are two different ways to download an existing Drupal
installation profile. The first (and easiest) method is to download it
as a distribution from drupal.org. To do this, go to the project page
for the installation profile (for example,
&lt;a href="https://drupal.org/project/commerce_kickstart"&gt;https://drupal.org/project/commerce_kickstart&lt;/a&gt;), scroll to the bottom of
the page, and download a release in the same way that you would
download a module or theme. The resulting file will be named something
like commerce_kickstart-7.x-1.10-core.tar.gz, and this file will contain
both
Drupal core and the Commerce Kickstart installation profile. The other
option is to download a fresh copy of Drupal core, and then
download the installation profile seperately, either using a drush
command like &lt;code&gt;drush dl commerce_kickstart&lt;/code&gt;, or clone it directly from
its Git repository, and then place it within the Drupal's profiles
directory.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/speed-your-drupal-development-using-installations-and-distributions" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Tue, 19 Mar 2013 16:31:28 +0000</pubDate>
    <dc:creator>Oliver Davies</dc:creator>
    <guid isPermaLink="false">1084393 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Creating and Theming a Custom Content Type with Drupal 7</title>
  <link>https://www.linuxjournal.com/content/creating-and-theming-custom-content-type-drupal-7</link>
  <description>  &lt;div data-history-node-id="1084373" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/11343f10.jpg" width="483" height="480" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/danny-englander" lang="" about="https://www.linuxjournal.com/users/danny-englander" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Danny Englander&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
One of the great new things about Drupal 7 is that it's now easier
to customize your site content. In Drupal 6, you typically had to use
the CCK (Content Construction Kit) module for fine-grained control in
customizing content, but that has been folded into core for Drupal 7. Drupal
7 is now a true content management framework (CMF).
&lt;/p&gt;

&lt;h3&gt;
Drupal 7: It's All about Fields&lt;/h3&gt;

&lt;p&gt;
When you customize content in Drupal 7, it involves creating or
modifying what's often referred to as a &lt;em&gt;content
type&lt;/em&gt;. Drupal 7 comes with two defaults:
Page and Article. When building a site,
you often need additional content types. These might include events,
press releases, FAQ, staff, photo gallery and more. What makes these
unique? It's all about the &lt;em&gt;Fields&lt;/em&gt; that you add to your
content type.
&lt;/p&gt;

&lt;p&gt;
A Field is an attribute for the content type, and these
attributes are types of information associated with your content. If you
have an Event content type, you might need to add date,
location and link attributes. Each of those can be realized through
the use of Fields.
&lt;/p&gt;

&lt;h3&gt;
Theming and Nodes&lt;/h3&gt;

&lt;p&gt;
A Drupal 7 Node is simply an individual page with content that's
rendered using a specific content type that contains all of your
fields. Fields are extremely flexible, and there are many possibilities
for display and theming them, depending on what you want to
do. Theming, in regard to Drupal, is the presentational
layer of the code and content, and there are various ways to achieve
theming from some simple changes in the Drupal Admin UI to more complex
custom node templates—for example, node--custom.tpl.php. In
this tutorial, I use the Display Suite module for theming our node.
It's a visual interface that allows for custom layouts without really
needing to know too much code. There also are other ways to theme a node,
including custom node templates and the Panels module.
&lt;/p&gt;

&lt;p&gt;
Drupal 7 comes with basic default fields, such as Text, 
Long text, File, Image
and List. There also are many additional Field types
that can be added via contributed (contrib) modules.
&lt;/p&gt;

&lt;h3&gt;
Manage and Edit&lt;/h3&gt;

&lt;p&gt;
To gain insight into existing content types and Fields on your
site, navigate to /admin/structure/types, or use the admin toolbar:
Structure→Content types. Figure 1 shows
the administrator toolbar at the top of the Admin Drupal UI in the
browser. You'll use this a lot to navigate the admin area for various
tasks. This assumes you have admin access to a Drupal site or at least
have been given the proper permissions by an admin to see and use the
toolbar.
&lt;/p&gt;

&lt;img src="https://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1002061/11343f1.jpg" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;p&gt;
Figure 1. Drupal 7 Administrator Toolbar
&lt;/p&gt;

&lt;p&gt;
On the content type landing page, as shown in Figure 2,
you can see existing types, and you would add new ones here.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/creating-and-theming-custom-content-type-drupal-7" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Fri, 08 Mar 2013 18:00:47 +0000</pubDate>
    <dc:creator>Danny Englander</dc:creator>
    <guid isPermaLink="false">1084373 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>The Path to Commerce Kickstart 2.0</title>
  <link>https://www.linuxjournal.com/content/path-commerce-kickstart-20</link>
  <description>  &lt;div data-history-node-id="1082117" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/kickstart.jpg" width="220" height="117" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/ryan-szrama" lang="" about="https://www.linuxjournal.com/users/ryan-szrama" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Ryan Szrama&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;img src="https://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/small-200px-right-align-wrap/u1002061/kickstart.jpg" alt="" title="" class="imagecache-small-200px-right-align-wrap" /&gt;&lt;em&gt;&lt;p&gt;&lt;strong&gt;Editor's note:&lt;/strong&gt;
&lt;a href="https://drupal.org/project/commerce_kickstart"&gt;Drupal Commerce Kickstart 2.0&lt;/a&gt; was released yesterday after much testing and perfecting, and the article below describes part of that path in the words of its lead developer, Ryan Szrama.  Commerce Kickstart is a bundled Drupal solution that allows a site builder to get up and running with an ecommerce site fairly quickly, including Drupal core, Drupal Commerce and dependent modules, and pre-configured options.
&lt;/p&gt;
&lt;p&gt;
“Commerce Kickstart 2.0 takes all of the core strengths of our flexible eCommerce framework, Drupal Commerce, and makes it easier to use and quicker to deploy for e-retailers,” said Mike O'Connor, president for North America of Commerce Guys. “Leveraging an open-source technology with an engaged community like Drupal was a huge asset when shaping the beta product into what Commerce Kickstart is today.”
&lt;/p&gt;
&lt;p&gt;With more than 2650 reported active sites just since the August beta release, you'd be in good company giving Drupal Commerce Kickstart a try. And, now that the world isn't going to end, what better time is there to launch that online store you've always wanted?
&lt;/p&gt;
&lt;/em&gt;
&lt;p&gt;
One of the challenges we faced early on in Drupal Commerce’s development was a complicated installation process. Drupal Commerce was developed on Drupal 7 during its "unstable" tag cycle and depended on three other major contributed modules—Entity API, Rules, and Views—that were still in development.  Drupal Commerce was also the first major contributed project to put the new entity and fields systems in Drupal core to the test. Using these systems during an ad hoc installation to define data types often failed.
&lt;/p&gt;&lt;p&gt;
Our solution to the difficulties developers faced was to introduce an installation profile called Commerce Kickstart that simply installed Drupal 7, Drupal Commerce and all its dependencies during the normal Drupal installation process. Kickstart performed a minor amount of store configuration and demo content creation, but it was still largely a tool for developers. It made it simple to test a barebones installation of Drupal Commerce, which accelerated the project's adoption by seasoned Drupal developers and companies.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/path-commerce-kickstart-20" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Fri, 21 Dec 2012 17:06:47 +0000</pubDate>
    <dc:creator>Ryan Szrama</dc:creator>
    <guid isPermaLink="false">1082117 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Drupal Special Edition</title>
  <link>https://www.linuxjournal.com/content/drupal-special-edition</link>
  <description>  &lt;div data-history-node-id="1050512" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/drupalcover-wide.png" width="960" height="480" alt="Drupal edition" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/katherine-druckman" lang="" about="https://www.linuxjournal.com/users/katherine-druckman" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Katherine Druckman&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;As &lt;em&gt;Linux Journal&lt;/em&gt;'s resident Drupal nerd, I could not be more pleased to bring you this special Drupal issue. Drupal really is everywhere these days, and it's available in more "flavors" than most people in the Open Source community are aware of. So in the interest of spreading awareness about my favorite and ever-growing open-source project, we hope you'll find this special issue both informative and inspiring.&lt;/p&gt;
&lt;p&gt;I see a lot of parallels between Drupal and Linux, and not just because "distributions" are such a significant part of Drupal's current landscape. Like Linux and the Linux community, I see both the Drupal software and the Drupal community embracing the fact that no one solution is right for everyone's problem. By maintaining the flexibility of the platform, scratching one's own itch can have tremendous benefits for all. To illustrate this, we've put together an issue full of information about some products that have come to fruition as a direct result of Drupal's flexibility, as well as information on how you can take advantage of the same flexibility to put Drupal to work for your specific use case.&lt;/p&gt;
&lt;p&gt;Jeffrey McGuire starts off the issue with some opinions on selling the solutions Drupal can provide rather than selling Drupal itself. In the process, he describes some of the products that illustrate Drupal's potential. Diana Dupuis continues by showing how Drupal is much more than just a CMS, and she explains the hook system that makes the magic happen.&lt;/p&gt;
&lt;p&gt;Forest Mars walks through the evolution of Drupal distributions, highlighting the struggles and breakthroughs that have led us to the current set of development tools that make packaging specific configurations possible and portable. He then describes the process of making a distribution, so you can all dive in and get your hands dirty.&lt;/p&gt;
&lt;p&gt;One of the most popular Drupal distributions is the friendly and useful Open Atrium (&lt;a href="https://www.openatrium.com"&gt;https://www.openatrium.com&lt;/a&gt;), which is a project management software that, according to the Open Atrium Web site, provides "an intranet in a box with: a blog, a wiki, a calendar, a to-do list, a shoutbox and a dashboard to manage it all". Patrick Settle's tutorial shows off Open Atrium's best feature—the customization made possible by using open-source software.&lt;/p&gt;
&lt;p&gt;Readers who have struggled with their testing and deployment workflow will find some comfort in learning from the struggles of others. Barry Jaspan will help you follow continuous integration best practices with Drupal development, a potentially resource- and time-intensive task that can be made easier.&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/drupal-special-edition" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 03 Oct 2012 20:34:42 +0000</pubDate>
    <dc:creator>Katherine Druckman</dc:creator>
    <guid isPermaLink="false">1050512 at https://www.linuxjournal.com</guid>
    </item>

  </channel>
</rss>
