Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Nov 11 2021
Nov 11

A few weeks ago, DrupalCon Europe took place - for the second time as a purely digital conference. The whole undpaul team had "time off" from their daily tasks, so we had time to learn new things, to share our knowledge and to contribute to the community. From last year (link to blog post), we already knew the digital approach and plunged directly into the large number of talks and sessions.

Jun 02 2021
Jun 02

For a great number of use cases

There is a whole range of use cases for a Site Assistant. For what purpose and with what goal they are used depends very much on the context. To help you understand what Site Assistant can do for you, we show three different use cases here:

Variant 1 - Product information

The Site Assistant is displayed on the product detail pages of a technology company. There it contains for example:

  • A link to the online store where the products can be purchased.
  • The contact details to the sales department for bulk orders
  • The contact details for technical customer support for queries about products that have already been purchased
  • Information and forwarding to the current product innovation of the company

Variant 2 - Events

The Site Assistant is displayed on the trade fair pages of a venue. There it contains for example:

  • A link to the exhibitor registration page
  • A link to the ticket store for visitors
  • The contact details of the project management for further inquiries

Variant 3 - Press area

The Site Assistant is displayed in the press and news area of an international company. There it contains for example:

  • A link to the media library to download additional media
  • A subscription to the press newsletter
  • The contact details of the press spokesperson
  • The opening hours of the company

Unrestricted design for editorial teams

The Site Assistant module is built in such a way that editors or other authorized roles can use it to quickly and easily add content, reuse it, as well as display the assistant on any page.

A huge advantage of our module (especially compared to other solutions) is that any number of assistants can be used for different purposes on one Drupal site. For example, pages on product topics can contain an online store and the contact of the person responsible for the product, whereas news pages can display press contacts and downloads in the assistant.

All in all, the module offers four enormous advantages for editorial teams and page operators from our point of view:

  1. It offers editorial teams themselves a simple tool to provide site visitors with up-to-date and relevant information and to provide them with customized navigation options.
  2. Furthermore, assistants can be used as a marketing tool to better reach customers and direct them to specific (marketing relevant) content.
  3. Since the module is shared with the Drupal community, it is available for all for download. So there are no costs for extending the Drupal site and using the Site Assistant module.
  4. The complete design of the assistants can be customized. This requires site builder skills to customize the Drupal templates and CSS if necessary.

What exactly is in the Site Assistant module? We already wrote a post about this a few weeks ago titled "New Drupal module for contextual assistants".

May 21 2021
May 21

1) Flexibility

Drupal is extremely flexible and versatile. Due to the modular structure, content and layout are separated from each other. Both can be edited or exchanged independently without affecting the site as a whole.

The page can be changed or extended at any time. For example, it is possible to add language variants, redesign the layout, add further user interaction, integrate new data sources, etc.

2) Tailored solutions

Drupal is very well customizable and adaptable to the actual goals and requirements of the web project. There are (almost) no limits to the ideas and possibilities.

As a CMS, Drupal offers a very good basis, which can be extended and customized via thousands of extensions (modules). The already large selection is also constantly being expanded with new modules. Thus, there is already a pre-built solution for an enormous number of use cases. The Drupal site is then assembled only from the building blocks that are needed for the particular use case. And of course, these can be extended at any time.

3) Usability & Accessibility

Drupal has a strong focus on usability for users and accessibility for visitors.

The backend for Drupal users is kept clear and focused. Users can work from anywhere via the browser and do not need any additional software. Via the integrated role and rights system, the view and editing options are adapted for the user groups. Thus, all users (e.g. marketing, editors, developers, etc.) can work clearly and efficiently in their work environment.

Accessibility standards are a basic requirement in Drupal. Drupal ensures that all features and content comply with the World Wide Web Consortium guidelines WCAG, WAI-ARIA and ADA guidelines. This supports a low barrier website to allow easy access to information for all users.

4) Open interfaces

Drupal integrates really well with existing tools and software in the existing business environment. Through robust APIs, the Drupal site can communicate and interoperate with many other interfaces. For example, your own CRM software, external media databases, marketing tools, etc. can be shared with Drupal.

