1. Building

System setup and content definition

Any professional-grade software solution requires a careful functional and technical design phase. These aspects become even more important when using a Content Management System (CMS) to implement a corporate internet platform or even a simple personal website, in order to:
- correctly size the resources, so as to be able to support a large number of accesses without a significant degradation of performance
- provide wide availability of the system, which should be active 7x24, and minimize the time for updating and maintenance
- guarantee maximum security in the face of strong exposure to possible hacker attacks

System architecture
Drupal can be made available in many different ways: depending on the project requirements, the architecture you want to adopt must be well defined.
Drupal can be installed on its own physical server or on virtual machines, made available through a public or private cloud. The basic architecture of the system is LAMP (Linux + Apache + MySQL / Maria DB + PHP) or WAMP (Windows + Apache + MySQL / Maria DB + PHP) type. For large projects, complex architectures can be used that separate the database management servers (possibly equipped with high-performance dbms such as Percona) from the application servers; for smaller projects you can install the entire system on a single server, or use hosting providers already optimized for Drupal.
Profiling of Users and Roles
It is necessary to consider all the various types of Users who will use the system, both to make the system easily accessible and ensure a pleasant "user experience", and to ensure easy updating of the contents by the editors, also defining any approval cycles.
Core modules and extensions
Drupal is a flexible CMS with a modular structure, different functionalities can be added or removed according to the needs through the different modules.
Drupal is based on a set of "Core" modules, which implement the main functions of the CMS. The system can then be extended by adding the appropriate extensions. Drupal can count on the support of a large community of users, which keeps the entire ecosystem alive by creating, for each new major version released, hundreds of additional modules available on Drupal.org.
Content types and fields
In Drupal, a content type consists of the following two primary elements: a basic configuration and a set of fields.
The basic configuration of a content type defines the default behavior and properties of the content type. For example, you can specify whether a newly created content has the published status or not by default or whether the newly created content is associated with one or more menus or not. The set of fields, on the other hand, allows you to define specific information that can be enhanced by inserting a content of that type, for example, a "department" content type may include a set of fields designed to be able to define the head of the department, the location of offices, services it performs, etc.
Vocabularies and taxonomies
A taxonomy is a collection of Vocabularies, each of which in turn contains a list of Terms, "labels", which can be associated with the contents to characterize them.
The taxonomy module in Drupal allows you to create multiple lists of categories for classification. It offers the possibility to create thesauri (terms with horizontal relationships) and taxonomies (terms with hierarchical relationships). In practice, the taxonomy deals with a hierarchy of information and the thesaurus manages the relationships between terms.
Distributions
A "Drupal Distribution" is a pre-made combination of Drupal Core, modules, theme and configurations.
There are many Drupal distributions designed to meet specific needs or types of sites, such as blogs, ecommerce, government sites, corporate sites.

Tell us about your project

We are at your disposal for any questions or informations, write us, and we will happy to answer you.