Drupal

Image Field Tokens D8

New Drupal Modules - 13 September 2018 - 5:31am
Overview

The ImageField Tokens D8 module extends the default functionality of Image Widget and Formatter and adding the ability to specify default values and use content entity tokens in the Alt and Title text.

Features

Configurable Alt and Title text now use content entity tokens instead of default tokens.

Requirements

Environment requirements:

  • Drupal 8.5.x and higher
  • PHP 7.1
Dependencies

Required modules:

Categories: Drupal

Autotranslated Output for Bool fields

New Drupal Modules - 13 September 2018 - 4:49am

Autotranslated Output for Bool fields addresses a common annoyance for multilingual sites. You need to set labels for values 0 and 1 for every Bool field you have, and then translate those labels. The translations are tied to the field, so if you have five fields with Yes/No alternatives, you have to write Yes and No five times, then translate those Five times, because the text is the same, but the field and its context is not.

That's OK for a couple fields, but what if you have, let's say, a hundred?

Categories: Drupal

Amazee Labs: Drupal Europe: Day Three Highlights

Planet Drupal - 13 September 2018 - 4:22am
Drupal Europe: Day Three Highlights

Mustapha tells us about the third day's highlights in Darmstadt, Germany, and some exciting announcements!

Mustapha Ben Ellafi Thu, 09/13/2018 - 13:22

Drupal Europe 2018 - Wednesday 

The third day of Drupal Europe was a big day, we had the prenote and the Driesnote with some exciting announcements, the group photo, and a lot of interesting sessions.

The Prenote:

Our big day started at 8:15 with the prenote, which is very important because it shows you how awesome this community is. We were singing together and laughing very loudly about some "geek" jokes which would seem strange to others but not to us because we are living those jokes each day. The prenote is important because it makes you feel that you're not lonely, but you have all this family from around the world.

Driesnote:

At every Drupal conference, Dries Buytaert, the leader of the Drupal project, shares updates on the current state of Drupal and makes some announcements on the way forward.

He firstly spoke about the Drupal 8.6 release which has some great content management improvements, which can be discovered here. Then the announcement party started and here are some of the highlights: 

- The adoption of React and JSON API to build a new decoupled administration UI.

- Drupal 9 will be released in 2020.

- Drupal 7 will have an end of life by 2021.

- Drupal 8 will too have an end of life by 2021, but it will be an easy upgrade to Drupal 9.

- Drupal.org <3 Gitlab: drupal.org code will be moved to Gitlab.

- There will be a Drupalcon next year organized by the Drupal Association and it will be held in Amsterdam.

After those exciting announcements, everybody went outside the Darmstadtium for the Group Photo which was taken by our own, Josef Dabernig.

Talking about Josef, he had a great a session entitled "Upgrading vs. Upcycling - How to stay ahead of the curve". It covered the life cycle of a Drupal project, how to audit your Drupal website, and which improvements you can propose to clients.

Last but not least, after such an exciting day, we went to do our Amazeeng "Team Dinner" and finished off our big day with lots of fun.

Thursday's Program: 

Thursday's speakers:

Categories: Drupal

ckeditor_fixed_toolbar

New Drupal Modules - 13 September 2018 - 3:56am

Adds a fixed toolbar for CKEditor

Categories: Drupal

ckeditor_fixed

New Drupal Modules - 13 September 2018 - 3:52am

Adds a fixed toolbar for CKEditor

Categories: Drupal

Finalist Drupal Blog: Launching a succesful educational Portal

Planet Drupal - 13 September 2018 - 2:24am
Introduction

Today, we will take you on a journey through some important insights we achieved as builders of educational portals.

Portals in which Drupal plays a part and how we managed to create added value to educational portals we built over the years.

Of course we like to give some examples in how we succeeded, but it is just as interesting to look at some flaws that actually helped us to do it better the next time.

Educational portal?

But first, just what is an educational portal?

With the word educational we actually say two things:

Educational in a sense that it involves around education.

Educational in a sense that the portal brings more knowledge or insight to the user.

Another word for a portal might be entrance. That said, an educational portal has a broad understanding. In this talk, we would like to focus at applications that have a clear internal focus for our university as a whole, our students, our teachers and staff. You can think of electronic learning platforms, digital learning (and working) environments and intranet systems for universities.

Recent years: digital workspace

As part of the digital transformation every university is going through, the term “digital workspace” is floating around in this context. A digital workspace brings together all the aforementioned subsystems into one intuitive, platform.

