Pro Modules
ClassWant to offer a class to your members? There are many ways to run a class, and multiple tools you can include, and the accelerator platform can support that kind of flexibility. However, our basic course building platform allows you to enroll people in a short class, with one reading each day--usually with an accompanying email announcement that the reading is ready.
As usual, you can modify any of our existing components or add different ones. Here are the basics of building a class:
Lets say you want to create a class on Basket Weaving. We'll give it a class name of "bw". To make this class work, you need several components.
1) First you need an offer.bw page, with the offer type set to class.
2) Second you need a drip.bw series, as outlined in the mailer module. Typically you send out one message a day, announcing a new reading is available.
3) Third you need a class.bw page which is your basic introduction to the class. Keep the welcome short at the top and then put this code at the bottom of the page:
<(include code.class.daily)>
This creates the main class content for the page.
4) Fourth, create your readings. They should be found at class.bw.day.1, class.bw.day.2, etc.
5) Five, create a self grading final exam. Go to code.class.final and COPY it to class.bw.final. Basically, that's a template for your exam. Change the questions and answers, add or remove questions, and adjust the point value assigned to each question, and make sure it equals 100.
If you take these five steps you should see your class spring to life with all the basic functionality it needs to start running on it's own.
Customizing Classes
There are several optional things you can change.If you want a different side menu, you can COPY class.side to class.bw.side and then change the menu. The current menu includes links to the following, but you can change as desired.
Getting Started
Class Readings
Recent Comments
Student Activity
Final Exam
These pages are all generated using special code.class pages, which you can edit like any other page. If you want to change the getting started page, simple edit code.class.start, and those changes will show up in all your classes immediately. If you only want to change it for this one class, copy that page to class.bw.start, and students will see your changes for that class only. It works the same for all the other pages.
You can also add new code.class pages to create additional components, and they will instantly become available to all your students. Let's say you wanted to create a forum area for each class. You could easily create a code.class.forum page and design the code for it. Or if you only wanted it for one class, you could save it at class.bw.forum.
If you do save it as a code.class page, you can add it to any class by simply adding it to the side menu for that class. If you want to add it to all classes, you can add it to class.side, and then any class using the standard side menu will get upgraded automatically. Powerful.
And actually, you can create entirely different types of classes. Let's say you wanted to have a weekly video class. You simply create your code.class.video component, and then instead of including code.class.readings into your main welcome page, you would include code.class.video.
You could just write it directly in your video class welcome page, but the advantage to doing it as a component, is that you can then instantly create additional video classes using that same component.
Classes can be a bit complicated, because there are so many moving pieces, but you can start with a basic class, and then experiment--tweaking existing components and adding new features in a pilot classes. And then when you get those components working how you want, you can add them to other classes, or even roll them out to all your classes.
It's all up to you!
The Class Plugin
On the accelerator class system, all class enrollments and progress information is stored on a master info.classes page, and graduations are recorded on class.name.grads.To make accessing and managing class data easier, and less error prone, we've created a special class plugin to give helpful shortcuts to various processes. Here's a brief overview of how it all works.
Class Conditional
[if class grad] | Tells whether or not the current student is a graduate. Admins automatically get grad status to check class content. |
[if class done 3] | Tells whether reading 3 is marked completed. |
[if class days 5] | Tells if enrolled more than 5 days ago. This can grants access to day 5 material. Or can be used to set a time limit on class completion. |
[if class weeks 5] | Tells if enrolled more than 5 weeks ago. Useful for classes with weekly material. |
[if class active 3] | Tells if they have been active in the last three days. This is reset when they post a comment or mark a reading done. |
Class Function
[(class key)] | Returns key to enrollment data on info.classes. |
[(class day)] | Tells how many days since they enrolled. |
[(class week)] | Tells how many weeks since they enrolled. |
[(class done)] | Returns a list of completed readings. |
[(class list)] | Give a list of current class enrollments. |
[(class start)] | Tells how many days since they enrolled. |
[(class active)] | Tells how many days since they were active. |
Class Command
[command class enroll] | Enrolls the student in a class. |
[command class done 3] | Marks day 3 as completed. |
[command class grad] | Marks the student as a graduate. |
[command class cancel] | Cancels a student's enrollment in a class. |
Note you can give an optional id or class parameter for any of these conditions, functions, or commands. However, setting it to another id or class will only work in the command modes if you have admin status.
If you have additional features you would like to see add to this, please let me know and we can develop this module further together.