5) Community & Security

Drupal is an open source solution and is (further) developed by an extremely dedicated community. Worldwide, many web professionals invest their time in documentation, testing, code review, further development and networking. Thus, they are constantly working on the improvement of Drupal, which becomes visible in the form of ever new features and modules.

An important role is played by the security team within the community. The experts continuously analyze and eliminate potential risks. Thus, every new module undergoes a strict quality test by the security team before release.

Apr 08 2021
Apr 08

Within the product lifecycle, individual software versions repeatedly reach their end-of-life (EOL). After this point, the previous version is no longer supported in favor of a newer version - this is quite normal and usual for a technical product.

Drupal is also due for an end-of-life this year: Support for Drupal 8 will be discontinued on Nov. 2, 2021. Now, many Drupal 8 site owners are under pressure to upgrade to Drupal 9 in time to ensure a risk-free and secure Drupal environment. Since Drupal 8 will not be further supported after the EOL, we can therefore only strongly advise all Drupal 8 site owners to upgrade the system to Drupal 9 in time.

Ending Signage

From Drupal 8 to 9 - The upgrade has to be done

That Drupal 8 is hitting its EOL so soon is due to the following: Drupal 8 uses Symfony 3, which will no longer be developed as of November this year. The newer Drupal 9 only uses the successor Symfony 4 as PHP framework, library and its modules.

With the EOL, no more security updates will be made available for websites that use Drupal 8. So, in essence, there is no viable alternative for these sites other than to upgrade to Drupal 9.

What Drupal 9 brings with it

Upgrading from Drupal 8 to Drupal 9 is a much smaller jump than the previous upgrade from Drupal 7 to Drupal 8. For the first time in Drupal's history, the new Drupal version builds directly on a previous version. The upgrade from Drupal 8 to Drupal 9 is therefore much more comparable to an update from, say, Drupal 8.6 to Drupal 8.7.

Drupal 9 is a further developed and improved version of Drupal 8. The new version offers a whole range of advantages. In general, the most relevant advantages can be summarized in the following three points:

  • Long Term Support
    Drupal 9 is supported until at least the end of 2023, which provides site owners with long-term security.

  • "Cleaned up" Drupal version
    The program code has been cleaned up and tidied up in many places to make the Drupal core clearer.

  • Many modules and new features
    Many existing modules are already available for Drupal 9 and new modules / features are developed only for Drupal 9.

How we upgrade our customer projects

For the upcoming upgrades to Drupal 9 in the coming weeks and months, we have worked out a simple process by which we proceed:

  1. In the first step, we analyze the current instance. Installed modules, themes and project-specific code are checked for compatibility with Drupal 9.

  2. In the second step we perform the update of modules, Drupal core, theme files and project specific code. If necessary, we create patches for "old" modules so that they continue to work on the upgraded Drupal 9 site if they are not (yet) officially ready for Drupal 9.

  3. In the third step, our customers can test the functionality of the site in a staging environment before everything is rolled out to the production environment.

Also important and good to know: From an editorial point of view, there is no effort involved in upgrading to Drupal 9 and everything remains as it was. For example, the familiar workflows remain in place and no existing content needs to be migrated.

Mar 09 2021
Mar 09
Meer mit Tunnel

When a new project is started, everyone is usually full of anticipation and motivated to get started right away in order to "really get things done" and be successful. This enthusiasm is absolutely good and important, but above all it is important to maintain it throughout the entire project.

As an agency, we accompany many projects in parallel, some of them even from the very beginning. Again and again we notice: One of the biggest sticking points is the preparation and work prior to the actual start of the project. If there is a lack of understanding, coordination and information here, this can be felt for a long time during the project and can make the work more difficult. Therefore, we at undpaul have developed a method with our Discovery Workshop, which helps to ensure a good and coordinated start to every new project.

Discovery vs. Discovery

There are a lot of meanings and definitions for the term "Discovery". In our understanding, we divide Discovery into the Discovery Workshop and the Discovery Phase. Both have in common that they take place prior to the actual development and project work. The main difference is the time frame and therefore the depth and scope in which the content is elaborated.

