Blog
Tailwind css
Tailwind css

Drupal 9 development using Tailwind CSS

In-house Drupal development

We developed our Intranet system in-house, initially using Drupal 6 and upgrading it to Drupal 7 in 2016. Our Intranet helps us with work planning, tracking our project resources, timesheet administration, sales lead tracking, and producing reports we send to our clients. It also stores project documentation, offers, specifications and other internal documents.

Drupal 7 is nearing end of life – or is it?

When we upgraded our Intranet in 2016 to Drupal 7, we took the opportunity to modernize many parts of the site. However, the design was beginning to show its age, and we expected Drupal 7 to be “end-of-life” in November 2023. This “end-of-life” date had been postponed several times, so it was a surprise when – on June 7th – the organization behind Drupal suddenly announced yet another postponement, this time to January 5th, 2025!

Nevertheless, we are several years down the line since our last redevelopment of our Intranet, and a lot has changed in that time. Therefore, we remain committed to upgrading the site to Drupal 9 and even have Drupal 10 in our sights.

The journey to Drupal 9

As we wrote in earlier blogs, the move from Drupal 7 to Drupal 8 represents a substantial challenge. Drupal 8 broke new ground, ending support for many old hooks and APIs and introducing replacements that meant developers must refactor their code. Many module developers had to rewrite their code as well.

With Drupal 9, that transition is complete, and we believe that upgrades to subsequent versions will be much easier.

When we started our Intranet redevelopment, a stable Drupal 10 release was not yet available. However, we’ve always planned to include the upgrade from Drupal 9 to Drupal 10 during this project, assuming a stable release is available with the required complement of essential modules.

This upgrade is also an excellent time to give the interface design – based mainly on the original Drupal 6 website – a thorough overhaul.

Twig templates, Entity and Form API

Firstly, we wanted to convert our custom HTML output to use the Twig templates introduced in Drupal 8. Twig templates are a robust, modern system for generating output for pages. With projects like Literom, Uittrekselbank, SISO and WCC Support Centre, we have built up much experience with Twig, so we now want to use this for the new Intranet.

Secondly, we wanted to use Drupal’s Entity and Form API. With the Entity API, we describe the data we want to store. We then use the Form API to describe forms with which to edit data, but also for search functions and filters. With a little ingenuity, we can combine the two APIs, making data storage largely dynamic. A form can itself determine which fields to store in the corresponding Entity. You can even use an Entity to generate forms automatically, but this is often too restrictive for our use cases.

Tailwind CSS

For the site’s styling, we wanted to use a framework that lets us easily compose layouts. We considered several options. At first, Bootstrap seemed a suitable candidate, but we quickly ran into limitations; It was great for quickly building layouts, but it imposed many restrictions on the styling of elements – and sometimes made it difficult to adjust them to our liking. Then Tailwind CSS caught our eye.

Using Tailwind CSS

In a nutshell, you could describe Tailwind CSS as a modern version of Bootstrap. Firstly, it offers many style rules that you compose yourself in the HTML of the web page instead of one big CSS file. The advantage of this technique is that the styling of one page doesn’t affect other pages (which quickly becomes a problem in larger projects). Secondly, you combine the HTML with the styling, which makes it more transparent. You can see directly from the HTML how it will look.

However, you don’t want to repeatedly redefine the same styling for every header, paragraph and table. For this reason, we have defined a minimum set of styles for common elements you frequently use, provided they are relatively straightforward and have few exceptions. If an element needs precise styling or only slightly deviates from the basic styling, we can achieve this using Tailwind CSS style rules within the HTML.

Guns for hire

While this is an internal development, we work for many clients using Drupal and many of the techniques described in this blog. We’re available to discuss your next project and can help you transition from Drupal 7 to Drupal 9 and beyond. If you’ve got such a project, why not get in touch?

Let BSL take care of your website maintenance updates

Let BSL take care of your website maintenance updates

We understand the importance of regular website maintenance updates for WordPress and Drupal. Hackers sometimes target popular open-source products, so keeping your CMS and any plugins up-to-date is essential. Trust BSL to keep your website up-to-date and secure while you focus on crafting persuasive content for your audience.

BSL Summer event on the water

BSL Summer event on the water

It was time for our annual summer event with the whole company. This year, Diana arranged a boat trip in a salon boat along the Vecht towards Loenen and Vreeland. After the boat trip, the summer event continued in the restaurant of Bistrotel ‘t Amsterdammertje, where everyone enjoyed a delicious dinner.

Adobe Firefly and Photoshop Beta with generative fill

Adobe Firefly and Photoshop Beta with generative fill

