Skip to main content
Ctrl+K
⚠️ You are viewing the 2023 version of Plone Training. View the latest version. ⚠️

Plone Training 2023

Trainings

  • Mastering Plone 6 development
    • 1. About Mastering Plone development
    • 2. Introduction
    • 3. The Case Study
    • 4. What is Plone?
    • 5. Installation
    • 6. The Features of Plone
    • 7. Configuring and Customizing Plone "Through The Web"
    • 8. Extending Plone with add-on packages
    • 9. Extending Plone
    • 10. Content types I
    • 11. Content types II: Talk
    • 12. Content types: Reference
    • 13. Customizing Volto Components
    • 14. Volto View Component: A Default View for a "Talk"
    • 15. Develop
    • 16. Behaviors
    • 17. Creating a dynamic frontpage with Volto blocks
    • 18. Programming Plone
    • 19. Turning Talks into Events
    • 20. Vocabularies, Registry-Settings and Control Panels
    • 21. Custom Search
    • 22. Testing in Plone
    • 23. Using Third-Party Behaviors
    • 24. Content types III: Sponsors
    • 25. Upgrade-steps
    • 26. The Sponsors Component
    • 27. Using Volto add-ons
    • 28. Extending Volto with a custom add-on package
    • 29. Extending Volto With a FAQ Block Type
    • 30. Workflow, Roles and Permissions
    • 31. Relations
    • 32. Roundtrip [The voting story] frontend, backend, and REST
      • 32.1. Complex Behaviors [voting story]
      • 32.2. REST API endpoints [voting story]
      • 32.3. Volto Actions and Component State [voting story]
      • 32.4. Permissions [voting story]
    • 33. Releasing your code
    • 34. The code for the training
    • 35. Trainer: Preparation
  • Mastering Plone 5 development
    • 1. About Mastering Plone
    • 2. Introduction
    • 3. What is Plone?
    • 4. Installation & Setup
    • 5. Installing Plone for the Training
    • 6. The Case Study
    • 7. The Features of Plone
    • 8. The Anatomy of Plone
    • 9. What's New in Plone 5, 5.1 and Plone 5.2
    • 10. Configuring and Customizing Plone "Through The Web"
    • 11. Theming
    • 12. Extending Plone
    • 13. Extend Plone With Add-On Packages
    • 14. Dexterity I: "Through The Web"
    • 15. Buildout I
    • 16. Write Your Own Add-Ons to Customize Plone
    • 17. Return to Dexterity: Moving contenttypes into Code
    • 18. Views I
    • 19. Page Templates
    • 20. Customizing Existing Templates
    • 21. Views II: A Default View for "Talk"
    • 22. Views III: A Talk List
    • 23. Testing in Plone
    • 24. Behaviors
    • 25. Writing Viewlets
    • 26. Programming Plone
    • 27. IDEs and Editors
    • 28. Dexterity Types II: Growing Up
    • 29. Custom Search
    • 30. Turning Talks into Events
    • 31. User Generated Content
    • 32. Resources
    • 33. Using Third-Party Behaviors
    • 34. Dexterity Types III: Python
    • 35. Dexterity: Reference
    • 36. Relations
    • 37. Manage Settings with Registry, Control Panels and Vocabularies
    • 38. Creating a Dynamic Front Page
    • 39. Creating Reusable Packages
    • 40. More Complex Behaviors
    • 41. A Viewlet for the Votable Behavior
    • 42. Making Our Package Reusable
    • 43. Using starzel.votable_behavior in ploneconf.site
    • 44. Releasing Your Code
    • 45. Buildout II: Getting Ready for Deployment
    • 46. Plone REST API
    • 47. The Future of Plone
    • 48. Optional
    • 49. Using the code for the training
  • Volto Hands-On
    • Introduction
    • Quick Start
    • Project requirements
    • Theming
    • Header
    • Breadcrumbs
    • Footer
    • Edit config and site cleanup
    • Brief introduction to Volto blocks
    • Blocks - Slider Block
    • Configurable Release Block
    • Grid listing Variation
    • Plone Release content type
    • Internationalization
  • Volto Add-ons Development
    • Introduction
    • Volto add-ons development
    • Basic working block
    • Improve the block view
    • Block editing with a form
    • Customizable columns
    • Make the block extensible
    • Add-ons - advanced topics
    • Plone integration with Volto blocks
    • About
    • Developer integration with text editors
    • Really short primer on Javascript enhancements
  • Volto Customization for JavaScript Beginners
    • Introduction
    • Installation
    • Most useful volto settings
    • Volto Weather Block (custom block)
    • Customize Content-type Views and other Components
    • Extend volto blocks
    • Blocks schema and variations
    • Teaser block variations Schema
    • Enhance Teaser block with additional data
    • Usage of StyleWrapper(Styling Schemas) and StyleMenu
    • Extending Teasers per type
    • Create a simple listing block variation
  • Effective Volto
    • About Effective Volto
    • Getting Started
      • Bootstrapping a full Plone 6 project
      • Bootstrapping an Add-on
      • Developer roadmap
    • Architecture
      • Volto Client - Server duality
      • Razzle
      • Webpack
      • Babel
      • Webpack loaders
      • Bootstrap Volto
      • Inside Volto
      • Volto Blocks
      • Configuration Registry
      • Redux
      • CORS
      • Multilingual
    • Backend
      • Plone REST API endpoints
      • Writing an endpoint
      • Writing a serializer or a deserializer
      • Writing a content expansion endpoint
      • Writing a block transform
      • Block field contribute to searchableText
      • Link integrity for blocks
      • Writing Express middleware
    • Add-ons
      • What is a Volto add-on
      • Bootstrap an add-on
      • How does a Volto add-on work?
      • Add a third-party released Volto Add-on in your project
      • Configure an unreleased add-on from an existing repository
      • Volto views
      • Create a block using BlockDataForm
      • Blocks Layout
      • Block Extensions
      • Block Styling
      • Add-on dependencies
      • Add-on and project configuration pipeline
      • Create a theme add-on
      • Extending Semantic UI
      • Create a custom Listing block variation
      • Integrate with Volto’s asyncConnect for SSR
      • Add-on Internationalization
      • Extend Webpack setup from an add-on with razzle.extend.js
    • Testing
      • Acceptance testing
      • Jest
      • Unit testing
      • Storybook
      • Testing add-ons
    • Deployment
      • Recommended deployment schema (aka Seamless mode)
      • [DEPRECATED] Old (pre-seamless mode) deployment
      • Docker
      • release-it
    • Development tools
      • How to setup your development environment using environment variables
      • Environment variables
      • Icons
      • Husky and lint-staged
      • Shortcuts (name aliases)
      • Internationalization
      • Lazyloading components, injectLazyLibs for libraries
      • critical.css
      • Bundle analyzing
      • Component Registry
      • Linters
      • Debugging with Volto
      • VSCode extensions/helpers
      • vim and neovim integration
  • Testing Plone
    • Summary
    • Intro to tests
    • Some theory
    • How to test a Plone add-on
    • Testing setup
    • Unit tests
    • Testing a Dexterity content type
    • Testing a view
    • Acceptance testing
    • Robot tests
    • Continuous Integration
  • Plone 6 Classic UI Theming
    • Preparation for the theming training
    • TTW Customizations
    • Create a theme based on Barceloneta
    • Create a Theme from scratch
    • Create a theme based on Diazo
  • Plone Deployment
    • Introduction
    • Training Setup
    • Introduction to Plone Stack
    • Plone Docker Images
    • Create a new Project
    • Start the Project
    • Customize Your Project
    • Setting Up Your Plone Deployment Server
    • Deploying the Project
  • Plone Workflow
    • Introduction To Workflows
    • Basic Roles and Permissions
    • Local Roles
    • Dynamic Roles
    • Placeful Workflow
    • Multi-chain Workflows
    • Workflow Variables
    • Using GenericSetup to Manage Plone Workflows
  • Migration best practices
    • Migrating Plone
    • In-place migrations
    • Migrating with collective.exportimport
    • Migrate to Volto
    • Migrating from third party systems to Plone

Info

  • Glossary
  • Contributing to Plone Training
    • Building and Checking the Quality of Documentation
    • General Guide to Writing Documentation
    • Authors Guide
  • Teaching
    • 1. Training theory: education, how people learn and process information
    • 2. Before the training: Create material, invite trainees, preparation
    • 3. During training day(s): what to expect, do's and don'ts
    • 4. After the training: Aftercare, keep in touch, learn, improve
Deployment – Effective Volto
  • Repository
  • Suggest edit
  • Open issue
  • .md

Deployment

Deployment#

Deployment

  • Recommended deployment schema (aka Seamless mode)
    • Nginx example config for seamless mode deployments
    • Feature history
    • Challenges and goals
    • Features part of seamless mode
    • Advantages of the seamless mode
  • Requisites for using Seamless mode
  • [DEPRECATED] Old (pre-seamless mode) deployment
    • Reverse proxies
  • Docker
    • Simple example
    • Full with reverse proxy
    • Recommended setup
  • release-it
    • Basic configuration
    • Using it along with towncrier in add-ons

previous

Testing add-ons

next

Recommended deployment schema (aka Seamless mode)

By Plone Community

© Copyright The text and illustrations in this website are licensed by the Plone Foundation under a Creative Commons Attribution 4.0 International license.