Assembling the heterogeneous elements for (digital) learning

Day: 10 February 2015

How to help improve the Moodle book module

As mentioned in the last post there are limitations in the Moodle book module that are acting as a concrete lounge. The following documents an attempt to help improve the module.

In the end, I’ve made some serious steps to contributing a bit of code to a standard plugin (as I write this, I’m imagining how experienced Moodle folk will shudder at the many misuses of Moodle terms in the following).

Update: The “bug” in the Book module reported below is not a bug. There’s actually functionality in the Book module to support this, it’s just not obvious. More explanation is available.

Task and context

As described in the last post the context is a course website hosted in the Moodle LMS. A course that uses quite heavily the Moodle book module. The module has import function that is meant to allow you to import a collection of HTML documents into a book.

Concrete lounge

The problems with the import process include

  1. Titles for imported titles are 100% from the HTML filenames.
    e.g. call your file “Diigo tool disappears_sub.html” and the chapter title will be “Diigo tool disappears_sub.html”. Rather than “Diigo tool disappears”.
    The _sub is required by the import function to indicate a sub-chapter. The .html is to indicate a HTML file.
  2. The order of imported chapters is based on the order in the file system.
    e.g. If I have the following files to import
    [code lang=”sh”]
    dj:001 david$ ls *.html
    A blog.html
    Diigo tool disappears_sub.html
    Diigo.html
    The tools we’ll be using.html
    Twitter.html
    [/code]
    Regardless of the order in which I add these files to the zip file (import is via a zip file), the order that they will appear as chapters in the book is dependent on the order the file system of the Moodle computer creates.
    Even if I create the zip file in the right order
    [code lang=”sh”]
    dj:001 david$ unzip -t import.zip
    Archive: import.zip
    testing: The tools we’ll be using.html OK
    testing: Diigo.html OK
    testing: Diigo tool disappears_sub.html OK
    testing: A blog.html OK
    testing: Twitter.html OK
    No errors detected in compressed data of import.zip.
    [/code]
    The first chapter will be “A blog.html”
  3. There is not option to remove all existing chapters before import.
    There are situations where I’m trying to replace the entire book with the import. Currently I have to create a brand-new book resource, or manually remove all the chapters in the current book.
  4. No method for linking to a chapter prior to import.
    If I create the collection of chapters elsewhere, there will be times when I wish to create links between those chapters. Currently there is apparently no capacity to do this.

Bricolage

Here’s what I’ve done so far to address this problem with the resources available.

Process to make changes to Moodle core