We’ll touch on that subject later on.

Role of Drupal

Secondly, how do educational portals / digital workspaces relate to Drupal?

Universities around the world have been using Drupal for some years now, even going back to version 4.x. Drupal is particularly popular because of:

  • High modularity

  • Flexible API for integrations

  • Identity and access management

  • Authentication with external providers, OAuth, SSO in place via contribs

  • Open source nature / General Public License

  • Very flexible but yet fine-grained management of roles & permissions

And that is exactly where we would like to start today.

Target Audiences

We could say that the typical challenge of education is the broad collection of target audiences.

When developing an educational portal it’s important to know your target audience, not only are you gonna deal with Teachers and Students and cater to their needs, but you’d also have to keep in mind that Parents may be visiting the site, as are Alumni, Heads of Faculties, potential sponsors, researchers, general staf, journalists and the general public.

And we are probably still not complete in our list.

One way to tackle this is making use of Persona’s, a method of visualising your potential users.

With this method you create fictional characters that represent one of the user roles. (Afbeelding user roles)

With the persona’s defined you can make an educated guess of the type of user journey the users of the portal are gonna follow.

The next step is wire framing. An efficient way to achieve a shared view on “what we need” is to invite the target audiences to literally DRAW what they have in mind and bring all these views together in user experience sessions.

After this, we can use these views in wire frames. This is quite essential in managing expectations. And there is a hidden advantage in this way of working: it can be a superb way of bringing together groups that are not necessarily ‘best friends’ or at least have opposite goals.

Prototyping the application and perform usertests with a select group of users which represent the roles defined earlier.

[dit nog aanvullen en bruggetje naar technische tip hieronder]

From a Drupal perspective we would like to share another important insight we achieved during development of portals. As we concluded that Drupal has a flexible basis for role and access management, we need to make sure it is still manageable. The actual handing out of permissions can of course be carried out in Drupal itself, but large organisations should prevent this multilayered approach. In easier words: we want to make sure all permissions are stored in one central location, like for instance Active Directory. In the end this will prevent flaws like abusing the system while no one notices it.

Politics in Education

Working with large educational institutes brings some special challenges in the form of different fractions in the organisation. There are not only the IT and business side of the organisation, but also lots of different faculties who all think they are the most important faculty of the university.

Getting all these different teams on the same page can be a daunting task and sometimes lead to extensive rework on your project.

Essential in preventing these issues is understanding what the goal of the various stakeholders is and realising that, sometimes, it just isn’t possible to please everybody and still have a great product, so you have to make compromises now and then.

There are however some factors which can either make your life a little better, the most important being a good product owner and a competent analyst to really get a feel of what is essential in your project.

Another crucial part of the process is to make proper wireframes, mockups and have a clear content strategy so all parties involved can get a good feel of the expected functionalities. Make sure everybody is on the same page as early in the process as possible!

Also having proper Persona’s and have people involved take a good survey can be a great help in preventing bickering and arguing.

Integrations

Organisations in Higher Education probably already have a multitude of systems and programs that need to be incorporated in some way in the portal. Examples of types of application you’d have to interface with are: HR applications, Scheduling programs, Learning Management systems, Publications repositories, mailing lists, external websites, Document Repositories, Course management software, and so on, the list seems endless.

Of course you could write an importer for the xml which comes from the HR application, a feed processor for the external websites’ RSS feed and a file fetcher and processor for the archaïc publication repository.

The universities we saw do not have 3 systems.

Abetter way to handle all these streams of data would be to create a standalone piece of software to act as a middleman, a so called Enterprise Service Bus or ESB.

Garbage in, Garbage out!

The ESB is built to adapt multiple intgrations and normalize the data, which is distributed in a uniform way to our portal and any other clients. With an enterprise service bus Drupal only has to take care of a standardized and centralized integration. This heavily reduces complexity in our portal.

Some of the advantages of using an ESB are:

  • decoupling the requesting party and the distributing party

  • Simplifying and standardising the interfaces between the two parties

  • Stimulating the re-use of data (as they are centrally available it promotes the re-use)

  • Centralised location of monitoring of services

  • Reducing time-to-market

  • Sanetising and validating

While the ideal of an ESB is great, reality is unfortunately different and in some cases you will have to manage external connections to the portal within Drupal.

This simply means that there will probably exist some point-to-point integrations in your portal.

To handle this not so ideal situation, we should implement some control management inside Drupal.

To be more specific: standardize this within your Drupal application.

We need a referee