During the Discovery Workshop as the first step into a project, the focus is on getting to know the participants and the project, a common understanding of the goals and framework conditions as well as the general basis for the upcoming collaboration. In the second step (depending on the size of the project), the requirements are formulated more concretely in a Discovery Phase and the user experience of the site as well as the target group (analysis) are taken into consideration.

What do I get out of a Discovery Workshop?

Especially at the beginning of new partnerships, we often have to convince our customers to do a Discovery Workshop. Again and again we hear arguments like:

  • "We already have our requirements written down."
  • "This costs a lot of money and we don't have a website (or a product) in the end."
  • "Our project manager is already doing this / has all the information available."
  • "Our requirements are described by us down to the smallest detail."

So why is a Discovery Workshop so useful and important? Simply put, to reduce risk, build trust, and develop a common goal or understanding of goals.

Let's make it a little more specific with some examples:

  • Only a reasonable solution will be successful and also make the project successful. But this requires a project team that fully understands the goals and requirements. This means on the one hand to have the same understanding of the goals and on the other hand to see the requirements in context in order to bring in the best solutions and alternatives at any time.
  • If the goals are clear and unambiguous for the entire project team, the team has "Purpose & Direction", so to speak, then decisions can be made much faster and also better in everyday work.
  • In addition, we like to recommend our clients to see the Discovery Workshop as a way of getting to know the agency. With the smaller own project, the cooperation and sympathy can already be tested in the real "working world".

Hands-On: Content and tools

For a Discovery Workshop, we have come up with a question collection that applies well in most projects. Basically, we divide the question collection into three areas:

  1. The area from the client's point of view mainly deals with the overall goals.
  2. The project area includes everything that concerns the project or product itself. From this the requirements result later.
  3. The framework area covers the basic framework, e.g. technical requirements but also time and budget plan.
Fragen für eine DiscoveryQuestions for a Discovery Workshop (German only)

Most of our Discovery Workshops take place remotely - also totally unrelated to the current Corona situation. We use a video conference in combination with a collaborative meeting tool. Where we have found no relevant difference between the different videoconferencing tools for our Discovery Workshop, we currently prefer to use Miro for the collaborative creative process and documentation.

Miro Board für eine DiscoveryExample agenda of a Discovery Workshop in Miro (German only)

The main thing is to do it!

There is something new to learn in every Discovery Workshop. However, as with many workshops and preparatory work, there is no "right or wrong" in methods and execution. The very most important point is: do a Discovery when starting a new project! The time you put into preparation so often makes the work go more smoothly and successfully as the project progresses.

Jan 15 2021
Jan 15

Today, just 20 years ago, the first version of Drupal, Drupal 1, was released. We come together with a loud (and somewhat off-key) "Happy Birthday" for its 20th birthday. Great that Drupal and its wonderful community have been part of the world wide web for so long!

20 years Drupal around the world

20 years, yes that is right TWENTY, is a really long lifetime for a content management system. Many technologies have emerged in these 20 years, became relevant, lost their relevance again and disappeared. But not Drupal. The open source technology has been continuously enhanced by the large community, and is still state of the art and will continue to shape the future of the web.

Drupal was there

“We were blogging before blogging was cool.” This is how Dries started his technology review at the last DrupalCon. And it's true - vividly illustrating the ambition and development history of Drupal. 

Who remembers the days before everyone could use the Internet? It feels like an eternity ago, it was even a previous millennium. For a large part of the development within and around the Internet, Drupal was there:

  • Drupal witnessed the birth of the browsers Safari and Firefox.
  • Drupal accompanied the emergence of the social web and with it, among others, Myspace, Facebook. YouTube, and others.
  • When the iPhone became the first device with mobile browsers, responsive designs were implemented in Drupal. Thus, Drupal played an important role in the mobile web from the very beginning.
  • Drupal was the first CMS to adopt jQuery, validating it and significantly promoted the spread of JavaScript.
  • Drupal is also developing new approaches to current developments, specifically in the area of “digital experiences”, through new channels and approaches such as voice interaction, digital machine learning and integrated solutions.

