2. Before the training: Create material, invite trainees, preparation#
This chapter is a first version.
Who do you want to give a training to#
Before any training it's a good idea to think about who the stakeholders are for the training. If a Plone user asks you about a training and they want to learn themselves, they are the main stakeholder and you can tailor to their needs. When they're content, you are.
But if the training is part of building a new Plone site for a large organisation and part of the offer was end user training, the manager of the website presence is an important stake holder as well. You cannot depend on the students that they know what they want to learn, or even that they are motivated to learn anything.
For marketing your training it's vital to describe learning goals. What will a student be able to do independently after following your training (tasks). The manager of a larger organisation will use this to select and value your training.
And even if a webmaster or staring developer will contact you to ask for a training, there's probably a manager behind this person that has to agree with the training.
What information do you need to provide to prospects so that they can evaluate your training offer?
The basic What, Where, When.
What are the subjects of your training.
The learning goals. Describe what will a student be able to do after following your training.
Required knowledge. Which skills does a student need before they can participate in your training
Required materials. Do they need a laptop for this training? Does it need admin permissions to install extra software, change the network configuration, have a minimum amount of RAM.
Show it all or practice the basics#
With 'end user' or 'webmaster' kind of trainings there are distinct modes of training you can do. To write it down black/white
Show as much of Plone as you can, so that the students get a good overview of all the options and possibilities.
Define a core set of learning goals and tasks that your students should be able to perform at the end of the training day and teach and practice those hands-on as much as you can.
Probably you will do something in between to provide a good mix between theory, explaining, examples and exercises. But discuss this with the client (manager) who has asked for the training or if your students are allowed to decide this, ask it before or at the beginning of the training. When you are teaching a content editor that has to work with Plone next week, practice and stick to the basics. If you have a few webmaster that has some say in how the site will develop in the next years, show more features, options and tricks. (And have some material with references ready after the training that they can look back to.)
Group size, number of trainers#
Depending on how you organise your training material subjects and agenda you can stick with one trainer for a group or you might need multiple trainers during the day.
With more than 4-5 people and more difficult subjects you'll probably have to shift to 'classroom' mode: set up a agenda, and stick to it. This is still doable with 1 trainer for 10-20 people, but when the level of individual students varies a lot and you also have and need to do exercises, you'll get stuck with only one trainer.
Having two trainers is great for educating a second trainer, to monitor the room during a training, silently help students that have questions while the main trainer can continue discussing a subject. Unfortunately it's not always economically viable for smaller groups to have more than one trainer per group.
If you've mastered your training material and know what's in there, giving a training to 2-3 people can be great because you have the option to personalise the training to their needs. But you'll really need to know the subjects.
Contact your students before the training#
If you are going to teach a smaller group, try to get the contact details of your students and call them a few weeks in advance of the training. Introduce yourself, ask why they are going to follow the training, what their experience is and what they'd like to get out of the training. This doesn't need to take more than 5 minutes and it:
Will make you a lot less nervous about who you are going to meet.
You can identify beforehand if a student will be overqualified for the training and might not learn that much new skills during the training.
It's vital to identify those students and move them to another training or let them skip it. Bored students are a jammer during a training, are in most cases unhappy about your training because they haven't learnt anything new, will start to ask 'advanced questions' that are out of scope and distract other students.
And the reverse: verify that a student meets the minimum required skill for your training. If you don't want to teach HTML two hours before you can explain Zope Page Templates, that's a big win. If you have multiple of these students, discuss what to do with the client: adjust the training, plan a 'beginners' training before this training...
Ask them what they want to learn during the training, or better: ask which problems they currently have while working with Plone. If you know those before hand you can answer those questions during the training and you will have very happy students.
Re-use and improve the material that is already available#
You are already reading this text so you have found the training material online created by Plone trainers. Re-use as much as you can, give the training and improve the material.
One of the most difficult things in providing a training is creating the training material, one of the biggest helps when giving a training is having good training material.
Creating a (new) training will cost a lot of time and it's almost unfeasable to give trainings for a living or earn enough money with trainings if you have to rewrite every training every single time you have to give it. One of the big obstacles in finding and having more Plone trainers world wide is the availability of current and up to date material.
The idea of sharing the Plone training material world wide is that you can focus on finding students and preparing and giving a training in a sustainable way and that we share the burden of keeping the training material up to date.
Verify the training location and facilities#
If you organise your own training location you have control over most variables. If the trainings takes place 'on premise' at customer, there are some extra things to watch out for.
The most hideous one is when you verify beforehand that there is an internet connection and you find out on the training day it's heaviliy firewalled and you cannot download any package from PyPI. Good luck!
Plenty of power outlets.
Networking equipment and enough bandwidth.
Have some drinks and snacks ready for the short breaks.
Have a location where people can walk during a break and in general refresh their minds.
A beamer/projector set up in a room that you don't have to darken too much to see anything.
Depending on how you teach and which materials you have, it can be great to have two beamers and laptops: on one beamer you can present the agenda, schedule, excercices or training material. And the other laptop/beamer can be dedicated to showing hands-on demo's of editing content, developing, running, whatever.
Why: It can be quite confusing for student to follow you if you command/alt-tab through windows every 3 seconds and the sentence they were just reading from the training material disappears from view again. It provides extra context.
Depending on the kind of training you give it can be wise to verify the capabilities of the laptops that students have to bring with them to the training if it is for example a developer oriented training.
We've experimented with virtual machines set-ups in the past at PloneConf trainings and there is a lot of development in this area with complete online environments to teach, but in general: verifiy that students have access on their laptops to install stuff admin permissions, if you're going the virtual machine route check that their laptops are capable of running virtual machines. Minimum amount or RAM, etc. etc.
Prepare for the worst#
If you want to be absolutely sure that you can give a training anywhere/anytime, prepare for the worst:
No internet connection. Set up a local pypi mirror for a developer training where you have all the packages available. Bring material with you to set up a local network with an extra Plone server configured and ready if you're doing an end user/webmaster/integrator kind of training.
Prepare virtual machine images beforehand that people can use.
Bring some extra power outlets and cabling and a wifi router/base station.
Have at least some outlines of your training material with you printed.
Have a backup laptop/machine/NUC if you can afford it.