Best practices: Eight steps for creating Flexpage courses from scratch

As I mentioned in one of my previous posts the Flexpage course format is one of my favorite features inside Moodle™/Joule. This course format goes beyond changing the look and feel of a course; it gives teachers the opportunity to build unique course designs that enhance the user experience of their audience. Flexpage offers teachers complete control over how they present course materials and assessments to students. It allows for the creation of flexpages and sub flexpages where menus blocks resources and activities may be placed in any location rather than being restricted to specific areas.

Often when I talk to teachers who use Flexpage they ask me for tips on how to develop a Flexpage course. So in today’s post I will highlight eight steps to ease your course building experience when creating Flexpage courses from scratch.

1. Map the structure of your course – This is a best practice recommended for any type of course format in Moodle™; it becomes even more important when working with Flexpage as the format allows for the creation of a hierarchal structure. Before building the course in Moodle™ map the structure of the course and outline parent flexpages their children and the activities/resources that belong to each flexpage. This outline will serve as a reference during the course building process as you navigate through numerous flexpages to create resources and activities.

2. Update default flexpage settings - Update the name the display and the navigation settings of the default page which is the first flexpage of your course. As you are selecting these settings keep in mind you will use the default flexpage as a template to create new flexpages.

3. Create a main menu - If your course is going to have a main menu create it first before adding any other flexpage to your course. Don’t worry about having an empty menu; what matters at this moment is to place the menu in the position that you want it to be for all flexpages of the course.

4. Prepare the default page to serve as a template – As mentioned on step 2 the default page of your course should serve a template to create new flexpages. Select the appropriate settings and add all blocks activities resources and menus in their respective positions. On this page place the basic elements needed for each flexpage; because if you miss an element it will have to be added or forced to appear in future flexpages or if you add too many they must be manually removed later.

5. Create the parent flexpage – Create all top-level flexpages in your course in chronological order to avoid having to move their position later. Make sure to copy the default flexpage (your template) otherwise you will need to place the objects again.

6. Create the children flexpages – Repeat the same procedure as in step 5 to create the children. Ensure that they are placed in the correct position by selecting the new flexpage to be a child of one of the parent flexpages already created.

7. Update the main menu - Once all the flexpages are created edit the menu and add the navigation links to access the flexpages. Include all parent flexpages and their children in the order in which you want them to appear in the menu.

8. Create/load content on each page - Now that the course structure is ready go back to each flexpage in the course and add the blocks resources and activities that belong to each one of them. This is going to be the most time-consuming part of course building but since you have the structure of the course ready it’s only a matter of following your outline and placing content as you already planned.

Flexpage is a course format developed by Open LMS and it has been released for the entire Moodle™ community as an additional plug-in. If you do not have the format available on your Joule site contact your site administrators and ask them to talk to one of our sales associates. To learn about the details on building with this course format register for the Flexpage 2 webinar.


~Marcelo Mendes



Discover our solutions