A Gatekeeper, or, as you wish, some kind of referee

This will require two essential things for each integration:

Some sort of gatekeeper functionality which will prevent to import garbage.
Proper logging system which will help keeping track of unwanted side effects of integrations with third party software.

Testing

Yes, it is a clock and it is a quarter to nine. True.

It actually represents the starting time of the students who were going to use the new portal first day at school after holiday break. We proudly launched the portal the week before. As teachers were already using it, we had a positive shared view on the use and especially the performance of the system. But, as the students day schedule now was part of the portal, and somehow we could have foreseen that, well, EVERYONE would check their day schedule at the latest moment possible, we ran into some big time performance problems.

This is a typical example of peak traffic. We hadn’t taken peak times into account.

As a development team we found out that we failed to address the cost of quality on this matter. It would have been better to have some proper stress testing in place.

So, we quickly fixed it by shoveling some extra power to our servers and immediately sitting down with IT people of our client.

Although it is quite tempting. Running away will eventually bring more problems. We sat down with IT people and created the solution we wanted.

Different types of tests
  • Unit / Kernel / Browser & Javascript tests
    Tests which check if your code is working as supposed

  • Behavior tests (e.g. Behat)
    With behavioral test you run scenario’s / user stories

  • Visual Regression tests (e.g. BackstopJS)
    Visual regression tests check visually if anything changed on the page

  • Performance tests (e.g. JMeter)
    Test the performance of the application

Performance testing = Being prepared

Steps

Some general steps to running tests on your application.

  • Analyse existing data

    • Google Analytics / Logs

    • What are the top pages

    • What pages give errors

  • Prepare testscenario

    • Use the results of the analysis
  • Configure tooling

    • Pick your tool (Jmeter?)
  • Run the test

  • Analyse results

    • Profiling & monitoring
APDEX

APDEX is a standard for measuring user satisfaction based on pageload time.

Basically it works like this, you set a baseline that’s acceptable and one that’s frustrating for your application (which for an LMS might be a different baseline then for a webshop). Then when you run your test, firing of a gazzilion requests to your application, you get a set of results mapped to your baselines following a pretty simple formula:

APDEX = (Satisfied + Tolerated / 2) / Total samples = 0,xx Unfortunately…

APDEX is not the holy grail

Nowadays there are a lot of onepage / javascript apps, you have bigpipe which skews results. Also the resulting APDEX score is an average, so shifting the numbers might give you the same score, while the frustrated results can be higher.

So you should always use monitoring, alerts and, if available analytics to be sure that during expected peak times the system is working as expected.

A nice thing to mention here is the current trend of containerisation of environments, making use of systems like Docker, Kubernetes and OpenShift. A hugely effective feature is autoscaling of the environment without facing downtime. For the first day, when facing problems of performance nature, it can take away the harshness of coping with organisational agitation and disgrace. Moreover, it gives you time to fix things the right way.

Technical Choices / architecture

So we were talking about the ESB. What would happen if we considered Drupal as actually being one of the distributing systems, a client to the ESB? We would simply consider Drupal as a content management system, out there to serve content to whatever external system we want.

This is typically the case when operating in an omnichannel communication strategy.

A user experience is partly determined by the online ‘obstacles’ that a user encounters. Removing frictions within the customer journeys of users makes the experience positive. We also believe that omnichannel communication is becoming increasingly important in the online world. In concrete terms, this means that the publication and distribution of content and information via a website is no longer sufficient. Channels such as (native and mobile) apps and other websites are becoming more and more part of the communication strategy. It is crucial that a CMS has the right interfaces and tools to make this possible. The CMS as a publishing machine, which provides direct communication to all channels and chain partners in combination with a front-end interface for the distribution of function, form and content, will form the basis.

The news here is: Drupal is not necessarily the portal itself.

In fact, we are aiming to serve a unified experience for our users across all channels.

A definition:

“The digital workspace is a new concept that enables tech-savvy employees to access the systems and tools they need from any device—smartphone, tablet, laptop, or desktop—regardless of location. ”

Forbes

And that, in our opinion, is a very unpretentious definition. One could image that, for instance, when you work together in a group for a school project, that all these subsystems “know” you and also “know” you are part of that group. When asking questions to tutors that apply to the group, you would expect the whole group.

Categories: Drupal

Digital Echidna: Thoughts on all things digital: Expressing Our Gratitude for All Who Have Helped Us Grow

