Effective Volto#
Effective Volto is intended as a training to learn proven practices of Plone 6 Volto frontend development. It's both an online course and a sketch for an on-the-spot training.
The goal of this training is to provide a comprehensive overview of Volto to developers that still don’t have enough confidence to start a client project with Volto. Because of the huge amount of knowledge and variety of the content covered, it is less a "hands-on training" and more of a "show and tell". We present concepts, explain how things work and leave it to the participants to put all this in practice.
The training will cover essential concepts, as well as good practices and notions of how Volto works under the hood. Tips and tricks will be also covered, providing a good amount of insights for those who want to learn more beyond the Volto basics.
This training is intended for an intermediate audience that already has some contact with Volto and tried it out, or has a decent amount of experience with it. Even experienced Volto developers will find this training useful, as less known areas of Volto are exposed.
- About Effective Volto
- Getting Started
- Architecture
- Backend
- Add-ons
- 1. What is a Volto add-on
- 2. Bootstrap an add-on
- 3. How does a Volto add-on work?
- 4. Add a third-party released Volto Add-on in your project
- 5. Configure an unreleased add-on from an existing repository
- 6. Volto views
- 7. Create a block using
BlockDataForm
- 8. Blocks Layout
- 9. Block Extensions
- 10. Block Styling
- 11. Add-on dependencies
- 12. Add-on and project configuration pipeline
- 13. Create a theme add-on
- 14. Extending Semantic UI
- 15. Create a custom Listing block variation
- 16. Integrate with Volto’s asyncConnect for SSR
- 17. Add-on Internationalization
- 18. Extend Webpack setup from an add-on with
razzle.extend.js
- Testing
- Deployment
- Development tools
- 1. How to setup your development environment using environment variables
- 2. Environment variables
- 3. Icons
- 4. Husky and lint-staged
- 5. Shortcuts (name aliases)
- 6. Internationalization
- 7. Lazyloading components,
injectLazyLibs
for libraries - 8.
critical.css
- 9. Bundle analyzing
- 10. Component Registry
- 11. Linters
- 12. Debugging with Volto
- 13. VSCode extensions/helpers
- 14. vim and neovim integration
Please note that this document is not complete without the spoken word of a trainer.
We attempt to include the most important parts of what we teach in the training. But reading it here can not be considered equal to attending a training.