neos / neos-development-collection

The unified repository containing the Neos core packages, used for Neos development.
https://www.neos.io/
GNU General Public License v3.0
260 stars 220 forks source link

META: FEATURE: provide DDEV template / project type to DDEV and their documentation #4412

Open creative-resort opened 11 months ago

creative-resort commented 11 months ago

From my experience of using Neos with DDEV, it's a wonderful match and even a great way of providing quick local installs for evaluating Neos, as well as for serious development. We could provide to DDEV developer Randy Fay a set of configuration files, that prepopulates a new DDEV project with everything necessary to spin up a running NEOS instance.

NEOS would then be listed along other systems in the documentation.

What needs to be prepared before approaching:

Randy can be reached via randy at randyfay.com in his Discord space: https://discord.gg/hCZFfAMc5k on Mastodon: https://fosstodon.org/@ddev Support page with more info: https://ddev.readthedocs.io/en/latest/users/support/

mhsdesign commented 11 months ago

As written here in slack: https://neos-project.slack.com/archives/C1PHKPFM1/p1669410437148589?thread_ts=1669388413.969349&cid=C1PHKPFM1 i started experimenting with a ddev + neos support ;)

There might be generally no big benefit for medium/advanced developers to gain, as using type: neos is mostly equal to using type: php with the usual few adjustments. Nevertheless it still might be worth pushing forward as we'd gain a place in ddev supported list and neos would feel more advertised.

Im currently working on to many other projects, but if anyone wants to take on my work at https://github.com/mhsdesign/ddev/tree/feature/neosFlow feel free to do so ;)

dlubitz commented 11 months ago

@mhsdesign I'd like to have a look into it. Do you have any idea, what's missing? As I see you prepared already a lot.

mhsdesign commented 11 months ago

Sadly not its 9 months old 😂 but i believe i have just developed against tests i think and didnt try it out for real.


i think we still need to discuss the naming of the command.

and i settled for neos-flow as project type name for now :zwinkern: (flow would be technically correct, but less expressive and neos would be quite expressive but not technically correct) as ddev command i would still like to use ddev flow and not ddev neos-flow though ... maybe an alias will suit us or one needs to build the flow command yourself (as done already by many).

Now i disagree. Using ddev neos is the right way imo.


also i think i left a todo there ;)


Also it doesnt work yet if neos distribution is not present yet in the directory, it should default to the git clone of the base dist, to make it usable for new projects (the git url should be optionally settable)


In the end, it should just do all the steps from https://docs.neos.io/guide/installation-development-setup/ddev-local-beach/all-platforms-using-ddev-and-docker so its easy for us to test.

dlubitz commented 11 months ago

I took over the approach of @mhsdesign and got a reasonable state: https://github.com/ddev/ddev/compare/master...dlubitz:ddev:feature/neosFlow

But there is chicken-egg-dilema (as we already discovered while writing ddev docs) which makes the setup process bit of weired.

This works if we do the ddev setup in following steps:

Actually it's just the last step, that is needed additionally with the integration. But at the end we have a Neos, which is not usable as the setup is just partially done yet. Which also breaks the current setup, doesn't recognize the existing db credentials and asks for them again.

TLDR: It seems not pretty useful to have this ddev integration as it doesn't work that smothly as expected. Moreover it hides some magic, which might be important to understand also for new starters (FlowContext, Confguration, ...). Maybe the guide in the DDEV docs could be useful, but that would be just a copy of our existing documentation.