Planet Drupal - 13 September 2018 - 2:09am
We’re number (two-hundred-and-forty) one!  Earlier today, Canadian Business and Maclean’s released its 30th annual Growth 500 list, and we’re proud to announce that we’ve made the list for the second, consecutive year. Digital Echidna ranks as no.…
Categories: Drupal

Social Network Poster

New Drupal Modules - 13 September 2018 - 12:08am

Social network poster module provides integration between social channels and your Drupal site.

Categories: Drupal

Dries Buytaert: Extended security coverage for Drupal 8 minor releases

Planet Drupal - 12 September 2018 - 11:50pm

Since the launch of Drupal 8.0, we have successfully launched a new minor release on schedule every six months. I'm very proud of the community for this achievement. Prior to Drupal 8, most significant new features were only added in major releases like Drupal 6 or Drupal 7. Thanks to our new release cadence we now consistently and predictably ship great new features twice a year in minor releases (e.g. Drupal 8.6 comes with many new features).

However, only the most recent minor release has been actively supported for both bug fixes and security coverage. With the release of each new minor version, we gave a one-month window to upgrade to the new minor. In order to give site owners time to upgrade, we would not disclose security issues with the previous minor release during that one-month window.

Illustration of the security policy since the launch of Drupal 8.0 for minor releases, demonstrating that previous minor releases receive one month of security coverage. Source: Drupal.org issue #2909665: Extend security support to cover the previous minor version of Drupal and Drupal Europe DriesNote.

Over the past three years, we have learned that users find it challenging to update to the latest minor in one month. Drupal's minor updates can include dependency updates, internal API changes, or features being transitioned from contributed modules to core. It takes time for site owners to prepare and test these types of changes, and a window of one month to upgrade isn't always enough.

At DrupalCon Nashville we declared that we wanted to extend security coverage for minor releases. Throughout 2018, Drupal 8 release managers quietly conducted a trial. You may have noticed that we had several security releases against previous minor releases this year. This trial helped us understand the impact to the release process and learn what additional work remained ahead. You can readabout the results of the trial at #2909665: Extend security support to cover the previous minor version of Drupal.

I'm pleased to share that the trial was a success! As a result, we have extended the security coverage of minor releases to six months. This means that instead of one month, site owners now have six months to upgrade between minor releases. It gives teams time to plan, prepare and test updates. Releases will have six months of normal bug fix support followed by six months of security coverage, for a total lifetime of one year. This is a huge win for Drupal site owners.

Illustration of the new security policy for minor releases, demonstrating that the security coverage for minor releases is extended to six months. Source: Drupal.org issue #2909665: Extend security support to cover the previous minor version of Drupal and the Drupal Europe DriesNote.

It's important to note that this new policy only applies to Drupal 8 core starting with Drupal 8.5, and only applies to security issues. Non-security bug fixes will still only be committed to the actively supported release.

While the new policy will provide extended security coverage for Drupal 8.5.x, site owners will need to update to an upcoming release of Drupal 8.5 to be correctly notified about their security coverage.

Next steps

We still have some user experience issues we'd like to address around how site owners are alerted of a security update. We have not yet handled all of the potential edge cases, and we want to be very clear about the potential actions to take when updating.

We also know module developers may need to declare that a release of their project only works against specific versions of Drupal core. Resolving outstanding issues around semantic versioning support for contrib and module version dependency definitions will help developers of contributed projects better support this policy. If you'd like to get involved in the remaining work, the policy and roadmap issue on Drupal.org is a great place to find related issues and see what work is remaining.

Special thanks to Jess and Jeff Beeman for co-authoring this post.

Categories: Drupal

Extended security coverage for Drupal 8 minor releases

Dries Buytaert - 12 September 2018 - 11:50pm

Since the launch of Drupal 8.0, we have successfully launched a new minor release on schedule every six months. I'm very proud of the community for this achievement. Prior to Drupal 8, most significant new features were only added in major releases like Drupal 6 or Drupal 7. Thanks to our new release cadence we now consistently and predictably ship great new features twice a year in minor releases (e.g. Drupal 8.6 comes with many new features).

However, only the most recent minor release has been actively supported for both bug fixes and security coverage. With the release of each new minor version, we gave a one-month window to upgrade to the new minor. In order to give site owners time to upgrade, we would not disclose security issues with the previous minor release during that one-month window.

Illustration of the security policy since the launch of Drupal 8.0 for minor releases, demonstrating that previous minor releases receive one month of security coverage. Source: Drupal.org issue #2909665: Extend security support to cover the previous minor version of Drupal and Drupal Europe DriesNote.

