The Open Source CMS that Revolutionized the World
Acquia HQ and the Mayor of Boston
You may have already heard of Drupal, but for those who don’t know, Drupal is an open source Content Management System. However, you might not know the history behind Drupal and the connection that it has with the SaaS company, Acquia. Well, in this blog post, I’m going to tell you the history behind the biggest open source Content Management System and the role it played in the founding of Acquia.
Dries Buytaert in his student days. Photo credit.
It all started in the year 2000 when Dries Buytaert and Hans Snijder, which at the time were students at the University of Antwerp, needed an internet connection, which was quite seldom found back in the days. This resulted in them both building a wireless bridge between their dorms. On top of that, they had a need for a place to also talk. This led Dries Buytaert to start a small news website with a chat board for him and his friends to be able to meet, publish and share the news.
The software that was built in the process remained unnamed until Dries had graduated. However, after his graduation, he put the website online, because he wanted to stay in touch with his friends. He originally wanted to name the domain to dorp.org. The word “dorp” translates to “village” in dutch. However, Dries had misspelled the word “dorp” to “drop” and he chose to leave it like that. After a while, the website began to attract new members that would discuss topics on new technologies and ideas.
In January of 2001, Dries had decided that he wanted to release the software at the core of the website, for other people to be able to use it. So, it started as an open source project. The name of the software was derived from the English pronunciation of the Dutch word “Druppel”, which means “drop”. On top of that, the software was in need of a logo. For this task, Kristjan Jansen and Steven Wittens had stylized a water droplet with eyes, curved nose and a smile.
Video showing one of the earliest Drupal Camps, New York City 2006. Unmute (bottom left) this video to get the full experience.
The first release version was Drupal 1.0, which was built using Slash, a modular CMS, and Scoop. It was released on the 15th of January 2001. At first, there were 18 core modules, which were basically a set of PHP files containing a set of routines. Everything was accessed through PHP files due to the lack of a menu. On top of that, at first, the code had to be put into one of the seven hooks of the modules. The system was built from the beginning to be modular. This lets people adapt their websites to their needs. The system is depending on SQL in order to manage and change layout, themes and content.
Just after two months on the 15th March 2001 Drupal 2.0 was released. This version added a translation feature that made it possible for users to translate their website into another language. On top of that, it also provided a framework that supported multilingual websites. It had 22 core modules and added user ratings and sections for stories.
On 15th September 2001, Drupal 3.0 was released. The primary difference between this version and its predecessors is that it used nodes instead of pages. Meaning that every form of content was managed by a node from the node module. On top of that, this version reached 26 core modules.
Video showing Drupal 4 with the (in)famous book module.
It was released on the 15th of June 2002. At this point, there were already 100 websites that were operating on Drupal. This made Drupal truly an international open source project. A notable addition to this version was the taxonomy module which replaces the attributes and meta tags. On later versions, there were added a lot of new modules including the e-commerce module and the support for a profile module or theme template that facilitated an early version of the What You See Is What You Get. Right now, Drupal was starting to look like a truly enterprise CMS.
The 6.0 version was released on 13th February 2008. One major step for Drupal was that the Whitehouse has adopted Drupal as their website managing CMS. One notable improvement was the rewriting of the menu system from scratch, which makes it a lot easier to use. On top of that, users were now able to drag-and-drop a number of features such a blocks and taxonomy vocabularies and terms. Moreover, the language system was modified so it could handle right-to-left languages. Security was also improved by providing an Update Status module that automatically checks for new updates.
Video showing Drupal 7 and its clear improvements in user experience
It was released on the 5th of January 2011. Drupal was used to build simple blogs and websites of large corporations, essentially becoming trustworthy worldwide. This version of Drupal also had a couple of improvements. First of all, nodes were no longer dependent on modules, as they could interact with any node at runtime, meaning that everything became an independent entity. On top of that, this version added a queue API and an improved jQuery usage. This made it possible for everything to be associated with web apps.
The current version of the CMS was officially released on 15th November 2015. The previous generations did manage to accomplish a big deal, however, this version is sure to bring even bigger changes. Drupal 8 was a complete rewrite of Drupal 7, this time based on a PHP framework called Symfony. Notable new features that were added are enhanced multilingual features, Views in core, a new level of web accessibility, improved theming with Twig, modern PHP, Symfony and OOP (Object Oriented Programming) adoption amongst others. Another notable feature is the new in-line editing. However, not as powerful and intuitive as our own in-line editing tool, Glazed Builder, which is based on Drupal. Here you can try our more elaborate inline editing experience for free!
Glazed Builder: Our Drupal UX add-on solution
While Drupal made strides in improving its core components’ user experience, Sooperthemes created a commercial add-on solution that takes Drupal to the next level. With our 10+ years experience in Drupal theming, we decided to concentrate our resources on developing a new Drupal experience for authors, marketers, and site builders. Here is a short demo of what our our Glazed Builder product can add to your Drupal website:
Video showing our Drupal UX solution Glazed Builder. This blog post was also created with Glazed Builder and without our tool we couldn’t have created this video-enhanced story-telling experience.
When Drupal was gaining momentum in 2007, Dries Buytaert saw that in order to be able to deliver the best support for large organizations, a dedicated company was needed. However, he was still hesitant, since, at that time, he was dedicated to finishing his Ph.D. This all changes when Jay Batson introduces himself to Dries at the Sunnyvale DrupalCon. Jay dreaming of opening a company that was focused on providing support and supplementary services for open source software such as Drupal and Apache Solr. After Jay persuaded Dries, they dropped Apache Solr from the equation and chose to focus on Drupal. On June 25th 2007, Jay registered the company under the name Acquia.
Although Acquia did not have an official product yet, they still received their Series A funding. This meant that Acquia was to be a significant player in the Drupal communnity, having managed to raise $7 million. For the most part of the remaining year, Acquia worked on their corporate values and products. Finally, In September 2008, Acquia has opened the doors for business. From that moment on, Dries and Jay’s vision to build the universal platform for the world’s greatest digital experiences had started to materialize.
Drupal and Acquia both have had humble beginnings. However, with the passage of time, they have become staples for the open source community. Right now, Drupal is the third most popular Content Management System by market share. Moreover, with the ongoing trend in the market for companies to adopt or incorporate open source, Drupal still has potential to grow. In our previous blog post, you can find out why open source is our future.
I would like to stay up to date on all available open source / ‘contrib’ Drupal modules. ‘There is a module for that’, this applies to many use cases within Drupal; a deadly sin to build something that already exists, or is partially available.
I recently had reason to switch over to using Docksal for a project, and on the whole I really like it as a good easy solution for getting a project specific Drupal dev environment up and running quickly. But like many dev tools the docs I found didn’t quite cover what I wanted because they made a bunch of assumptions.
Most assumed either I was starting a generic project or that I was starting a Pantheon specific project – that I already had Docksal experience. In my case I was looking for a quick emergency replacement environment for a long-running Pantheon project. So I wanted to install Docksal from scratch for a Pantheon project.
Fairly recently Docksal added support for a project init command that helps setup for Acquia, Pantheon, and Pantheon.sh, but pull init isn’t really well documented and requires a few preconditions.
Since I had to run a dozen Google searches, and ask several friends for help, to make it work I figured I’d write it up.
First follow the basic Docksal installation instructions for your host operating system. Once that completes, if you are using Linux as the host OS log out and log back in (it just added your user to a group and you need that access to start up docker).
Add Pantheon Machine Token
Next you need to have a Pantheon machine token so that terminus can run within the new container you’re about to create. If you don’t have one already follow Pantheon’s instructions to create one and save if someplace safe (like your password manager).
Once you have a machine token you need to tell Docksal about it. There are instructions for that (but they aren’t in the instructions for setting up docksal with pull init) basically you add the key to your docksal.env file:
Also if you are using Linux you should note that those instructions linked above say the file goes in
$HOME/docksal/docksal.env, but you really want
$HOME/.docksal/docksal.env (note the dot in front of docksal to hide the directory).
Setup SSH Key
With the machine token in place you are almost ready to run the setup command, just one more precondition. If you haven’t been using docker or docksal they don’t know about your SSH key yet, and pull init assumes it’s around. So you need to tell Docksal to load it but running fin ssh-key add.
If the whole setup is new, you may also need to create your key and add it to Pantheon. Once you have done that, if you are using a default SSH key name and location it should pick it up automatically (I have not tried this yet on Windows so mileage there may vary – if you know the answer please leave me a comment). It also is a good idea to make sure the key itself is working right but getting the git clone command from your Pantheon dashboard and trying a manual clone on the command line (delete once it’s done, this is just to prove you can).
Run Pull Init
Now finally you are ready to run fin pull init:
fin pull init --hostingplatform=pantheon --hostingsite=[site-machine-name] --hosting-env=[environment-name]
Docksal will now setup the site, maybe ask you a couple questions, and clone the repo. It will leave a couple things out you may need: database setup, and .htaccess.
Add .htaccess as needed
Pantheon uses nginx. Docksal’s formula uses Apache. If you don’t keep a .htaccess file in your project (and while there is not reason not to, some Pantheon setups don’t keep anything extra around) you need to put it back. If you don’t have a copy handy, copy and paste the content from the project repo: https://git.drupalcode.org/project/drupal/blob/8.8.x/.htaccess
Finally, you need to tell Drupal where to find the Docksal copy of the database. For that you need a settings.local.php file. Your project likely has a default version of this, which may contain things you may or may not want. Docksal creates a default database (named default) and provides a user named…“user”, which has a password of “user”. The host’s name is ‘db’. So into your settings.local.php file you need to include at the very least:
array( 'default' => array( 'database' => 'default', 'username' => 'user', 'password' => 'user', 'host' => 'db', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), );
With the database now fully linked up to Drupal, you can now ask Docksal to pull down a copy of the database and a copy of the site files:
fin pull db
fin pull files
In the future you can also pull down code changes:
fin pull code
Bonus point: do this on a server.
On occasion it’s useful to have all this setup on a remote server not just a local machine. There are a few more steps to go to do that safely.
First you may want to enable Basic HTTP Auth just to keep away from the prying eyes of Googlebot and friends. There are directions for that step (you’ll want the Apache instructions). Next you need to make sure that Docksal is actually listing to the host’s requests and that they are forwarded into the containers. Lots of blog posts say
DOCKSAL_VHOST_PROXY_IP=0.0.0.0 fin reset proxy. But it turns out that fin reset proxy is out of date, instead you want:
DOCKSAL_VHOST_PROXY_IP=0.0.0.0 fin system reset.
Next you need to add the vhost to the docksal.env file we were working with earlier:
fin up to get Docksal to pick up the changes (this section is based on these old instructions).
Now you need to add either a DNS entry someplace, or update your machine’s /etc/hosts file to look in the right place (the public IP address of the host machine).
Store Drupal logs on Amazon S3 via hook_watchdog, so that you can get rid of heavy logs on your drupal database and can later read from the S3.
Monday, 24 June 2019 – 14:49:01 IST
When seven out of the world’s top 10 universities choose Drupal as their preferred partner in the vital task of creating and maintaining their websites, it’s safe to assume that the platform has much to offer even the best universities.
A good website saves on costs and optimizes the user experience of its visitors. All told, it’s a vital asset that few organizations can be without.
In this article, we’ll be going through the top 10 universities that built their websites using Drupal, an open source platform known for producing remarkable digital experiences. Drupal’s scalability and capacity for large amounts of content make it the number one choice for top universities all over the world.
1. Oxford University
In a fast-paced environment where broad functionality is key, Oxford University’s website is a testament to Drupal’s ability to host multiple sites and tasks while letting each department have control of its own web presence.
From information on admissions and university research to current news & events, the Oxford University website is a one-stop platform where faculty, students, and alumni alike can stay in the loop when it comes to life both on and off-campus.
2. Harvard University
The words ‘Ivy League’ call to mind a certain sense of prestige and tradition. Harvard University’s website brings these features to life with a distinct look and feel that communicates the Harvard brand to visitors right from the homepage.
Drupal’s friendly user interface enables Harvard administrators to design pages, host media, and post content in a way that allows branding consistency across the entire site.
Best known for its programs in engineering and the hard sciences, the Massachusetts Institute of Technology maintains a competitive culture, encouraging its undergraduates to pursue their own original research.
Like all sites built on Drupal, The MIT website is strikingly well-equipped for site protection and data privacy. Institutions like MIT, which work hard to preserve the safety of their student and faculty records, trust the Drupal CMS for eliminating the risk of breaches. In fact, many corporations, non-government organizations, and state agencies choose Drupal for its strong safety and security capabilities.
4. Stanford University
Higher education websites tend to require different access privileges for a wide range of contributors, and Stanford University’s website demonstrates Drupal’s ability to provide ease of management and sharing content across various portals and sites. The Stanford website features a significant amount of content from its many offices and departments.
5. Duke University
Duke University takes pride in being a global institute of learning that houses perspectives from all over the world. The university ensures that this core belief translates into their online presence by building their website with Drupal, a CMS known for catering to a multilingual demographic.
Since Drupal operates in more than 110 languages, the platform provides an outstanding translation module that enables higher education institutions such as Duke University to cater to the global needs of their students and faculty.
UCLA is known for advancing knowledge and addressing social needs by fostering an environment full of diverse perspectives. The university extends the pursuit of these goals to their website, which houses rich content that’s accessible to all.
The UCLA website demonstrates how Drupal makes reusing and circulation content quick and easy. After the creation of a particular bit of content, website users are able to circulate it effortlessly through departments, intranets, and subsites.
7. University of Arizona
Drupal allows for powerful collaboration that supports both educational and research departments. As the University of Arizona prides itself on being a global and student-centered university, its website enables its faculty and students to access manuals, procedural forms, and research updates with no fuss or frills.
The University of Arizona’s website remains to be one of their key tools in the pursuit of their goal of community-wide collaboration to help solve critical challenges we face today.
8. Penn State
A major public university that serves Pennsylvania and the global community, Penn State aims to make its online presence widely accessible. Built with Drupal, the Penn State website allows for responsive mobile access. In an always-on, mobile-first environment, the Penn State website paves way for great and functional communication that translates across all kinds of mobile devices.
9. University of British Columbia
With the university’s purpose of pursuing excellence in research to foster global citizenship, the University of British Columbia continuously works for the advancement of a sustainable and just society across the globe.
One of their most crucial tools in this regard is a website that hosts rich content on their core institutional objectives and accomplishments. Drupal allows the UBC website to access a wide range of people across different communities by enabling seamless integration from their website to different social media platforms.
10. University of Toronto
In the same way that Drupal allows non-experts to easily create and manage amazing websites, the platform also enables the creation of websites with sophisticated and user-friendly journeys.
The University of Toronto’s website demonstrates Drupal’s ability to allow for a platform that’s deceptively easy to navigate and browse through. For institutes of higher education, this feature matters greatly as users ought to have an easy time accessing information on a university’s website.
Drupal continually demonstrates high levels of functionality, security, scalability, and flexibility in every way, and it’s no surprise, then, that Drupal is considered the foremost platform for developing higher education websites.
Finally, it’s worth mentioning that universities looking to use Drupal to jump-start their digital presence or revamp an existing website should consult with experts for a comprehensive assessment of where to begin. The platform is intuitive, but expert guidance can go a long way when making a digital transformation.
We’re announcing a series of articles about Drupal 8 best practices and the first article is dedicated to best theming practices.
Here our developer Artyom shares his experience in integrating dynamic imports, splitting code into small chunks in Drupal 8, and writes a webpack plugin that automatically connects these chunks with Drupal.