We haven’t taken a final decision yet on wether to include GoogleAnalytics and SEO into the 2.0 standard distribution or not.
I think what’s clear is that we don’t make either package a dependency of Neos itself, but if the features are stable enough we should, in my opinion, ship them by default (as a constraint of the distribution) because they add value and are somewhat expected after what we communicated so far about 2.0.
Anything to discuss in this regard before we open a poll?
Could also be included in the demo package like the frontend login.
I’m still in favor of keeping the base distributions as slim as possible.
In the mid term we might have a solution that allows us to import/install optional packages during the setup. Until then I’d prefer different distributions - or to add the dependency to the demo site as Aske suggested.
We could also add them as suggest “dependencies” to the composer manifest.
That’s fine - maybe we can solve it by simply pointing to the Neos Demo Distribution when releasing a new version. That’s probably the dist everybody should start with anyway.
Didn’t even think about what @bwaidelich mentioned, we must avoid putting those dependencies in the composer.json of the distribution. It’s a very weak point of composer that we will run into problems with since we no control over it and thus every change is a manual change for existing installations. We’ve had to deal with that twice this year already, both times it’s a big hassle and we don’t have a good way to handle it.
I’m in favour of “suggested” dependency.
Problem with the analytics package: Not everyone wants it.
Problem with both packages: They add “lots” of stuff and we need documentation how to set it up according to the integrators needs.
For example in my current project, the customer has no clue what to do with Twitter Cards and Opengraph so I preferred disabling it to make things easier (but keep some other parts).
Suggested dependency please. Maybe demo site dependency, but not base distribution.
I think there is a misunderstand still what it means to add a dependency to the distribution.
The result I’d like to see is that if someone installs Neos for the first time, for trying it out (that’s probably the demo dist) sees these features. When she then decides to start with a distribution on her own, she will probably be surprised that the features she has just seen are not there anymore. We either accept that or make sure that the base distribution has some other important packages installed.
Now, if the Neos Base Distribution has certain dependencies by default, it hardly has any impact on your actual project, since the first step while setting up a new project is to decouple from the base distribution. So, getting rid of the Google Analytics package is a matter of removing it from your composer.json.
We need to deliberate about wether removing it from composer.json is more hassle than what (first-time) users are expecting.
That means the archive distributions will also contain it all the time. I am definitely not in favor.
If we decide to do that I am strongly in favor (even more than I am already) to provide a “pure” core distribution without demo site and seo and login and and and.
I think offering three distributions and communicate them on the webpage would be a good way.
A suggestion how we could labe them:
- Base Distribution
- Feature Distribution (+SEO, +Google Analytics, +SimpleSearch)
- Demo Distribution (Feature Distribution + Demo Site Package)
In this way, you don’t loose guys who want to have only the basic distributions, which I guess would mostly be chosen by skilled neos developers, and the neos rookies who are just doing their first steps and aren’t so much into composer and how to add/remove packages.
I think this wouldn’t harm anyone and everyone will get his preferred distribution.
This decision is also important for me to be precise in the documentation - tutorial.
I somehow see we’re trying to solve a problem with not finding available packages by adding them to the distribution instead of solving it with a package listing of official packages. I don’t really fear that someone will decide against the product based on there not being analytics and SEO when they install it themselves. The official demo will have it and that’s where most people who need to decide to use the product or not will try it out.
Also I disagree with @robert that it hardly has an impact on your projects, because there’s a high chance of dependency issues in the long run as I mentioned that simply cannot be solved without manual adjustments like we’ve seen multiple times this year.
We could release multiple distributions, but then again I think it’s better to solve it differently. E.g. by removing the demo site (and other packages) from the base distribution and having it installable as part of the setup process, like most other CMSs do. Therefore I’d suggest to not have multiple distributions.
TL;DR: put in demo site (either as suggestions or real dependencies) + avoid multiple distributions by removing demo site and make it installable during the setup
I like your idea of being able to install the packages on the fly within the setup process.
This would solve the issue and makes Neos even more intuitive to install.
If there is a good way to install those packages optionally during setup i would go for that solution.