Over the past three years, we have learned that users find it challenging to update to the latest minor in one month. Drupal's minor updates can include dependency updates, internal API changes, or features being transitioned from contributed modules to core. It takes time for site owners to prepare and test these types of changes, and a window of one month to upgrade isn't always enough.

At DrupalCon Nashville we declared that we wanted to extend security coverage for minor releases. Throughout 2018, Drupal 8 release managers quietly conducted a trial. You may have noticed that we had several security releases against previous minor releases this year. This trial helped us understand the impact to the release process and learn what additional work remained ahead. You can read about the results of the trial at #2909665: Extend security support to cover the previous minor version of Drupal.

I'm pleased to share that the trial was a success! As a result, we have extended the security coverage of minor releases to six months. Instead of one month, site owners now have six months to upgrade between minor releases. It gives teams time to plan, prepare and test updates. Releases will have six months of normal bug fix support followed by six months of security coverage, for a total lifetime of one year. This is a huge win for Drupal site owners.

Illustration of the new security policy for minor releases, demonstrating that the security coverage for minor releases is extended to six months. Source: Drupal.org issue #2909665: Extend security support to cover the previous minor version of Drupal and the Drupal Europe DriesNote.

It's important to note that this new policy only applies to Drupal 8 core starting with Drupal 8.5, and only applies to security issues. Non-security bug fixes will still only be committed to the actively supported release.

While the new policy will provide extended security coverage for Drupal 8.5.x, site owners will need to update to an upcoming release of Drupal 8.5 to be correctly notified about their security coverage.

Next steps

We still have some user experience issues we'd like to address around how site owners are alerted of a security update. We have not yet handled all of the potential edge cases, and we want to be very clear about the potential actions to take when updating.

We also know module developers may need to declare that a release of their project only works against specific versions of Drupal core. Resolving outstanding issues around semantic versioning support for contrib and module version dependency definitions will help developers of contributed projects better support this policy. If you'd like to get involved in the remaining work, the policy and roadmap issue on Drupal.org is a great place to find related issues and see what work is remaining.

Special thanks to Jess and Jeff Beeman for co-authoring this post.

Categories: Drupal

Jupyter Notebook

New Drupal Modules - 12 September 2018 - 10:12pm

Integration module with Jupyter Notebook.

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.

Source: http://jupyter.org/

Categories: Drupal

Drupal Association blog: DrupalCon Seattle: Four Conferences in One

Planet Drupal - 12 September 2018 - 4:30pm

For past attendees of DrupalCon North America, the 2019 event is already looking slightly different due to content for new audiences, program add-ons, and new classification of the previously used terms “tracks” and “tags.” We are working to make these changes clear on the website, but in the meantime I’d like to help clarify what’s new, what your ticket gets you, and what’s the same ol’ DrupalCon.

Tracks

A track now refers to the audience in one of the four areas of focus we’re offering, much like four mini-conferences under one big DrupalCon umbrella. The new areas of content are for non-builders—primarily end-users—who are emerging audiences but important members of our community.

We’ve divided audience registration into tracks that reflect this change. If you’ve always come to DrupalCon, you probably belong in the Builder Track, which is specific to your ticket. Those registering for Content & Digital Marketing are marketing teams who will explore things like customer journeys and how Drupal fits in to that; those selecting Agency Leadership will look at the business of Drupal as used by agencies for their business growth. The Executive Summit is tailored for C-level executives who are evaluating or embracing Drupal.

Tags

Within each track, there are sessions—those sessions are categorized by “tags”—similar to what we used to call tracks, except tags are much more flexible.

2018

2019

What it is

Track

Tag

Builder sessions used to be segmented out by "track" and there were a lot of them. But it was very isolating for content. What if a session was both "UX" and "design" —both "performance" and "big ideas"? It was limiting to have to choose just one.

Now we have tags, and each session can have up to 3; attendees can see how how content cross-references between topics.

Now, you can choose from more content options than ever before at a DrupalCon; this is where tags come in, and you can choose sessions with content topics ranging from UX to design to content strategy to business; 37 tags in all.

With more than 125 sessions in the Builder track you’re likely to find compelling content relevant to your Drupal experience—without being pigeonholed.  Whether that means exploring javascript, processes, or decoupled Drupal (or all three in one session) we are confident that there will be many tag combinations that will speak to you.

This is a generalization of having four tracks in one DrupalCon looks like in practice:


To view larger, scroll to the bottom of the post and click on the png file.

