Author

Upgrade Your Drupal Skills

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

See Advanced Courses NAH, I know Enough
Oct 16 2024
Oct 16

In this article, I’ll show you how to build a system to keep track of your company assets using Drupal. This system allows you to easily create and manage an equipment list with resources such as laptops, phones, monitors, or desks that are assigned to employees. It’s ideal for remote or hybrid companies, where control over issued equipment is crucial. Read the blog post or watch an episode of the “Nowoczesny Drupal” series (the video is in Polish).

Why implement a system for the equipment list?

Companies, especially those that use hybrid or remote work or have multiple offices, need to manage business assets. When employees are assigned different equipment, over time, it can be difficult to keep track of who has what devices, what has been returned, and what needs to be replaced. With a Drupal-based system, we can easily monitor each employee's inventory and identify which equipment is unassigned and can be reused.

It is also worth mentioning that this system can be built as a standalone Drupal installation, or such functionality can be added to an existing system, such as part of a company's intranet system.  

Let's now move on to a step-by-step explanation of how to build such a system using Drupal as an example.

Creating data types in Drupal

We'll start by creating the data types that will further be necessary to create the views of equipment records.

Equipment types and parameters

To begin with, you need to create the types of data that will be stored in the system. Drupal makes it easy to define different types of equipment, such as laptops, phones, or monitors. We can also assign appropriate parameters, such as RAM or screen size.

The creation of data types is done through the "Structure" tab in the Drupal admin panel. We create the equipment type as a taxonomy and the equipment parameters as further taxonomy terms that can be assigned to equipment.

Creating data types in Drupal for building a company's equipment list.


Examples of equipment types:

  • Laptop
  • Phone
  • Monitor
Equipment types defined in Drupal to create an inventory with the business assets in the system.


The second thing we’re going to specify are the parameters of the equipment. Examples of the parameters we use are:

  • RAM
  • Monitor size
RAM is an example of a hardware parameter added to a company asset inventory in Drupal.


The next step will be to add an item that will determine the above parameters, such as the size of the monitor (13 inches and 16 inches) or the size of the RAM (16 GB and 32 GB). To do this, we expand our list by adding more partitions.

A view of hardware parameters in Drupal with information such as monitor size and RAM.


Next, we sort our items so that the appropriate parameters are under the appropriate data categories.

An example of sorting equipment parameters in Drupal for an inventory of business assets.


This allows you to accurately describe each piece of equipment and organize all the information.

Creating equipment entities

The next step is to create an entity that will store all the information about the equipment. In Drupal, we create a new content type - "Equipment".

Adding the ‘Equipment’ content type in Drupal for future company equipment records.


Then, in the "Manage fields" section, we click "Create a new field" and select the type of field we want to add. For parameters, we refer to the things we added earlier, that is, we add a "Reference" field to the equipment type and its parameters.


It’s important to change the allowed number of values in the parameter reference to "unlimited". This will allow you to add more than one parameter (e.g., RAM, screen size) to a given hardware.

Creating a ‘Parameters’ element in Drupal for company equipment list.


Similarly, we’ll create a "User" field. 

We can add several fields to this entity, such as:

  • Equipment name - text field
  • Type of equipment (laptop, monitor, phone) - reference field
  • Parameters (RAM, screen size) - reference field
  • Assigned user - reference field
  • Serial number - numeric field
  • Purchase date - a field with a date
  • Purchase price - numeric field + suffix
  • Invoice (possibility to attach PDF file or photo) - file upload type field

These fields can be added as needed as text, numeric, file upload, and date fields, as seen with the specific examples above. You can also use suffixes (e.g., adding PLN in the field with price) and several other additional specifications.

Here you can immediately see how many types of fields there are to use in Drupal for different data structures or types of content, and how quickly they’re built. Each of these fields can be customized to meet the specific needs of the company, making the system more flexible.

After creating such structures, we see a form with data to be filled in.


Create views to manage equipment and business assets

To make the form display aesthetically pleasing, we need to improve it by creating views.

Categorization of information

Our form has several types of data that we can group. We’ll create three groups of equipment data:

  • General (name, type of equipment, user)
  • Financial (price, invoice, date of purchase)
  • Other (parameters, serial number)

