Help Improve the Drupal Console Project
June 06, 2019
As with any open-source project, the Drupal Console team sets the project's vision and roadmap based on its own requirements and what it believes will be useful for the community.
The team also receives substantial feedback from users through participation in events like DrupalCons, DrupalCamps, and various meetups. However, this form of communication has inherent limitations that prevent the level of community engagement the project aims to achieve.
For this reason, the project is introducing several initiatives to better understand how Drupal Console impacts the daily work of its users, whether they are developers or not.
How do code generators impact your work?
The Drupal Console project's features are divided into four main categories: Code Generation, Debugging, Automation (Chain), and Administration.
A campaign is underway to determine how many development hours are saved by using Drupal Console's code generators.
To participate, you could access the poll through Facebook, Twitter, or by voting directly on the Drupal Console site: https://drupalconsole.com/poll/1
Understanding User Needs
Contributing to an open-source project is more complex than it might appear, and defining a roadmap with the most useful features is not a simple task. Decisions are often based on the team's needs and vision, combined with ideas from the issue queue.
The contributing team has been exploring ways to prioritize these ideas to work on features that genuinely impact how people use the Drupal Console project.
It became clear that usage statistics are needed, but collecting data requires a careful approach, especially in an era of heightened privacy awareness. The solution is a new feature, starting in version 1.9.0, that allows Drupal Console users to share anonymous usage statistics.
Rest assured, all collected information is anonymous, and the feature can be disabled easily at any time.
What information will be gathered?
Only high-level information will be collected.
- What commands are executed.
- Which language is used to run Drupal Console (e.g., English, Spanish, Japanese).
- If a generator command is run, how many lines of code were generated.
You can read the privacy policy page for more details.
Where is this information stored?
The configuration for collecting statistics, and the data itself, is stored in your user home directory within the Drupal Console configuration folder, located at ~/.console/.
This method avoids logging statistics in production mode. When Drupal projects are deployed to production servers, the statistics-related configuration remains on your local machine. This approach may be revisited in the future if Drupal projects adopt environment configuration management similar to Symfony.
A folder named ‘stats’ will be created inside your user home's Drupal Console folder. In that folder, you will find files with the format [date]-[status].csv, where the date is the day the information was collected, and the status indicates whether the file has been sent or is still pending.
How and how often is the information sent?
Once data is collected, pending files are sent once per day. They are then processed on the server to create an aggregated report of usage.
How to enable/disable sharing your Drupal Console usage?
If you want to contribute your data, update Drupal Console to version 1.9.x and run the following command:
drupal init
This enables statistics and other configurations.
If you already have Drupal Console configured, you can enable or disable sharing with these commands:
drupal settings:set share.statistics true
If you want to stop sharing, simply execute the following command:
drupal settings:set share.statistics false
How is this information collected?
If you are skeptical about how this information is collected and processed, remember that Drupal Console is an open-source project, which means there is full transparency.
To see how the data is aggregated and where it is sent, feel free to review the integration here in the Drupal Console core repository.
Spread the word
To contribute even more, please help by promoting this feature among your peers and on your social networks.
All collected information will help shape Drupal Console 2.0 and beyond.
By choosing to support this initiative, you are making a true contribution to Drupal Console. Contributions are not limited to writing code.