We are excited to present Plone Installer 6.0.4, developed by Cybrosys Technologies. This user-friendly tool streamlines the Plone installation process, making it easier than ever before. Our primary goal with this installer is to simplify the Plone installation process, making it accessible to users of all technical backgrounds.
This is great - its the 'wget installation' (as I call it) method.
I know more experienced programmers seem to like the docker installation method; however, I prefer this simply because Docker is another layer of abstraction for simple Plone sites.
More importantly, I've found that any problem with Plone (in my case, problems I created) need an understanding of Docker to troubleshoot.
Thanks for this method, I'll try it and let you know if I have any issues.
The name Plone-6.0.4-Unified-Installer suggests a similarity to Plone`s UnifiedInstaller. This might be misleading. I'd suggest to consider renaming it or at least put a disclaimer in the documentation.
It works only on apt-based Linux distros (i.e. debian/ubuntu and its derivatives) .
It uses tkinter which requires a Window Manager. The installer won't work in a system without Window Manager.
It installs python3.9 which might conflict with already installed python versions.
It installs Plone Classic UI. This should be explicitly mentioned in the documentation (not only in the screenshots).
It installs Plone with buildout instead of pip.
Although it is a Plone Classic UI installation it installs the package Plone which has the package plone.volto in its install_requires. The package plone.volto is also defined in the buildout.cfg which is redundant. The package plone.volto is not necessary for Plone Classic UI and it might produce conflicts with some Dexterity types.
The current git-version only publishes the source of the main python file Plone-6.0.4-Unified-Installer.py. It is not clear what is in the executable Plone-6.0.4-Unified-Installer. This is relevant since this installer asks the user's sudo-password. BTW: asking the user's sudo-password would be unnecessary if the installer were called as sudo Plone-6.0.4-Unified-Installer.
Under the tk-hood this installer does basically the following:
It creates a buildout.cfg file
It apt-get installs the packages build-essential, python-dev-is-python3, libjpeg-dev, libxslt-dev, python3.9, and python3.9-venv
Thank you for your valuable feedback on the Plone-6.0.4-Unified-Installer. We appreciate your suggestions and have taken them into account. We have made some updates to address the issues you raised:
Name and Documentation: We understand your concern about the name. To avoid confusion, we have decided to rename the installer, and we will ensure that the documentation clearly states the purpose and limitations of the installer.
Supported Platforms: We have made changes to the documentation to explicitly state that the installer currently supports only apt-based Linux distributions, such as Debian and Ubuntu, and their derivatives.
Dependency on a Window Manager: We have included it in the documentation to clarify that the installer requires a Window Manager to function properly. This will help users who may encounter issues on systems without a Window Manager.
Python Version Conflict: We have reviewed the installation process Plone 6.0.4 Supports "Python 3.8, 3.9, 3.10, 3.11." to handle potential conflicts with existing Python versions on the system.
Plone Classic UI: Your feedback regarding the installation of Plone Classic UI has been noted. We have updated the documentation to clearly mention that the installer installs Plone with the Classic UI by default.
Redundant Package: We have removed the package "plone.volto" from the "install_requires" list, as it is not necessary for the Plone Classic UI, but the plone.volto package will be installed by default as the default frontend of Plone is Volto .
Transparency of the Installer: We understand your concern about the lack of transparency regarding the executable file. Moving forward, we have included the complete source code and executable are published in the repository. This will provide clarity to users regarding the actions performed by the installer, including the need for administrative privileges.
We would like to emphasize that the purpose of the Plone-6.0.4-Unified-Installer is to simplify the installation process for users who may not be technically proficient. By automating the installation steps, we aim to provide a smoother experience for newcomers to Plone. However, we also understand the importance of providing flexibility and transparency to more experienced users, and we are actively working on providing alternative installation options.
Thank you once again for your feedback. Your input has been invaluable in helping us improve the installer and its documentation..
@Cybrosystech: Thank you for considering my comments and suggestions.
I'd like to add some comments to point 6:
The words "default" and "frontend" have become kind of plastic words in the Plone community. Due to their elastic semantics both words need some explanation when used.
In Plone's marketing jargon the words "default" and "frontend" are mostly used to promote Volto as the preferred "frontend" of a specific type of Plone stack. The precariety of this semantics becomes tangible when trying to explain things like "The Classic UI is an alternative frontend which is installed by default when you install the Plone backend" and "Even in Volto scenarios we have per default the Classic UI frontend installed in the backend." Actually both "frontends" (Classic UI and Volto) are installed per "default" in Volto scenarios (not to be confused with sites).
Fortunately the technical jargon uses a terminology with specific semantics:
plone.volto is a Python package that configures Plone to work with volto.
volto is a ReactJS package.
plone.volto is not a requirement for a Plone Classic UI scenario.
The plone.volto package is installed because it is declared in the install_requires in the [options] section of the setup.cfg file of the package Plone (see setup.cfg).
Removing plone.volto from the eggs in the [instance] section of your debug.cfg won't avoid its installation because plone.volto is declared in the install_requires in the [options] section of the setup.cfg file of the package Plone.
For a Plone Classic UI installation following packages (instead of the package Plone) could be declared in the eggs in the [instance] section of your debug.cfg (see this comment):