plone / ploneorg.core

Core policy package of the plone.org site project.
http://plone.org
Other
7 stars 14 forks source link

Improve info about different downloads #208

Open svx opened 7 years ago

svx commented 7 years ago

We should improve our release download page for example: https://plone.org/download/releases/5.0.6

IMHO this is currently a bit confusing and not providing enough info for new people.

installer_downloads

Further, if you browse to: https://github.com/plone/simple-plone-buildout/tree/5.0.6

Here, the instructions are missing to tell you how to install dependencies and they are not conform with the installation docs we have on docs.plone.org, this could be kind of confusing for user.

Wording, this buildout and its howto is not that clear, because important info is missing and with using a phrase like It's just a Zope Script (Python) thing. It make things even more complicated.

Going even further, there is no link at all to our official docs or is this repo following our official styleguide.

Things to do [IMHO]:

tkimnguyen commented 7 years ago

I am going to update https://plone.org/download first.

tkimnguyen commented 7 years ago

The Gdoc we have been using for discussion/ideas is at https://docs.google.com/document/d/1eImny6g-VfWw2duzPk32mHi9cI2NjOurQSuiLqujeaU/edit#

djay commented 7 years ago

On 19 Mar 2017, at 11:43 pm, T. Kim Nguyen notifications@github.com wrote:

• De-emphasize “downloading”: we want to stop steering everyone right away to downloading an installer if they want to "try" a demo site (Ie. no installation required! no server required!) or they want to try their own test site (Heroku button), or they want to play with containers or ready-to-deploy images (Amazon, Bitnami).

+1

I also think we should start to emphasise docker over vagrant since docker solutions can be easily deployed but vagrant is only for testing locally.

tkimnguyen commented 7 years ago

I have used Vagrant for local development too. I would appreciate help getting wording on Docker instructions. Maybe add to the Gdoc, @djay ?

svx commented 7 years ago

@tkimnguyen the docs for docker are not finished yet, we have various open tickets for the docker docs, as soon as I have a bit more time, I will finish the docs and include them into docs.plone.org see https://github.com/plone/documentation/issues/524.

Please, please wait before for write up something about docker, first we need to finish the docs about plone docker itself.

tkimnguyen commented 7 years ago

ok - I have enough other stuff to work on urgently :)

djay commented 7 years ago

On 20 Mar 2017, at 9:30 pm, T. Kim Nguyen notifications@github.com wrote:

I have used Vagrant for local development too. I would appreciate help getting wording on Docker instructions. Maybe add to the Gdoc, @djay ?

For those that haven’t tried plone with docker. Here are the instructions

Install docker https://docs.docker.com/engine/getstarted/step_one/ (mac, linux, windows)

Then

$ docker run -p 8080:8080 plone fg

Unable to find image 'plone:latest' locally latest: Pulling from library/plone 693502eb7dfb: Pull complete 764f950e5832: Pull complete 690360b5f953: Pull complete 321a15361477: Pull complete 8b7c1a0d715b: Pull complete 1a8995b49e46: Pull complete Digest: sha256:6918f1f4b97bf4a7fb78421ae1c8e76d428635d33947d49904de2d48ae2396ac Status: Downloaded newer image for plone:latest 2017-03-21 07:48:06 INFO ZServer HTTP server started at Tue Mar 21 07:48:06 2017 Hostname: 0.0.0.0 Port: 8080 2017-03-21 07:48:10 INFO ZODB.blob (10) Blob directory /data/blobstorage is unused and has no layout marker set. Selected bushy layout. 2017-03-21 07:48:10 INFO ZODB.blob (10) Blob temporary directory '/data/blobstorage/tmp' does not exist. Created new directory. 2017-03-21 07:48:10 WARNING ZODB.blob (10) Blob dir /data/blobstorage/ has insecure mode setting 2017-03-21 07:48:17 INFO Plone OpenID system packages not installed, OpenID support not available 2017-03-21 07:48:20 INFO Zope Ready to handle requests

Thats it.

Want to try some plugins. Also one command

$ docker run -p 8080:8080 -e ADDONS=Products.PloneFormGen plone fg

To deploy

