Development eLearning Perspectives Portfolio Uncategorized

Pirongia Heritage newsletter

Newsletter Front Page

I have been fascinated with the Newsletter concept since, as a teenager, I used to cut stencils for our local Youth Hostel group and later University publications in Earth Science.

So I found it an interesting challenge and having recently joined a local Heritage group (for whom I put a database of PDF Newsletters online) immediately thought of one of theirs.

It’s quite a challenge since traditional Newsletters by their nature are text heavy and there is really no way around that.  I suppose that makes PDF an ideal way to distribute them but surely, I thought, there must be some feature of Storyline that makes the concept useful.

The first thing of course is the navigation, it’s nice to browse a Newsletter or sit reading it in the afternoon sunshine but sometimes you want just that one article to re-read.  So we add links from a contents page.  In this case I highlighted the feature articles and left the humdrum of committee and society notices to a single link.

I did try regular buttons but I felt they detracted from the general look and feel of the original so I made them text links.  Alternative stylings (eg colour could be used here as well).

I normally prefer to have my own navigation on Storylines rather than use the side menu as, often, that’s just a lot of screen real estate and sometimes I don’t want the user to have that much autonomy (especially with assessments).  However, in this case, I decided to leave the menu in there as the navigation text links may not be that obvious (even though I added the little animated arrow).  My (usually) elderly readership would likely appreciate that.

The next thing is the density of text and the text size.  Of course we have screen readers and on modern tablets and browsers we can adjust the font size if necessary.  However I felt that maybe text-to-speech was the way to go and so I added a button to each of the text blocks and created a pause/play effect.  I might have done more with the icon states but it works well using a toggle variable.

Finally using this format gave me the opportunity to add some further information about the Heritage Centre location and purpose and to explain some aspects of the Te Reo Māori name of our organisation.

I haven’t converted the entire newsletter but just wanted to show a proof of the concept.

You can view the original PDF version here:

Development eLearning Perspectives Portfolio

An Ethics Training Storyline

The challenge was a makeover of a piece of US government web-based training:

NOTE: This is not a complete course, just enough to give an idea.

This will give you a flavor of the original site:

With this kind of thing you do need to take into account the conservative nature of government departments, generally speaking, so we can’t go full crazy on such a topic (also it is a rather serious and even relevant topic in the current situation).

To start with I thought that a menu-based navigation system would be better and rather than the standard titles, perhaps some prompting questions for the user:

The orange bars change when the slide sequences have been visited.

I also thought some little videos might give it a more modern feel:

Video is part of the who is it for sequence.

Next I thought to ask the question about filing before the sequence on information about filing financial disclosure information. I feel this is a better approach pedagogically.

A simple drag and drop.

Of course I’m assuming we are preparing for a browser-based tablet or desktop use, if we wanted to go to a mobile phone we might do something else.

Development Personal

Moodle Development: getting started.


NOTE: This post first appeared in eLearning World last year: Since then Simple Lesson has been published in the Moodle Plugins database:
Moodle plugins directory: Simple lesson

Moodle Bites for Developers Level 1 starts February 1st 2019.

As a user, teacher and lecturer of programming languages from FORTRAN IV to Java I’ve long been interested in the topic of Moodle programming, but every time I have started I’ve hit some kind of wall:

  • Lack of (or outdated) documentation
  • Lack of detailed PHP knowledge
  • Lack of help and support
  • Difficulty in understanding the source code

Then in frustration I’ve given up.

This last year I published my first Moodle plugin to the database and I’m deep into my second.  I’m still not a fully-fledged developer but I do understand a lot more than before.  So much so that I’m helping to facilitate a MoodleBites course in the subject[1].


One of the things needed to bring about this change was motivation.  I’d been working with people who were developing Moodle courses making extensive use of the Lesson Activity in Moodle.  It’s not a bad activity but it does suffer one serious shortcoming – you cannot use questions from the question bank in a lesson.

I began to Google around and pretty soon discovered that this had occurred to people before and they had not been able to solve it yet, mostly through lack of time.  Being in my late 60’s time is not as much of a luxury as it used to be for me.


Stuart at HRDNZ knew that I was interested and offered me a place on Justin Hunt’s MoodleBites for Developers Level 1 course.   Justin is “the POODLL guy” – the smart Moodle Developer of that Swiss-army knife of Moodle improvements, especially good for language learning[2].

Although the course covers much of the basics of Moodle programming (by no means all) it also teaches the value of persistence – or should I say without persistence you will find it hard to complete.  This is not the nature of the course material or the skill of the facilitator, rather it is the nature of the challenge.


Persistence for me was, when faced with a challenge, not going first to the forums and getting the answer but working back and finding out where I had strayed from the path.  Experienced Moodle Developers have all sorts of tools at their disposal.  All I had was echo and var_dump.  Echo allows you to print things at your console (you can also log messages to your error log). Var_dump allows you to see the “guts” of an object and work out what you should be doing with it.

Armed with these simple tools I would go back over my code and figure it out for myself, resulting in those wonderful “ah hah” moments.  When you have those, by the way, don’t forget top put them in your Evernote or whatever you use for a log.

I’ve sometimes puzzled for days over some piece of code and this has led to a broader and deeper understanding of Moodle structure and coding norms.  Even some of the documentation at Moodle org started to make sense.


There is, of course, an endless amount of knowledge already on the internet about Moodle, PHP, JavaScript and other technologies.  So much in fact that you sometimes have to be pretty skilled to find the missing piece you are looking for.

Obvious sites are:

  • The Moodle General Developer forum[3]
  • Stack Overflow[4]
  • The Developer documentation[5]

Less obvious routes include looking at GitHub for Moodle HQ and other developer’s accounts and studying the code of any plugin somewhat similar to the one you are trying to build. 

The Moodle database will also help you understand what variables/properties belong to which classes/objects and gain a deeper understanding of what your code is actually producing.  I have found this especially useful when trying to understand how my plugins store media files.

For a really quick but excellent overview of Moodle architecture, you can read Tim Hunt’s excellent guide[6].


As many people will tell you, learning by doing Moodle development is better and more effective than learning by reading about Moodle Development.  In fact Moodle is built on the philosophy of social constructionism[7].

If you see an error message as an example of feedback on your learning, a challenge to be googled, rather than as an obstacle to your progress you will learn more effectively.


We’ve already mentioned personal traits such as persistence to which we can add optimism and a sense of humour.  However, you will also need:

  • A sound knowledge of programming (preferably in PHP, preferably Object Orientated)
  • A good understanding of SQL and relational databases
  • A good understanding of html and css.
  • An understanding of JavaScript.

It’s true that if you are not familiar with all of the above technologies you can learn as you go.  A good source of basic knowledge is at the W3Schools website[8] which may help if you have some gaps.

Good luck!