- Portfolio wants to optimize for a defined use-case, but has no way to figure out how much optimization is possible/acceptable.
- Allow Portfolio sites to "call home" to provide basic information about environment parameters and enabled modules/features.
- Unlike Drupal core, Portfolio wants and needs to resolve a concrete problem of its users to be successful.
- As a product with a specific purpose, Portfolio has to improve and solve its users' needs over time.
- Portfolio is not able to say: "There are multiple solutions to your question. Go away, search and use contrib." like Drupal core — Portfolio's entire purpose and reason to exist is to prevent and avoid that question in the first place.
- As clarified in , Portfolio won't lock you into anything. However, if 80% of all users are going to use, enhance, or configure it via X, then the product design team needs to know.
- Every solution always depends on the environment parameters (constraints) as well as facilities and possibilities (assumptions) at hand.
- If you don't know the constraints and if you're not able to make assumptions, then it is impossible to optimize.
- Develop a contrib module that is able to retrieve and send the following data to an install-profile-specific destination:
- Web server software + version
- PHP version
- Databases + versions (available vs. actively used)
- Enabled modules
- Enabled features (configuration), including detailed configuration options, but excluding all that aren't machine-readable or of no use for statistical analysis
- Further statistical data (such as # of registered users, # of configured user roles)
Thus, pretty much like Update module in Drupal core today, but way more and much more granular statistical information, with the purpose of actually answering questions (instead of a dumb popularity contest). Still 100% anonymous.
@sun hinted at that in http://drupal.org/project/debug years ago already (but never had time nor passion nor reason to implement it until today).
- Include this module in Portfolio, integrate it into the Drupal installer (like Update module in core), and enable it by default.
Note: You can still uncheck the checkbox and your Portfolio site does not participate at all.
- Fully disclose what the checkbox means (in the installer as well as the runtime site configuration option later on).
(Note that @sun participated in most discussions around similar proposals and knows ~90% of the privacy and security concerns as well as technical networking issues that have been raised so far.)