This seems to be the process I need to follow for the above which translates into

  1. Is there a tracker issue?
    Via various trails I end up at the book page/section in tracker. Raising the question which versions of the book Module am I dealing with?
    Time to track through the book issues in tracker. Those related appear to be

    • support for re-importing chapters
      Close to what I’m working on. But it’s old. Created in 2008.
    • Book HTML zip incorrect URL
      Picks up on the issue with links between chapters that have been imported. This appears to have been fixed and should be in from 2.5 onwards. Need to check this (NOTE: I haven’t actually tried this process yet).

    Nothing apparent.

    So as a user I can report the bug/make a feature request and then contribute by making a fix. So let’s create an issue in tracker. What type of issue should it be?

    • bug – A problem which impairs or prevents the functions of the product.
    • improvement – An improvement or enhancement to an existing feature or task.

    Either could apply. I’ll be positive and call it an improvement. Issue created.

  2. Which branches should the fix be made on?
    The advice is

    Bugs should normally be fixed on all the supported stable branches that are affected. New features should just go into master, but sometimes minor enhancements are made on the most recent stable branch.

    So where does this fit? I assume a bug or minor enhancement. The other factor is that if I make this change on the version that my institution is using, that will increase the chances that I might get to use it this semester (which are very slim). Of course, it’s difficult to remember/discover which version of Moodle we’re using. I think perhaps 2.7 for now. Which seems to the other supported release.

  3. Develop the change using git
    Prior work contains an example of how to get a version of the Moodle source using git and start making changes. Will start with that.

    My issue number is MDL-49128

    The process I’ll use is

    • Fork the branch of Moodle I want to work on MOODLE_??_STABLE
      [code lang=”sh”]
      dj: david$ history | grep git
      git clone git://git.moodle.org/moodle.git
      git clone git://github.com/djplaner/moodle.git
      git branch -a # what are the available branches
      git remote add upstream git://git.moodle.org/moodle.git # connect upstream
      git checkout MOODLE_27_STABLE
      [/code]
    • Create the branch
      [code lang=”sh”]
      git checkout -b MDL-49128-book-import-fixes origin/master
      [/code]
    • Make changes – see below
    • Testing process
      • zipfiles.zip
        Has the following files that should be displayed in this order

        1. The tools we’ll be using.html
        2. Diigo.html
        3. Diigo tool disappears_sub.html (this is a sub chapter)
        4. A blog.html
        5. Twitter.html

        Without either fix the chapters will start with A blog.html, Diigo.html etc. through to Twitter.html.
        With the both fixes, the order of chapters should match the numbered list above. Also, the chapter names should not include .html or _sub

      • zipdirs.zip
        Has essentially the same chapters, however, they are implemented as folders containing a single HTML.
    • Commit the changes to my repo
      This wasn’t as straight forward as I thought. Ended up with
      [code lang=”sh”]
      git remote set-url origin https://github.com/djplaner/moodle.git
      git push origin MDL-49128-book-import-fixes
      [/code]
      Which ends up creating this nice little summary on github.
    • Ask the Moodle devleopers to review it
      Updated the issue in the tracker, time to wait and see what I got wrong.

Making changes

I’ve been using the zipfiles approach. A zip file with a collection of HTML files, each file equals one chapter. This is fixed based on previous work.

There is also a zipfolders approach. A zip file of folders. Where each folder equals one chapter.

The order fix is working on zip folders. However, with the chapter names, I’m now getting both the chapter name and the file name. So The tools well be using/The tools well be using. Should the filename or the folder name be used?

I’m assuming the folder name. The book module import code appears to support this. For example when reading HTML files it is looking for default files in the folders. i.e. Default.htm and index.htm. Suggesting that it isn’t assuming that these have the names of the chapters.

That appears to be working.

Factors

I have to think that anyone who had used the import function in action – like I tried to do – would have been aware of the limitations of the import function. It just doesn’t seem designed to be useful. Thus it seems logical to suspect that maybe the original designer wasn’t a user. They weren’t solving their own (or someone close to them) problem. Just implementing a feature. Hence they weren’t in a position to know how limited it was.

This distance between implementing the function and using the function seems to be a common feature of concrete lounges. Anyone who has to use a concrete lounge for any length of time is going to be aware of the pain and want to change it.

The fact that this particular bit of pain has stood for so long, has to say something. Perhaps it’s just at the book module is just an unloved child? But it is part of Moodle core now, so it has to be perceived to be useful for some.

Framing an open book as situated, social, distributed and protean

My institution has some grants available to produce open textbooks. The following is an attempt to develop an interesting idea that might be funded by such a grant.

This is a quick first run at this. It hasn’t been informed by any literature or other searches for prior art. It’s constrained by my experiences and perceptions. It’s crying out for suggestions and improvement. It could certainly benefit from a revisit to Putnam and Borko (2000) and similar.

Is it even a book?

After completing the following, the biggest question I have is whether or not what I’m talking about is a book? Answering that question effectively would seem important for the chances of being successful in a grant application.

Perhaps why I think this is a book stems from the design of the course I teach. Each week has a learning path that the students will use as their initial foray into the wilds of the particular topic. They work through the learning path as if it were a multimedia book. Working sequentially through a sequence of pages. Those pages contain a bit of text, embedded video and other multimedia, and various activities and exercises.