Once saved, we’ve categorized data, making the form more readable. You can also customize these fields according to the needs we have in the company.

View of the form with grouped categories for the equipment type in the inventory in Drupal.


Now, we’ll make one more modification - we’ll change the field for selecting the type of equipment to select2, which will allow us to choose the types of equipment our company has listed earlier. 

Changing the field for selecting equipment type to select2 in the equipment list on Drupal.


This gives us an interesting drop-down list that will allow us to easily select types of equipment, not only by clicking but also by typing by name, which is useful, especially when there are a lot of them.

View of the drop-down list with equipment types showing laptop, monitor, and phone.


Another modification will be to change the field in "Parameters." We’ll replace the autocomplete with a field of type Hierarchical select.

Changing the field in the parameters to Hierarchical Select to easily choose the item.


This will give us the ability to select the type of parameter with a value assigned to it accordingly.

Example of a parameter view in a form for creating equipment records in Drupal.


You can see here that you can modify these widgets freely, even after creating them, gaining a convenient interface for managing hardware data.

After filling in the fields and saving the data, the view of each equipment will contain the following columns:

  • Equipment ID
  • Name
  • Type of equipment
  • Parameters
  • Purchase price
  • Edit option
  • Assigned user

This gives the person managing the list of equipment a complete overview of available resources and can easily add new company assets or edit existing data if necessary.

Views of business assets

Now, we’ll work on equipment views.

We’ll go to "Structures" and then click "Views." We’ll add a name, which is "Equipment." We’ll change the content to "Equipment," go to "Page Settings" and click "Create Page." We add a title, path, number of elements to display, and save. Now in the "Format" section, we change the display of elements to "Table."


In it, we’ll add some fields, such as ID, equipment type, parameters, price, and link to edit. I leave the rest of the options as default, but of course, you can edit it as you like. 

The next step is to set the order of the data in the table, we want to have the ID and equipment type at the beginning and the edit option at the end. In this step, we also add a link to add new equipment (as a header) and full sorting. We get such a user-friendly view:

A table with the order of items set to make the equipment list clear and easy to edit.


As we can see, Drupal allows advanced personalization of equipment addition forms, making it much easier for users and data entry becomes more clear and organized.

Filtering and sorting data of the equipment list

We’ll now add a data filtering option. To do this, we’ll go to the filtering configuration option and add criteria - “Filter by name.”

Adding company filtering of data by item name in the equipment inventory.


Next, we’ll look at adding the ability to sort the data by specific criteria, e.g., by price, ID, and name. This can be done in the display method settings:

Setting the display method with the option to sort data by price, ID, or name.


As a result, table headings have become clickable, making it possible to sort them ascending or descending:

Viewing of the equipment inventory with the option to sort elements in the table.


This allows the user to easily search for equipment by name, price, or other parameters. Introducing the possibility of sorting columns (e.g., by price or purchase date) significantly improves the convenience of using the system.

Create advanced views of the equipment list

Drupal allows you to further develop the system by creating more advanced views, such as:

  • Equipment not assigned to the user - the view allows you to identify business assets available for release.
  • Equipment without invoices - a list of equipment that lacks attached invoices, which can help you organize your documentation.
  • Equipment with the parameters we specify.

To do this, copy the current view and rename it, for example, to “unassigned equipment.” Then, we add a filter to the "user" field and set it as empty. This gives us an easy view of the equipment, which is in the company and not assigned to anyone.

So we have two views:

Setting up equipment and unassigned equipment to make it easier to control company assets.


Thanks to Drupal's flexibility, it can be cloned at will, changing settings and creating further views, such as equipment without invoices or with specific parameters to suit the needs of the company or individual departments, such as IT administration or accounting.

Equipment list with company assets - summary

Setting up a company's equipment inventory system on Drupal is a task that can be done relatively quickly and without a lot of expense. Drupal offers tremendous possibilities for tailoring the data structure and functionality of the system to the specific needs of the organization. With simple tools such as content types, views, and advanced forms, we can build a system that streamlines the management of resources in a company.

A summary with important information about building an equipment inventory system on Drupal.