A wonderful community

We know that Drupal is great. And more and more people are agreeing with us. The Drupal supporters and community is growing. 

For more than 10 years, we as undpaul have been part of the Drupal community. Some of us have been part of it for even longer. And here is a personal thank you to Drupal: Thank you because undpaul owes its presence to the lovely and hardworking people in our community. Even though everything was a bit different last year, DrupalCon is one of our annual highlights. We are looking forward even more to the next live event with the community - with our friends and colleagues!

I will always remember my first DrupalCon, back in 2006 in Brussels. It was great to be welcomed into the community so easily. And of course remember enjoying the currywurst with Dries and a few other Drupal veterans in the restaurant of a sports club.


Oct 15 2020
Oct 15
Serpentinen im Wald

An agency is selected, the goals are agreed upon and the work on the website is commissioned - then it's time to work on the many to-dos. But how do we as a project team always keep an overview and can plan the next steps together? There are task management tools for this purpose. As an issue tracking system, they manage requirements and upcoming tasks for collaborative work.

At undpaul we like to use Jira Software from Atlassian for requirements management. Jira is very comprehensive and thus offers many possibilities for individualization, but is still intuitive to use. With Jira complex processes can be mapped, but also in easy steps an already very helpful tool for joint project work can be created.

Jira configuration in our web projects

Every project and every customer is different. This means that the configuration in Jira is also individual and different in each of our projects. However, a certain basic framework (basic configuration) has proven itself for our Drupal projects.

Manage different requirements with Issues

All requirements are collected in Jira as so-called Issues. We use different issue types to structure the different requirements.

  • A story describes a new feature or function for the website. Since we work according to Scrum, the story (in Scrum "User Story") focuses on the end-user perspective and mainly includes the functional acceptance criteria.
  • A task describes a rather technical task that is necessary for the project but has no direct visibility to the end users.
  • A bug describes an unexpected, incorrect behavior on the website, especially for functions that have already been implemented correctly in previous requirements.
  • An epic basically represents a large user story and collects stories and tasks that belong to one topic.

Each issue passes through different statuses during editing. In our Jira projects, we use the statuses mainly to differentiate the degree of completion and the different areas of responsibility. An issue usually passes through the following statuses: In planning - To Do - Needs Info - In progress - Testing - Customer acceptance - Done. The workflow in Jira allows us to control the order in which the issues pass through these statuses.

Views for different purposes

The Jira backlog contains all issues of the project that still need to be worked on and do not have the status "done". It gives us an overview of all tasks still to be done. In the backlog our customers sort the requirements by priority and together as a project team we plan upcoming sprints.

Furthermore, we use two different boards, i.e. different views on the issues. 

The Sprint Board is our working tool in the active development phase, the Sprint. During the sprint period, the development team works its way through all issues on the Sprint Board and pushes them from left to right through the statuses until they are completed. Our customers are directly involved in the development work with the Sprint Board. This is how all communication runs through the Jira comments and issues in the status Customer Acceptance is a work package for the customers.

We use the SLA Board for customers with an active maintenance contract. It is an ongoing collection of issues that are errors on the website or hinder the website. Our customers create these issues themselves in their Jira project, we receive a push notification and can start working on them.

Setting up a free Jira instance

Some of our customers already use Jira within their own company and can add us to their instance for the web project. For other customers, we set up a new Jira instance for our web project. This is easier and (up to a certain point) cheaper than expected: the cloud version is available for up to 10 users for free. In most of our projects these 10 users are sufficient.

Setting up a free Jira project is quite simple. Follow the steps below and in 5 minutes the new project will be ready.

  1. Log in to the Atlassian website with a user account.
  2. Enter a name for the instance.
  3. Invite other users. This is optional and can be done later.
  4. The next step is to create the actual Jira project. Several different Jira projects can be created in one Jira instance.
  5. As a basis for a project we choose the Scrum template. Within the project different boards can be created later.
  6. Enter the name and key for the project and then it is already created.

You can read more about this in the more detailed instructions of Atlassian

Multiple Jira instances at a glance