After the success of ChatGPT and Midjourney AI – both already in use at BSL – Adobe didn’t want to be left behind and made public their Beta releases of Adobe Firefly and Photoshop AI. With the arrival of the Adobe Betas, we’ve turned our attention to the new kids on the block, comparing them with Midjourney.

Midjourney prompts – Describing your perfect image

Midjourney prompts – Describing your perfect image

In an earlier blog, we introduced Midjourney as a tool we use within BSL when designing websites and banners for blogs. To direct Midjourney to create the image you have in mind, you need to write a prompt describing the image. This new blog discusses Midjourney prompts and some of the commands and parameters you can use.

Midjourney AI – Turning your ideas into images

Midjourney AI – Turning your ideas into images

Over the past few weeks, BSL has been exploring the many possibilities offered by Artificial Intelligence. This latest blog describes the use of Midjourney AI, a web service that generates images based on natural language descriptions (“prompts”). The results are impressive. Read our blog to find out more.

The benefits of long-term partnerships

The benefits of long-term partnerships

NBD Biblion offers personalised book and media title recommendations to schools and libraries, and supplies their clients with the titles they select. BSL has had a long-term partnership with NBD Biblion for more than twenty years, delivering development teams, technical advice, and support.

ChatGPT for business information analysis

ChatGPT for business information analysis

After the initial enthusiastic response to the introduction of ChatGPT and AI, attention switched to the unreliability of many ChatGPT answers. However, using Azure OpenAI (ChatGPT) and Cognitive Search with reliable data, we can deliver reliable, high-quality business information in response to natural language queries.

Browser engine wars – Part 2 – The impact of Apple’s iOS monopoly

Browser engine wars – Part 2 – The impact of Apple’s iOS monopoly

The Apple iOS monopoly means that every app on iOS – including browsers from Apple’s competitors – must use WebKit to display web content. While it’s not uncommon for browser developers to use a third-party engine, they can usually control which engine features they use in their browser and – if needed – add custom features.

Browser engine wars – Part 1 – How did we get here?

Browser engine wars – Part 1 – How did we get here?

The Register recently reported that Google is working on an iOS version of Chromium. A few days later, a second article claimed that Mozilla is working on an iOS version of Gecko, Firefox’s browser engine. Both reports suggest that the Apple browser engine on iOS, WebKit, is in danger of losing its monopoly.

Donation on behalf of earthquake victims in Turkey and Syria

Donation on behalf of earthquake victims in Turkey and Syria

On Monday, 6 February, several powerful earthquakes and aftershocks hit Turkey and Syria. This disaster affects as many as 23 million people, including many who are already in desperate need due to the conflict in Syria. If possible, please join us in making a donation on the Giro555 website.

WordPress and page-builders such as Divi and Elementor

WordPress and page-builders such as Divi and Elementor

For building websites on behalf of clients, we often use WordPress together with page-builders, making it easy to prototype and develop modern, responsive websites. With page-builders such as Divi and Elementor, you can easily and quickly design and build pages to match almost any design.

2022 and the Bright Side of Life

2022 and the Bright Side of Life

Taking the time to reflect regularly on the things we are grateful for at the Bright Side can help shift our perspective to focus on the positive aspects of our work. So, here are the things for which I’m grateful in 2022.

SEO benefits, and the power of good-quality content

SEO benefits, and the power of good-quality content

Many business owners still think their websites are merely visiting cards. Their “go-to” expression is: “our clients/audience already know where to find us…”. This may be true, but optimizing your website will reach new clients and audiences.

New Keylane Careers website

New Keylane Careers website

Keylane asked BSL to help design and build a new Careers website. The main aim is to increase the number of visitors by improving the organic search performance. To achieve this, we’re introducing a new design and adding blogs.

Cloud provider migration: What are the benefits?

Cloud provider migration: What are the benefits?

The focus of Cloud computing is to improve the efficiency of IT services. By choosing a cloud-based solution, organisations can stay up-to-date with technology innovations and benefit from higher scalability, lower expenses, and enhanced security.

A new website for BoekWijzer

A new website for BoekWijzer

We’ve completely revamped the BoekWijzer website! The website was built to support the BoekWijzer app, the mobile guide to the world of Dutch literature. Using the app, you can quickly and easily stay up to date with the latest literary news.

New developer / web designer at BSL

New developer / web designer at BSL

If you have any questions about your website or web design in general, then Patrick van Bennekom is ready to help you five days a week at BSL. Patrick helps to design and create websites and apps for our customers, including the design of logos and house styles to deliver a professional end product.

Migrating to the Cloud, benefits and opportunities

Migrating to the Cloud, benefits and opportunities

Several of our clients are migrating to the Cloud, and some that aren’t yet ready for this step are reviewing their legacy systems, intending to migrate to the Cloud in the future. We’ve recently completed two migrations on behalf of multinationals, and our experience has taught us that a direct approach (simply redeploying existing databases and applications on virtual machines) is not always the best route…