Eventually, such a system can also be integrated with other applications, exposing data in JSON format or importing it from CSV files. All this makes Drupal an excellent choice for companies that want to keep effective records of equipment.

If you're wondering if Drupal is the right technology for your business, it's a good idea to schedule a free consultation, to discuss possible solutions.

Oct 09 2024
Oct 09

Upgrading from Drupal 7 to the latest version opens up a range of benefits, allowing you to leverage a modern CMS. By enhancing areas like content structure, SEO, and security during migration, you can maximize the impact of your investment.

But, without Drupal expertise, deciding what to change and improve can be overwhelming during the migration process.

Our free checklist, built on Droptica’s experience with clients, helps you explore common migration improvements and decide which ones fit your needs.

Migration Options

During your Drupal 7 to 10/11 migration, there are three primary strategies to choose from. Your decision will shape the timeline, budget, and overall migration success. Here’s a look at the options:

1. Migrate Without Changes

This is the quickest and simplest approach, where you upgrade to Drupal 10/11 without changes. It’s ideal if you’re focused on compatibility and keeping the site operational. However, it may bypass opportunities for SEO, security, or content improvements.

Recommendation: Choose this option if you’re on a tight budget, need a quick upgrade, and are planning to address improvements later.

2. Migrate with Small Changes and Improve Later

This option involves upgrading while making essential adjustments to enhance performance, fix urgent issues, or implement minor improvements. For example, you could address outdated content types, enhance SEO configurations, or clean up old fields.

Recommendation: If you’re looking for immediate improvements while staying within budget, this approach strikes a good balance. You can tackle more complex updates later, spreading out costs and efforts.

3. Migrate and Overhaul All Aspects at Once

This option offers a full-scale transformation, tackling everything from redesigning the user experience to fixing issues like content structure, user permissions, SEO, and security.

Recommendation: This is the best route for businesses aiming to modernize their site to align with updated buyer personas and current audience expectations. If you have the budget and want a comprehensive solution, this approach ensures long-term success, though it requires more investment upfront.

How We Created This Document

We built this guide by analyzing our last 10 Drupal migration projects, which ranged from small (200 hours) to large (thousands of hours). Simple migrations focused on quick fixes, while larger ones involved redesigns, performance improvements, and content restructuring.

By combining insights from these projects, we’ve created a document that highlights key improvements to consider during migration. No matter the size of your project, this guide will help you make informed decisions and focus on impactful changes.

Scope of the Document

This document provides a comprehensive guide to the key areas you should consider when migrating from Drupal 7 to Drupal 10/11. It covers essential aspects of the migration process, helping you identify potential improvements in various areas of your website. The document includes recommendations for:

  • Content Structure: Optimizing nodes, taxonomy, and other data types.
  • User Management: Enhancing user profiles, roles, and permissions.
  • Design and Theme: Updating the look and feel of your website, including frontend and framework choices.
  • SEO Optimization: Improving your website’s search engine visibility with better structure, URL management, and content optimization.
  • Security Enhancements: Implementing security best practices, such as two-factor authentication and role-based access control.
  • Performance Optimization: Speeding up your site by optimizing media, caching, and database queries.
  • Editorial Workflow: Improving content creation and publishing processes through better workflows and automation.
  • Integrations and APIs: Connecting your website to third-party tools, such as CRMs and marketing platforms.
  • Hosting and CI/CD Automation: Streamlining deployments, backups, and updates for more efficient website management.

This guide offers practical insights based on real-world experience, helping you decide which areas to prioritize for your migration. Whether you’re looking for a basic update or a full site overhaul, this document will help you navigate the complexities of the migration process.

How to Use This Document

This document is available in Google Docs format, making it easy to copy and use as a checklist during your migration process. Simply go through each section, and if certain recommendations don’t apply to your project, feel free to remove them. For any features or improvements you want to implement, just describe them in the corresponding table cells.

Once you've finalized your version of the document, you can share it with your Drupal development company. To make the estimation process even smoother, we recommend providing it alongside the text file generated by the tool described in the blog post Curious about Drupal 7 to 11 migration costs? Collect all the info for estimation in 5 minutes.

If you'd like to send the document to us at Droptica, you can reach out using our contact form, and we’ll provide you with a tailored estimation for your migration from Drupal 7 to the newest version.