The learning paths are situated in the Moodle LMS, so it doesn’t look explicitly like a book in the way that Project Management for Instructional Designers does. But that’s more a question of interface, than interaction.

Is that a valid/convincing argument?

Reservations about open textbooks

I have some reservations about the idea of funding academics to produce open textbooks.

As the tweet suggests, it strikes me as somewhat old fashioned. There’s thing called a World-Wide Web that has hypertext and multimedia capabilities that extend far beyond the capabilities of a “book”. Plus it’s taken off in a fairly big way and there’s an awful lot of good information out there. Is a “book” all that interesting, innovative and useful?

@s_palm and I seemed to agree at around the same time, that there are some more interesting possibilities.

The following is an attempt to expand on what might be interesting, useful and perhaps innovative.

Start with a conception of learning and knowledge

If the aim is to produce something to help people learn, it would seem sensible to consider at some stage conceptions of learning and knowledge. I’m going to draw on the “distributive view of learning and knowledge” that we used in this paper (this view has become my most recent hammer). It’s based on three themes from Putnam and Borko (2000), plus one we’ve added

That conception sees learning and knowledge as

  1. Situated in particular physical and social contexts.
  2. Social in nature.
  3. Distributed across the individual, other persons and tools.
  4. Digital technologies are protean.
    It’s pretty clear which one of the four we’ve bolted on, just from the summaries. As it’s currently framed, this one doesn’t fit nicely. It’s also more than just digital technologies, learning and knowledge are protean (tending or able to change frequently or easily; able to do many different things; versatile).

An open “book” with a distributive view

The following uses those four themes to think about what an open “book” might look like if this distributive view of learning and knowledge is used. It’s going to focus explicitly on the main course that I teach – ICT and Pedagogy. A 3rd year course for pre-service teachers aimed at developing their capability to integrate the use of digital technologies into their teaching.

The aim of any grant application would be to start developing the practices and tools that enable the production and support of an open “book” that supports some of these. I do have a question about whether or not such a “book” is in danger of just becoming an online course of some description?

Situated

A good “book” would be situated in the different contexts within the course. What are those contexts and how might a “book” be situated?

  • Learner’s learning environment.
    The environment in which learners learn is incredibly diverse on many characteristics (devices used, their PLE, time, location, etc.). So format of the book, the devices used to read and contribute to it should be flexible.
  • Course environment.
    The abstraction of the course is still core at universities. Each course has its website and specific rules, nature and timing. The situated nature of knowledge and learning provides some arguments about why each course should be different. An open “book” should support that.
  • Other course environments.
    It should also support the ability to move into other course environments. The difficulty of doing this is perhaps one reason most university courses remain silos unto themselves. The book should be visible to other courses/teachers, it should be easily customisable to the needs of different courses, and yet retain the ability to share changes between courses.
  • Teachers’ teaching environment.
    Just a learner’s learning environment is different from others. So to a teacher’s teaching environment. More specifically how they go about “authoring” and curating a “book”. Teacher’s shouldn’t have to under-go massive change to contribute. It should start from their current environment and work out.
  • Learner’s professional environment.
    Learner’s in my course range from early childhood educators right through to VET educators. There are a number of professional environments with which they must engage (e.g. the Australian Curriculum). The “book” should integrate with these professional environments. For example, have a simple way to integrate links and content like a content descriptor from the curriculum.

    This also points to the book containing “authentic activities and resources”. Dealing with issues and knowledge that are meaningful to them.

  • External environment.
    In part this is the “open” nature. Anyone should be able to access it from their environment. Hopefully it’s something students continue to draw upon and contribute to for the rest of their professional lives.
  • Institutional environment.
    Sadly, institutions have policies, systems and other constraints on how and what can be done. Will need to be cognisant of those. In my context, this means linking in and working with the Moodle LMS.