$ docker-machine create —driver amazonec2 —amazonec2-region ap-southeast-1 plonehost $ docker docker-machine config plonehost run -p 8080:80 -e ADDONS=Products.PloneFormGen plone

Ok, that last step is probably not a good idea because the database will not be stored in a data volume so its easy to lose the changes and you’d probably want to start using compose file to make it easier to have many instances and zeo etc. But you get the idea. That creates a new host and installs and runs plone on it. Try it.

But the point is, it’s cross platform and super easy and less error prone and provides a well documented path to deployment.

Can we retire some of the other recommended ways of trying/deploying plone and replace them with docker?

svx commented 7 years ago

@djay I am really sorry but with this instructions you are going to open pandora's box.

I truly hope that you are not doing that kind of docker hosting in RL !

Your instructions may 'enough' for playing around in a local test box, for that, sure there are OK.

Yes, I know that is more or less the way Docker Inc 'sells' it, like typical devops stuff, but this does not mean that it is OK.

Advertising it like that for production is IMHO wrong and dangerous !

svx commented 7 years ago

@tkimnguyen thanks for working on that !

I do have one note :)

Please do not forget, sometimes less is more ! :)

What I am trying to say is, we should consider carefully how many options we want to mention. Sure it is nice to have this huge variation of different way, but this also brings certain risks:

I am mentioned this because this could lead to misunderstandings or other stuff if people ask for help. Most of us do not know the bitnami plone stack that well.

Also with mention all of these options we take on a huge burden with maintaining and so on.

Please, do not get me wrong I am not saying we should 'just' mention one way or so, I 'just' want o make sure that we carefully consider all pros and cons first.

Point for me is, sometimes we tend to forget or underestimate that some things which for us are 'easy' are not 'that easy' if you are completely new to something. Even making a decision, which installer to use, can be a quite challenging task ! :)

As I said I am really thankful that you are working on that ! It is not my intention to dis-motivate you !

tkimnguyen commented 7 years ago

Thank you both, @djay and @svx!

I think we can definitely find a good home for those Docker instructions and refine them. Once you are both in agreement we can get them linked from plone.org/download.

I agree that we need to be careful not to overwhelm new people, hence the guidance (not just a "here's a bunch of methods" list).

I absolutely understand the burden of maintaining more stuff.

djay commented 7 years ago

@svx sorry it wasn't meant as copy for plone.org. I did mention that is not a recommended way to deploy. Given the speed of changes to how to deploy docker I'd probably not recommend one except perhaps to give a sample compose file. However thats not for a download page. I do think its simplest way to try locally, and it's possible it should be recommend over ansible for production deployments. I'm not sure ansible should be mentioned on the download page either.

It would be nice to have a recommended deployment method that is super simple however. The equivalent of heroku git push or ftp to a lamp stack. We still leave it largely to the reader to work out how to get their local code onto a server.

svx commented 7 years ago

@djay yeah I am with you on that ! Our ansible kit is nice, but IMHO it is not for the download page.

For docker we maybe could say something in the lines like, if you use already docker and you want to try plone locally, here is [link to plone docker docs], but for using plone with docker in production you should know docker, hosting, blablabla, you should know what you are doing.

In the plone docker docs, we have for example a compose example.

IMHO deployments methods are tricky, too. There are too many different factors. I do think the ansible kit is a good start because of various reasons:

I am not saying all what we have in the kit is perfect, and for sure if you do your own hosting you may have a different setup in terms of configuration and in terms of deployment, meaning maybe use salt, puppet, the amazon thing, but still it gives you are good starting point.

Taking about 'easy' deployments, is IMHO tricky too :)

Also how far we want to take this ?

I for example use docker,rkt with CoreOS, Kubernetes, DC/OS and for one project we deploy/maintain plone packaged as debian and alpine packages, but this is far out of the scope for most people [packaging part at least].

This is going deep into knowledge about how your OS of choice works and how you do proper packaging, meaning not the fpm way.

But yeah, you are right, would be nice to think about something a bit more approachable or mainstream for sure since we also have 'devops' these days.

And even if I personally thing there is not such thing, there are still a huge market share ! :)