Who goes where?

The largest program in terms of sheer size of the event space, attendees, and offerings is the Builder track, which will be full of attendees who have likely been to a DrupalCon before. You’re also given the option of many summits and tailored trainings on Monday and Tuesday of the conference, for additional fees. Wednesday and Thursday of DrupalCon will be full of sessions, BoFs, and keynotes, lasting until early evening.  Instead of closing early on Thursday as in the past, we will be extending both session and exhibit hours so that your days will be chock-full of content options in order for you to experience the different topics of your choosing.

Recap

In short, the track you’re in means “conference within a conference” co-located as DrupalCon, with opportunities to interact with those in other tracks.

DrupalCon continues to serve as the venue where cross-track interactions, networking, and relationship-building can happen, particularly at co-mingled events. All attendees’ tickets include: keynote speakers, the opening reception, social events, exhibit hall access, complimentary coffee all day (in fact, all day long is a new bonus!), lunches, and DrupalCon swag.  

Join us

We’d love to have you at DrupalCon, and right now, there are a few ways to make that happen:

  • If there’s a particular topic you’d like to present, our Call for Papers is open.  We are accepting sessions for all 3 of the tracks and suggest submitting early.
  • We’re also accepting applications for our grants and scholarships program. For this DrupalCon, we’ll be allocating more funds than ever before and encourage you to apply.
  • Early bird registration continues through October 31 for DrupalCon Seattle, so get your ticket now, at the lowest price.
File attachments:  DrupalCon Track Tickets (1).png DrupalCon FloorPlanFinal.png Included in Tracks Table.png
Categories: Drupal

Tide Event

New Drupal Modules - 12 September 2018 - 3:22pm
Tide Event

Event content type and functions to handle Events for Tide distribution

Tide

Tide is a Drupal 8 distribution focused on delivering an API first, headless Drupal content administration site.

INTRODUCTION

The Tide Event module provides the Evebt content type and related configurations.

Categories: Drupal

Bisnode

New Drupal Modules - 12 September 2018 - 2:37pm

TODO

Categories: Drupal

Smart Title

New Drupal Modules - 12 September 2018 - 1:32pm
Categories: Drupal

Block Extra

New Drupal Modules - 12 September 2018 - 12:44pm

Provides extra functionality not found in core related to content blocks and plugin blocks.

Current features:
- Provides an edit button and a preview button on `/admin/structure/block/manage/BLOCK_ID`:

Categories: Drupal

UC CMI

New Drupal Modules - 12 September 2018 - 10:16am

The CMI Module offers innovative electronic payment solutions for your transactions by TPE, credit card, e-commerce platform and mobile payment.

Categories: Drupal

Mediacurrent: Drupal vs WordPress - A Lego Analogy

Planet Drupal - 12 September 2018 - 9:59am

Choosing a platform on which to build your website can be a daunting task. There is an ever-growing list of content management systems (CMS) from advanced platforms like Drupal and WordPress to all-inclusive DIY website builders like Wix and Squarespace. The right choice depends on factors such as desired functionality, flexibility, available budget, and your ability to manage the site after launch.

Where you fall on the spectrum between mom-and-pop shops and enterprise businesses will also heavily influence your decision.

  Mom-and-Pop <—————————> Enterprise

Questions to consider before choosing your CMS
  • How often do you want to post or update content?
  • How many content editors will be adding to the site?  
  • Do your editors need varying degrees of access and permissions?
  • Will your site have a heavy reliance on search, interactivity, or 3rd-party integrations?
  • Do you have specific design needs that require multiple custom layouts?
  • Will you be able to support the site without developer support?
  • What is your project budget?  
  • What is your post-launch support budget?
Scalability vs Simplicity 

WordPress and Drupal have many things in common. Both are open source and freely available, are supported by their developer communities who contribute code to the projects including regular security updates, and offer extensive add-on functionality to the CMS core through plugins and modules.

Site builders or content managers who have used both systems often have a bias for WordPress over Drupal, considering WordPress the more user-friendly of the two. Before one can accurately make such an assessment, I believe the comparison must be apples to apples between comparably sized sites with similar functionality or complexity. If one compares how user-friendly WordPress is for creating and managing a personal blog or small business website that requires no customizations and has static content versus the complexities of using Drupal to build a site for the enterprise with dynamic relationships between various data points, that is not a reasonable comparison.  It is true that Drupal has a higher learning curve than WordPress largely due to the amount of available customization that is built into its core. WordPress is simple to use, especially for blogs or small sites, but not necessarily scalable or suited for larger more complex sites. If pushed to the enterprise end of the spectrum above, would WordPress still maintain its user-friendliness and be able to scale? Conversely, Drupal is best suited for enterprise level sites with custom requirements and would add unnecessary development overhead if chosen for a small site or blog.

