You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It can be hard to find the right add-on for your requirements.
61
-
Here are some tips.
62
-
63
-
- Make a list of required features.
64
-
65
-
- Find candidates on PyPI, npm or GitHub:
66
-
67
-
- curated list of [backend add-ons](https://github.com/collective/awesome-plone/blob/main/README.md)
68
-
- curated list of [frontend add-ons](https://github.com/collective/awesome-volto#readme)
69
-
- Python packages on PyPI: <https://pypi.org/search/?c=Framework+%3A%3A+Plone>
70
-
- Plone add-ons on GitHub: <https://github.com/collective>
71
-
- Plone core packages on GitHub: <https://github.com/plone>
72
-
- Google (for example [Plone+Slider](http://www.google.com/?q=Plone+slider))
73
-
- JavaScript packages on npm: <https://www.npmjs.com/search?q=Volto>
74
-
75
-
- Once you have a shortlist, test these add-ons.
76
-
Here are the main issues you need to test before you install an add-on on a production site:
77
-
78
-
- Test all required features.
79
-
Read but do not trust the documentation.
80
-
- Check if the add-on runs on your required Plone and Python version.
81
-
- Check if it is currently maintained.
82
-
- Does it have i18n-support and is the user interface translated to your language?
83
-
- Does it uninstall cleanly?
84
-
A tough one.
85
-
See <https://lucafbb.blogspot.com/2013/05/how-to-make-your-plone-add-on-products.html> for the reason why.
86
-
- Check for unwanted dependencies.
87
-
88
-
- Once you found an add-on you like, you can ask the community if you made a good choice or if you missed something:
89
-
90
-
- Message Board: <https://community.plone.org>
91
-
- There is also a talk that discusses in depth how to find the right add-on: <https://www.youtube-nocookie.com/embed/Sc6NkqaSjqw?privacy_mode=1>
92
-
93
-
- Either extend an existing add-on to fit your needs or create a new add-on that does exactly what you need.
94
-
95
-
96
-
(add-ons-installing-label)=
97
-
98
-
## Installing Plone add-ons
99
-
100
-
We have two groups of add-ons: backend and frontend.
101
-
102
-
The training setup starts without any frontend add-on.
103
-
Later on we will add features via a frontend add-on.
104
-
See chapter {doc}`volto_addon` how to install a frontend add-on.
105
-
106
-
The training setup starts with one backend add-on `ploneconf.site`.
107
-
Let's see how it is installed.
108
-
109
-
110
-
### Making a backend add-on package available to Zope
111
-
112
-
First, we must make the add-on package available to Zope.
113
-
This means that Zope can import the code.
114
-
115
-
A backend add-on is a Python package.
116
-
Therefore we install it with pip.
117
-
118
-
Look at the {file}`requirements.txt` file.
119
-
You add a package to the configuration by adding a new line containing the package name.
120
-
121
-
If the add-on is not released on [PyPI](https://pypi.org/), we tell Zope where to find the package on `Github` or another repository platform by including the necessary information in {file}`mx.ini`.
In your browser, go to `Site Setup` at `http://localhost:3000/controlpanel`, and open the `Add-ons` Panel. You will see a list of available add-ons.
152
-
153
-
```{figure} _static/site_setup.png
154
-
:alt: Link to Site Setup
155
-
156
-
Link to Site Setup
157
-
```
158
-
159
-
Enable `ploneconf.site` now if you haven't done already.
160
-
161
-
This is what happens: The GenericSetup profile of the product gets loaded. This does things like:
162
-
163
-
- Registering new content types
164
-
- Registering behaviors
165
-
- Configuring new actions
166
-
- Create catalog indexes
167
-
168
-
All this is configured in the default GenericSetup profile, which can be found in `backend/sources/<package name>/src/<package name>/profiles/default`.
169
-
In the next chapters we will add here our content type `talk`, configure a catalog index, and some more.
170
-
171
-
172
-
173
-
(add-ons-summary-label)=
174
-
175
-
## Summary
176
-
177
-
We have seen in short how to extend a vanilla Plone website with third party add-ons to add new functionality.
178
-
Even if you do not use many of these, they are nonetheless an inspiration on how to implement features in Plone.
179
-
180
-
181
-
182
-
For frontend add-ons see chapter {ref}`volto-addon-label`
0 commit comments