- This guide has assumed that VMs that are being authored are explicitly intended to be used in a lab stage. Nothing says this has to be the case. If you as a tutor will regularly use a specific suite of software across many courses, it makes sense for you to prepare a “foundation” VM that you will always use as your starting point.
Consider the example of a tutor who teaches several Java programming courses, e.g. “Introduction to Java Programming”, “Web Development in Java”, “Desktop Application Development in Java”. It would make sense for this tutor to take time right at the beginning and author a VM that includes his preferred IDE, a known-good version of the JDK, any common libraries he/she uses, etc. This foundation VM could then be cloned and used as the basis of stage 1 for labs for three Java courses. Ongoing stages of the labs would clone the previous stage’s VM as normal.
- When authoring VMs, the snapshot functions can be extremely useful. Clicking on Take snapshot will copy the current state of the VM; revert to snapshot will drop any changes made since the snapshot. Snapshotting regularly means if you make any mistakes during VM configuration that are difficult to unravel, you can simply revert to a previously known-good state.
- The documentation advises that one should create all the VMs, then all the lab stages, then the lab itself. This is the process that was followed in the example lab. However, when it comes to creating your own content it may not be practical to build the entire lab in a single sitting. However, at the very least you should follow the process for the first lab stage – so build the VM for lab stage 1, then build lab stage 1 itself and attach the VM, and then build the lab and insert lab stage 1 into it. This one-stage lab can then be published to your students, and you can subsequently go back and add additional VMs and lab stages as and when you desire. The important thing is that you should create at least one VM, then at least one lab stage before creating the lab.
- The prevailing assumption is that the completed state of (for example) stage 1 of a lab is also the starting point of stage 2. This may not always be the case, and in such cases, there is a field on the lab stage editing screen End point VM for this stage. This allows you to set an additional VM against the stage to represent an exemplar “completed state”. This is never seen by the student, but serves as a reference to you and other tutors as to the “correct answer” for the lab stage. You may well choose to use this as the basis of your clone when authoring the subsequent stage’s VM.
It is not mandatory, but good practice is always setting an end-point VM on the final stage of a lab, as there is no subsequent stage start point to serve as the “answer” to the lab stage.