If WordPress and Drupal were Lego types...

I’ve often thought of Wordpress and Drupal in terms of Lego whereas:

Source: Lego.com

WordPress is like Lego Duplo where you can build things easily with preformed shapes as long as those preformed shapes match your specific needs. These preformed shapes equate to plugins to add functionality and pre-designed theme templates that determine the styles and layout of your site. Duplo blocks are appropriate for ages 1-5 or, in other words, personal projects or small to medium businesses with simpler requirements. 

 

Source: Lego.com

Drupal is like Lego Technic where you can build whatever you can imagine with little to nothing preformed. Like Technic pieces, Drupal has highly configurable plugins that provide granular control over the functionality of your site and do not impose pre-selected designs to your theme. They are appropriate for ages 7-16 or, in other words, medium to large businesses or organizations with complex requirements. 

With that analogy in mind, let's explore some of the advantages of each platform.

Advantages of WordPress

Confession: I love WordPress. It’s true! As a non-developer with several personal projects outside of work, whether it was for my consultant friend who needed a five-page site with a contact form, a guitarist wanting to promote his music, or managing several blogs, WordPress meets those needs perfectly. Below are the features that stand out in my experience from which people draw the conclusion that WordPress is so user-friendly. 

Dashboard

Upon logging into WordPress you are presented a user-friendly and intuitive admin interface from which you can figure out almost instinctively how to manage your website. You can quickly navigate to various types of content or site functionality from the left rail admin toolbar. The admin toolbar has appropriately named menu items. Hovering over each one triggers a slide out sub navigation making it easy to find the action or setting for which you are looking.

Media Library

Adding images to your content or as a featured image above a post or page is quite simple. With a click of a button, you can add images, audio or video files, documents, and PDFs. Images are automatically given responsive image styles so that they adapt appropriately to the width of one’s browser window or mobile device.

Though not specifically part of the media library, inserting YouTube or Vimeo videos into a post is as simple as pasting the URL. WordPress will render the video as embedded on the page (also works with Twitter and Instagram posts).

Adding Content

As noted above, the Dashboard provides quick access in a few different ways to add new content. The Add New Post (or another type of content) edit page has a visual WYSIWYG editor for formatting your content with links to add media, categories, tags, and visibility of your new post. You can easily view revisions after content has been published and revised with functionality that is provided out of the box.

Plugins and Themes

I’m grouping these two together because here is where we begin to add to WordPress core and its out of the box functionality. I’ve used 3rd-party plugins to add custom forms, simple e-commerce capabilities, invoicing and client management features, automated backups, and SEO enhancements to WordPress sites. The WordPress Plugin Directory boasts 56,182 available plugins to add functionality that is not included or as customizable within WordPress core. Many plugins are completely free or offer freemium versions with more advanced premium features available for a one-time charge or subscription fee.

Likewise, the WordPress Theme Directory offers many free or commercial templates searchable by layout options, features, or subject (topic matter of your site). Themes typically have some customization built-in to control layout options, widgets, background images, and the like.

 

Updates

 

WordPress Core, installed plugins and themes can be updated with the click of a button through the Dashboard. 

*Plugins are a double-edged sword in that they add flexibility from a non-developer standpoint while simultaneously introducing more risk from a security standpoint. The more 3rd-party plugins you use, the more dependence you will have on those 3rd-parties keeping their code secure by providing timely updates. Security issues with WordPress are introduced most often through vulnerabilities exploited in plugins.

Lower development costs 

This isn’t a feature of WordPress, but it’s worth mentioning that if the “out of the box” solutions meet your needs and you are able to build a site without the assistance of a developer, it will cost you less. If you fall on the mom-and-pop end of the spectrum, have a lower development budget, and are not picky about every detail of design or functionality, WordPress is likely a great option for you.

Advantages of DrupalCustom content types and views 

Whereas WordPress comes with two content types (posts and pages), Drupal also comes with two content types out of the box (article and basic page). However, it not only allows you to edit the fields for those content types but also create new content types and views without custom code that meet your specific requirements. If your site needs a blog, you can create a content type for blog posts and a view that displays them the way you want. If you need a staff directory, you can create a content type for staff that has fields for name, title, profile picture, bio, etc., and then create a view to display the staff in a list, a grid, or to whatever your specs require.