As an agency, we manage various customer projects in parallel - usually each with its own Jira instance. Not losing the overview can be quite a challenge. 

We found the best solution for us in the Jira Watchtower App. It visualizes issues from different Jira instances in one view. Thus, we have clearly arranged all our project tasks in one undpaul internal board.

Sep 29 2020
Sep 29

"The path is the goal". Heard so often and quoted even more often. However, there is also an important essence in it for our everyday work.

Overall goal of our projects is to create or enhance websites that exactly meet the specific requirements and expectations of our customers. More and more the path determines the success of the results. So we at undpaul decided some years ago to apply agile project management and now follow the Scrum framework.

You do not know Scrum yet? Then have a look at the introduction from scrum.org.

Hikers at Sunset

What does Scrum mean for project work?

Scrum is a framework and provides a foundation. But how do we at undpaul use it for us? How does Scrum affect the projects? We have put together the most important questions here.

How does a web project run with undpaul?

First we agree with our customers on a cooperation and an overall goal, then it really gets started. A very important point is that not all details are determined and defined at the beginning. Instead, we realize the website step by step, in sprints of two weeks each. Each sprint expands the website with new functions and lays the foundation for further sprints. Depending on time and budget on the client side, we process a varying number of sprints per year.

In a digital ticket system (we usually use Atlassian Jira) we manage the backlog. Every member of the project team enters new requirements, change requests or errors into this living collection. Prior to each sprint, priorities and scope of the backlog entries are adjusted, if necessary, to meet the most relevant requirements in the upcoming sprint.

When the scope for a go-live is reached, the site goes live. From that point on, it belongs to the support/maintenance scope for us. If further adjustments or enhancements are pending, we plan these bundled in further sprints.

How does a sprint at undpaul work?

Together with the customer we define a time frame for the sprint. After all, everyone on the project team has to be available for the short sprint period and close cooperation.

With the preparation phase (grooming), we ensure that the requirements are defined in a clear and comprehensive way and that they are understood by the project team. What is possible and reasonable? What is unnecessarily complex? In most cases, a lot of discussion, additions or changes are made to ensure that the feature offers real added value for the end user.

In the planning meeting, the official start of the sprint, the development team estimates how many of the requirements can be realized during the sprint period. During the sprint, the requirements pass through various states: from implementation through internal developer QA to customer approval and deployment on the website. The dailies are the daily status update for the entire project team. Here we often clarify queries that have arisen during development.

With the end of the sprint period the sprint ends. The sprint board shows the result. At best, all issues are listed in the state "done" on the far right, i.e. they have been accepted by the customer and deployed on the website.

How do you involve the customers?

Regardless of the project management method, we see the collaboration as an equal give and take. We (from undpaul side and customer side) have a common goal and each member accomplishes important tasks and responsibilities. Through the Scrum process we involve our customers in the complete development phase and see the foundation in communication and transparency.

In the project teams we gladly hand over the role of the Product Owner to employees from the customer side, because they know the end users and their use patterns best. This means that a lot of responsibility for requirements, priorities and the release of new features is with our customers. Much of the preparatory work is done by the Product Owner with the support of the developers in grooming and planning. This determines the direction of the sprint. In the dailies, the Product Owner is welcome to get a daily overview of the current development status or to help with further questions.

What advantages do I have as a customer with the agile approach?

By now we have taken over many externally developed projects, as customers have requested more prompt communication and transparency. Our Scrum process helps enormously with these two points in particular, since the customers are involved in the entire development process: Among other things, they manage the backlog, communicate directly with the developers in the sprints, have access to the sprint board and can give immediate feedback at any time. The daily updates in the Daily allow for early coordination if a requirement exceeds the time frame.

Another advantage of Scrum is the focus on user-oriented and timely usable solutions. By working out the requirements together, an early exchange on usability, technical implementation or further development possibilities is created. Looking at things from different angles has often brought the project teams to good, new ideas.

New requirements are developed as a completed user story in a sprint. Thus, they are fully executable at the end of the sprint and the progress of the website is quickly visible.

Mann auf dem Gipfel

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web