Social

Authoring and reading a book are typically very individual tasks. There are views of learning that see it as arising from social interaction. From engaging with and becoming familiar with how specific communities think and act.

Some ideas from this view include

  1. Support for multiple authors and versions.
    Not only should I not be the sole author, there should be active support for people to “fork” their own version of the book (or parts thereof). The influence of Smallest Federated Wiki here. Both learners and other teachers.
  2. Capture the residue of the communities experiences.
    The experiences, actions, and creations of the people “reading” the “book” are able to be captured and used to enhance the “book”. This post gives an example of this and some of its origins in the learning communities literature.

    Examples might include

    • the idea of learners forking off and changing versions of the book;
    • the capturing of annotations (as shown in the blog post
    • sharing prior answers to exercises provided by learners as examples.

Distributed

The big idea here is that cognition is just not in the head of the learner. Instead, it’s a function of the individual, other people, and the tools/environment they have to work with.

In terms of learning, there seems to be an obvious connection to mindtools defined by Jonassen (2000) as

computer-based tools and learning environments that have been adapted or developed to function as intellectual partners with the learner in order to engage and facilitate critical thinking and higher-order learning (p. 9)

Kirschner & Wopereis (2003) extend this a little to “include the facilitation of work (by knowledge workers)” (p. 110) and argue that “(Aspirant) teachers must therefore learn how to use mindtools both as a means of encouraging constructive learning in the classroom and as a tool for their own professional growth” (p. 110). Jonassen (2000) describes 5 characteristics of mindtools that connect nicely with these themes and could be useful.

The particular “mindtool” I have in mind for here is a unit planning tool. My course (and its “book”) currently asks learners to develop a unit plan to demonstrate their capability of designing the integration of ICTs into their teaching. Currently this is supported by a unit plan Word template. It does not contribute a lot of cognition to the task.

The rough idea is to develop a unit planning “mindtool” as part of the book, that would

  1. be used by learners to develop a unit plan;
  2. provide direct connections to parts of the book explaining each section of the unit planning process;
  3. provide access to relevant examples based on the learning objectives chosen for the unit plan;
  4. provide checklists and suggestions for what to do next;
  5. provide access to examples that have been critiqued;
  6. be integrated with curriculum where possible; and,
    e.g. if you specify the unit is for Year 7 Mathematics in a Queensland school, then the only learning objectives you can choose from are taken from the appropriate curriculum. The only criteria you can use in a rubric, are from the appropriate curriculum.
  7. track coverage of learning objectives in learning experiences.

Another possibility from the “distributed” perspective is that the “book” doesn’t reside on one specific server. It is instead distributed across many different locations, courses etc.

Perhaps more importantly is that the implementation of the book should not require the adoption of a single authoring process or presentation tool. The aim is not to develop the one-ring to rule them all, but to enable the building of a network of tools that can contribute to the book. Which tools are used, depends on the situations of the learners, authors, teachers, readers. Picking up on some points made in another discussion about “books”

https://twitter.com/timklapdor/status/564650116376567809

https://twitter.com/timklapdor/status/564657055345029121

Protean

In short, the idea is that anyone and everyone can change the book. In fact, the aim would be to explore if and how some aspects of change can be automatically enshrined into the book. This also links to the social perspective above.

References

Jonassen, D.H. (2000) Computers as Mindtools for Schools: engaging critical thinking, 2nd Edn. Upper Saddle River: Prentice Hall

Kirschner, P., & Wopereis, I. G. J. H. (2003). Mindtools for teacher communities: a European perspective. Technology, Pedagogy and Education, 12(February 2015), 105–124. doi:10.1080/14759390300200148

Putnam, R. T., & Borko, H. (2000). What do new views of knowledge and thinking have to say about research on teacher learning? Educational Researcher, 4-15.

Powered by WordPress & Theme by Anders Norén

css.php