This is one way in which Drupal and WordPress differ. Drupal is an application framework that allows you to build what you need the way you need it. WordPress core starts as a blog that makes you add to core in order to manipulate its built-in behavior. For example, in order to disable blogging in WordPress, you have to install a 3rd-party plugin such as Disable Blogging in WordPress.

If you compare WordPress core and Drupal core, Drupal is far more robust than WordPress.

Access control and user permissions 

Out of the box Drupal core allows you to create and define your own user roles and associated permissions for each. If your site requirements call for multiple levels of user permissions with varying degrees of access, Drupal lets you create new roles and assign them with custom permissions. And, unlike WordPress, Drupal allows granting more than one role to your users. This gives you fine-grained control over what they are allowed to do. Building on the previous example of a staff directory, you could create a role for Staff and only give that role permissions to edit one’s bio page. All of these customizations for roles and permissions can be done in the admin without adding any custom code.

Taxonomy 

Whereas the tagging system in WordPress is flat, in Drupal you can have multiple types of categorization and determine how much information you want to track on each one. Drupal allows you to create more complex and custom data relationships across various types of content.

Internationalization 

Want the Drupal admin to display in the native language of your officemate overseas? No problem! Native language handling is now built into Drupal 8’s core APIs which improve the ease of globalization management. Building a multilingual site no longer requires installing multiple contributed modules. 

Security 

Drupal is known for having a volunteer security team and a standardized set of policies and procedures for dealing with security issues. Security advisories are routinely posted on https://www.drupal.org/security for Drupal core as well as contributed projects. For enterprise clients with specific security needs, the Drupal distribution Guardr is available with a combination of modules and settings to enhance the Drupal application’s security.   

Customization

As a web application framework, Drupal can be adapted to meet very specific requirements. For example, the Drupal entity system allows tracking specific data points and values that are needed when building applications. At times, Content Types aren’t the best choice for these data elements, and more custom entities allow for improved performance and fit the requirements best.

If this has you scratching your head, you’re not the only one. I’m purposely skirting around the complexity of the section because it is beyond the scope of what I’m trying to speak to here. The important difference here is that Drupal allows tracking points of data without cluttering up the editorial experience. Sometimes the data needs to be seen but not heard. Drupal lets you do that. And site editors may never even realize it’s happening.

Conclusion

As a site builder who has built dozens of sites in HTML, Joomla, and WordPress and worked for five years as a project manager at Mediacurrent (almost exclusively with Drupal), I realize that the Lego analogy may be helpful but at the same time not completely accurate. After all, WordPress boasts such enterprise level sites such as Techcrunch, Sony Music, and Time, Inc. But my experience reinforces the perception that WordPress is amazing at simple sites or blogs while Drupal is the go-to for more complex sites. 

I’ve found that clients will like a template design exactly the way it comes except for “insert numerous design changes” or the plugin functionality as-is “if you change this one behavior that isn’t built into the plugin.” And at that point, the gains of using out of the box functionality and design offered by WordPress (either via core WordPress or plugins and themes) are lost to customizations and a custom Drupal implementation is preferred. If you fall on the enterprise end of the spectrum and have deeply refined technical requirements, Drupal is likely a great option for you.

It comes down to the level of complexity for which you need to plan. If you are building a large site that is essentially brochureware (static pages), WordPress will work for you. If your site requirements call for a dynamic application with a heavy reliance on custom search results, interactivity, or 3rd-party integrations, or if you have specific design needs that require multiple custom layouts, your best bet is to use Drupal 8.

Categories: Drupal

Acquia Developer Center Blog: Jumpstart Your Drupal 8 Adventure with this Webinar on Acquia Lightning

Planet Drupal - 12 September 2018 - 8:53am

If you’re going to start a Drupal 8 project, and there are many reasons why this makes sense, you should start with Acquia Lightning.

Because this flexible Drupal 8 distribution streamlines the process of building and delivering feature-rich Drupal 8 sites. It takes the guesswork out of Drupal 8 module selection and configuration for key features like media, page building, and workflow.

Tags: acquia drupal planet
Categories: Drupal

Region renderer

New Drupal Modules - 12 September 2018 - 8:49am

Module outputs pure html code of given region without any additional unrelated
markup, css, js and mostly other cache tags and contexts. It's essential if you
want to analyze the region and how it influences the page rendering or caching
behavior.

Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal