While every project has different needs, I am finding that database-based CMS platforms such as WordPress are often too complex/feature-laden for the needs of individual educators/publishers. In contrast, flat-file CMS platforms offer more simplicity and control. Here are some of the key reasons I am now focusing on using modern flat-file CMSs for my development work (especially when implementing a flipped LMS approach):

  • Modern
    • Modern PHP code (i.e. reliability, speed, extensibility, etc.)
    • Use of current standards (i.e. Markdown, Twig, YAML, etc.)
    • Modular/customizable content chunks (i.e. reuse of content)
    • Further separation of content (i.e. files) from presentation
  • Flat-file
    • No database means less (or no) IT involvement needed
    • Content stored in text files rather than in a database (often translating into faster page access times)
    • Takes full advantage of the collaborative ecosystem now available (i.e. GitHub)
    • Increased portability, as moving a site now only requires simply copying files to another location
    • All template and content files are 100% version controllable

So, what is my favorite modern flat-file CMS right now? Without a doubt the rising star in this space to me is Grav, which is actually more of a web-platform than a traditional CMS. After trying out a number of flat-file CMSs, including Kirby and Statamic, I found Grav has a perfect mix of flexibility and ease of use for web-savvy educators. In addition, Grav is backed up with solid documentation and community support.

In a recent discussion the question of how a traditional LMS implementation compares to a flipped LMS was asked. Here are my initial thoughts so far, based on my experiences with several institutional LMSs and using the flat-file CMS Grav in a flipped-LMS approach:

Traditional LMS Implementation       Flipped-LMS Approach
Institutional Control Instructor & Student Control
Closed Open
Fixed Pliable
Solitary Collaborative
Stationary Portable

So, why would course facilitators want to utilize a flipped-LMS approach?

Here are three primary reasons that come to mind:

  • To support pedagogical goals unmet by current LMS/platform
  • To increase capability of access, sharing and collaboration
  • To deliver a better student (and facilitator) experience

One of the (many) great things about using the open source CMS Grav for a flipped-LMS approach is that no database is required, which makes running a local copy of Grav on your computer for testing purposes a very straightforward process. This also makes deployment to a Web server a breeze - just a simple folder copy.

In this brief article we will look at how to use MAMP, a tool to safely run a PHP server on your computer, to view Grav sites locally on your Mac or Windows PC.

Step-by-step Instructions

  1. If you do not have an existing Grav site on your computer, download a Grav Skeleton at (https://getgrav.org/downloads/skeletons) and extract the downloaded archive file

  2. Create a folder called ‘MAMP Websites’ in your ‘Documents’ folder

  3. Copy the entire Grav folder into your ‘MAMP Websites’ folder

  4. Launch MAMP (but do not press the ‘Start Servers’ button yet)

  5. Press the MAMP ‘Preferences’ button

    MAMP startup Screen
    Figure 1. MAMP startup screen where the ‘Preferences’ button is located.

  6. Press the ‘Web Server’ tab in the ‘Preferences’ dialog

    MAMP preferences dialog
    Figure 2. MAMP preferences dialog, with the ‘Web Server’ tab on the far top-right.

  7. Change the ‘Document Root’ MAMP preferences setting from the default value ‘htdocs’ within the MAMP application folder to the ‘MAMP Websites’ folder that you previously created within ‘Documents’ by pressing the select folder button (a folder containing three dots), choosing the folder, and then pressing the ‘OK’ button

    MAMP Web server tab
    Figure 3. MAMP Web server tab, with the select folder button represented by a folder containing three dots.

  8. Press the MAMP ‘Start Servers’ button (as shown in Figure 1)

With MAMP installed and running you can now view your Grav site(s) locally. Launch your Web Browser, enter the URL http://localhost:8888 and then choose the displayed Grav folder name. That’s it! If you downloaded a Grav Skeleton with the Admin Panel pre-installed you will be prompted to create your administrator account.

Additional MAMP Setup Options

If you would prefer, you only need to enter ‘http://localhost’ in your Web Browser to access your MAMP htdocs directory listing, then do the following:

  1. Launch the MAMP application - if MAMP is already running, press the ‘Stop Servers’ button

  2. Press the MAMP ‘Preferences’ button (see Figure 1)

  3. Press the ‘Ports’ tab in the ‘Preferences’ dialog

    MAMP ports panel tab
    Figure 4. MAMP ports panel tab.

  4. Change the value in the ‘Appache Port’ field from the default value ‘8888’ to ‘80’ (no quotes)

  5. Press the ‘OK’ button

If you are curious about how a local copy of Grav can be used with GitHub/GitHub Desktop for super-easy deployments while fully supporting student collaboration, check out the article Using Grav with GitHub Desktop (and Deploy).

But first, what does the term ‘flat-file CMS’ mean? In a nutshell, content is stored as individual text files rather than in a database.

They’re Not Learners, They’re People (via technkl.com)

They’re not learners, they’re people

While I’ve been using the term learner experience (LX) design myself for several years, I am finding it more and more problematic.

Too often people think of learner experience design separate from, or a subset of, user experience design, but this is misleading and certainly not what I have found the situation to be. Learner experience design also assumes the audience in question are just learners, which is not the case either (they are people with goals to accomplish).

So what’s an alternative? Perhaps “experience design for [domain]”. From my perspective it’s all about embedding the full-stack of UX into any domain in partnership with all the other essential aspects (skills, knowledge, challenges, etc.) of that particular domain.

UPDATE: Another alternative that comes to mind is “design for [domain] and experience” as this places the elements of the domain (i.e. learning in this case) and experience close together and on equal footing. It also once again avoids assuming that the audience in question are just learners.

Key learner experience design goals:

  • Engaging
  • Convenient
  • Organized
  • Relevant
  • Enjoyable

Key facilitator experience design goals (likely to supercede my earlier set of Desired Qualities of a Flipped-LMS):

  • Controllable (i.e. manageable)
  • Collaborative
  • Pliable (i.e. flexible)
  • Convenient
  • Enjoyable