Drupal

Drupal is an open-source content management system (CMS) that offers a wide variety of features and services (metadata functionalities, workflow publishing, user administration) for developing quality dynamic websites. Due to its very specific programming environment, Drupal has gained popularity over the simpler platforms (such as Quick.Cms and WordPress) and is now recognized as one of the most complete CMS solutions available.

Advantages

  • It has a rich functionality base: advanced menu management, graphics modification tool, user management
  • Allows the user to create and manage many content types, such as: videos, polls, podcasts, statistics and others
  • Drupal has several thousand plugins available, and users can also create their own plugins if needed
  • It has integrated modules for graphic elements design
  • Drupal is open source, so new plugins and modules are developed constantly
  • The support is very good, ranging from written documentation to forums and chat support

Disadvantages

  • Drupal is pretty complex and might require some effort for installation and maintenance
  • It will generate increasingly bigger server loads for bigger websites
  • Getting used to Drupal requires time and effort, and from this point of view, Drupal is the most difficult CMS to master (among the popular ones)
  • It requires more computer resources due to the large number of features and plugins
  • Due to the fact that Drupal usually receives large updates, additional time is required to fully understand the new changes
  • When releasing new features and updates, the development team might neglect backward compatibility for outdated versions

Components

  • Rule components
  • Action set
  • Condition set
  • Rule set

Development tools

  • OpenDevShop
  • Git
  • Composer
  • NetBeans