Beleev: Controlled Multisensory Environments

Beleev: Controlled Multisensory Environments

Perhaps you have never heard of snoezelen, a Dutch term that describes controlled multisensory environments (MSE) that stimulate various senses within a custom environment – a so-called “Snoezel” room. On behalf of St. John the Baptist special education school in Kerkrade, we’ve created custom software to create and manage so-called “Snoezel” rooms, controlling, lights, audio, switches and a video projector.

Goodbye 2021 and COVID-19 lockdowns – It’s time to look back

Goodbye 2021 and COVID-19 lockdowns – It’s time to look back

So who, in early 2020, thought that we’d still be operating under COVID-19 lockdown measures in January 2022? Luckily, my skill set has given me a better understanding of software development and technology than catering or hospitality. As director of an IT company, I’m happy to say that Bright Side of Life has taken to remote working as a fish to water. Let me tell you about our year.

Canon of the Netherlands apps now available in stores

Canon of the Netherlands apps now available in stores

The Dutch Canon of the Netherlands (2007) tells the story of how the Netherlands was formed. Using the Canon, BSL developed the popular EnToen Nu apps for iOS and Android a few years later. In 2020, the Canon was extensively revised, so we’ve completely rewritten the Canon apps, bringing them up-to-date, making them faster and even more fun to use. They’re now available in the app stores.

Integrating powerful AI search capabilities within apps and web-services

Integrating powerful AI search capabilities within apps and web-services

Search technology is continually evolving, so we’re always ready to adopt new technologies to meet specific client needs. This blog outlines our recent experiences with Azure Cognitive Search and Cognitive Search AI services – classifying thousands of new documents each day, delivering customised briefings to subscribers. Using Machine Learning and AI we can create intelligent search prototypes in just a few weeks.

Canon van Nederland apps coming soon!

Canon van Nederland apps coming soon!

The Committee on the Development of the Dutch Canon developed the Canon van Nederland in 2007. BSL developed the EnToen app a few years later, and since its launch in 2013, it has been a top-rated school app. In 2020, a new Canon Committee updated the Canon. We’re now busy working on new Canon Apps, with a modern look, and using the latest technical know-how.

Drupal 9 replaces Drupal 8. Long live Drupal 7!

Drupal 9 replaces Drupal 8. Long live Drupal 7!

Drupal 9 arrived last year, and Drupal 8 is end-of-life in November 2021. Nothing strange about this. But did you know that Drupal 7’s life has been extended to November 2022? Due to the high number of active users, it will remain in use longer than Drupal 8! Nevertheless, if you’re still using Drupal 7, you’re drinking in the last chance saloon, and it’s time to plan your transition to Drupal 9.

BSL delivers a new Pulse importer using the Forrester API

BSL delivers a new Pulse importer using the Forrester API

We developed our “Pulse” Business Intelligence Software for PwC. It’s a global service, maintained and supported by BSL. Pulse imports thousands of documents daily from commercial content providers and website feeds, delivering personal briefings to PwC subscribers throughout the PwC organisation. At the request of PwC, we recently created a new importer for Forrester using their API.

Outsourcing, retainers and long-term development partnerships

Outsourcing, retainers and long-term development partnerships

It’s not always straightforward for even large companies to create cutting edge development teams, as their core business may not be related to IT. Moreover, even when IT is a significant part of their business, there is frequently a wide gap between delivering core services and innovating with new technologies. BSL offers development services that can help fill the gap.

Machine Learning technology for Library services

Machine Learning technology for Library services

We’ve worked for many years with NBD Biblion, a unique organisation that selects and distributes books to public libraries in the Netherlands. They recently introduced Machine Learning (ML) technology to automate their client recommendations. After this success, NBD Biblion asked BSL to integrate a new Machine Learning service with MIPS, developed by BSL.

Drinks and a movie at BSL

Drinks and a movie at BSL

Enjoying a few drinks and watching a film together was a regular feature of life at BSL. I write ‘was’ because COVID-19 has kept most of us working from home. As a result, sharing a drink and watching a film together has not been an option. So instead, we’ve organised Digi-parties, Easter surprises and other events. Most recently, we arranged for everyone to enjoy a movie at home.

Two BSL anniversaries in May, time for a party

Two BSL anniversaries in May, time for a party

Two BSL anniversaries this week. Senior developer Peter Verbaan has been a key resource within BSL for 15 years, and front-end developer Roderick Gadellaa for 5 years. Reason enough for a party, you might say, and that’s something we love at the “Bright Side of Life.” For now, Corona makes this impossible, so it’s an online drink and a virtual hug.

4

Previous

5

Next

Contact BSL