Where to Get This Document

You can download the Drupal 7 to 10/11 Migration: Features and Enhancements to Consider document for free on our Drupal 7 to Drupal 11 Migration Services page

Summary

Migrating from Drupal 7 to Drupal 10/11 is a chance to update your system and improve your site's performance, security, and user experience. Whether you opt for a simple migration or a complete overhaul, our Drupal 7 to 10/11 Migration: Features and Enhancements to Consider document will guide your decisions.

Use it as a checklist to evaluate your current setup, plan improvements, and collaborate with your development team. You can download the document for free, and if you need help, Droptica is available to provide expert advice and a tailored migration plan.

Sep 30 2024
Sep 30

Migrating from Drupal 7 to the latest version, like Drupal 11, might seem like a big challenge, but it doesn’t have to be. One of the most common obstacles is figuring out how much it will cost. You want to know the price, but you don’t want to give full access to your site just to get an estimate. The good news? You can collect all the necessary information for an accurate project estimate in just 5 minutes. 

The problem: Estimating Drupal 7 to 11 migration costs 

When you're planning a migration from Drupal 7 to Drupal 11, understanding the cost is essential. Many companies ask for full access to your site to make this estimate, but understandably, you may be hesitant to provide that to multiple companies. Without knowing what’s involved, it can feel overwhelming to start the process. 

The solution: Collect info for an estimate in 5 minutes 

To make things easier, we at Droptica have developed a simple tool that allows you to gather all the necessary data without having to give full access to your site. In just 5 minutes, you can generate a file with all the important details needed for a migration estimate. This file can then be sent to any Drupal development company, allowing them to provide an accurate cost estimate based on your website’s setup.

How to use the migration tool: Step-by-step

Here’s how you can quickly gather the necessary data for a migration estimate using our tool:

  1. Log in to your Drupal 7 site as an administrator.
  2. Ensure the PHP Filter module is enabled. You can check this by visiting /admin/modules. You'll need to have the right permissions to see this page.
  3. Navigate to /node/add/page. If you don’t have a page content type, you can create a new content type that allows PHP input.
  4. Change the "Text format" of the body field to "PHP Code."
  5. Paste the contents from the following link into the body field: snippet.php.
  6. Save the node. Once saved, a text file will automatically download to your computer. This file contains all the necessary analysis of your Drupal 7 website.
  7. Send the text file to the development company of your choice for an estimate. With this file, they can give you a preliminary estimate based on your website's structure and setup.

This method doesn't actually migrate your website, but it gathers all the data the development team needs to provide a reliable estimate for your migration.

[embedded content]

Alternative: Using DDEV for local sites

If you have your Drupal 7 site running locally with DDEV, you can also collect the necessary information without using your live site. Just run the following command:

Copy code

ddev drush php-eval 'eval("?>" . file_get_contents("https://raw.githubusercontent.com/droptica/drupal_7_migration_to_latest/refs/heads/main/droptica-drupal-7-audit.php"));'

This will execute the same script and allow you to collect the data for estimation.

Using the Devel module

If you have the Devel module enabled on your Drupal 7 site, you can also run the script by navigating to /devel/phpand pasting the contents of snippet.php. This is another easy way to gather the necessary information for your migration estimate. In this case remember to remove PHP opening tag “

Conclusion: Get an estimate without sharing full access

Gathering data for your Drupal 7 to 11 migration doesn't have to be complicated. With our tool, you can quickly collect all the essential information in just 5 minutes, allowing any Drupal development company to provide a preliminary estimate. While this initial estimation will give you a good idea of the cost range, most migrations will require a second iteration, including more in-depth analysis. At this stage, you may need to provide a full copy of your site for a more detailed evaluation.

However, after this first round of estimates, you can easily shortlist companies based on their cost range, saving time and avoiding the need to grant full access upfront.

If you’re looking for an estimate from Droptica, simply send us the file generated by the tool. We've successfully handled numerous Drupal 7 migrations and have additional tools that speed up the process, ensuring your migration to Drupal 11 is efficient and cost-effective.

Read more about our Drupal 7 migration services https://www.droptica.com/services/drupal-7-migration/

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