Book Review: Moodle JavaScript Cookbook @packtpub

I recently read and reviewed the book “Moodle JavaScript Cookbook” by Alastair Hole. The book’s cover promises to give the reader “over 50 recipes for making your Moodle system more dynamic and responsive with JavaScript” and it definitely opened my eyes to what’s possible with Javascript and really what very common dynamic features and enhancements are created by Moodle JavaScript CookbookJavaScript and it’s libraries.

A quick note on my background with Javascript is that I’m a newbie. I know HTML/CSS and some PHP. I can sort of manipulate other code but in no means can do much harm from scratch. This book is my first attempt of learning/understanding JavaScript concepts.

The book says it’s “aimed at developers and admins, familiar with customizing moodle with themes, modules and patches.” Which is pretty right on. It also says “no previous javascript knowledge is needed”. I didn’t have any previous knowledge and some parts were over my head and frustrating, especially when the code wouldn’t work for me but I’m betting that if a person who has intermediate knowledge of JavaScript read this book they’d fly through it. It was just annoying when the code was over my head or didn’t work, it was hard troubleshooting. I’d say the audience would be admins who have some understanding of coding but doesn’t necessarily have to know JavaScript, which the book says.

The author describes the book.. “The Moodle JavaScript Cookbook will take you through the basics of combining Moodle with JavaScript and its various libraries and explain how JavaScript can be used along with Moodle.” Which really sums it up well. If you read more of the description it continues to be accurate with what the book covers. A book’s summary should usually be accurate yes, but as far as I can think back I think this Moodle book compared with other books does a great job of preparing the reader on what they will learn.

The format of the book was a lot like other Packt Pub Moodle recipe books. It would give you a recipe and describe it, then show you how to do it and then explain what’s going on. It was pretty easy to follow with the exception of some of the code examples. I had a lot of issues with Chapter 4 and trying to get a few of the examples to work. It could have been an error on my part but it was a bit confusing looking at the code in the book and the code that was given. It didn’t always match up and since I didn’t have any prior JavaScript knowledge it was frustrating. It seemed to be just Chapter 4 for some reason — maybe I was tired that night : )

The book did have a lot of illustrations and like I said you were able to download the code. In my opinion it is crucial to be at a computer and download this code to test it out for yourself. You will get a lot more out of it.

The first few chapters of the book went over the basics. Chapter 1 talked about integrating JavaScript with Moodle 2.0 and best practices. It was a good warm up to see how JavaScript works and how it runs. Chapter 2 introduces us to the YUI which we use quite a bit in the rest of the book. It introduced us to the idea of what a library is in regards to JavaScript. Chapters 3 and 4 continued to talk about more advanced concepts and gets more into coding.

Web DesignChapter 5 and 6 things started getting cool. In these chapters we actually got into using Libraries and how using those libraries really enable you to make your page dynamic and enhance simple elements like text, tables and menus. Chapter 7 was even better with menus. The author shows us how to take simple list elements and use libraries to make them into good looking drop down and fly out menus. I never knew that using JavaScript and these libraries had sort of “pre-made” code. If you wanted you could then further customize the elements with CSS. Chapter 8 continued to show us more things you can do like animation.

The last Chapter covered using other libraries and shows the reader more potential of using JavaScript and Libraries. It’s good to know the other popular libraries and how they work with JavaScript and YUI. I’ve always wondered how all of these JavaScript codes and libraries work together and this chapter sort of gave me a general knowledge of at least how it works and that you need to connect with other libraries and have a file to use those libraries. It also gave me knowledge of a few frameworks that are popular and what they’re used for. It was neat seeing the Lightbox library because I’ve seen this before all over and I never realized it was JavaScript or how it was done.

Being totally new to JavaScript it opened my eyes to what actually is JavaScript on web sites and what are the capabilities. Whether it was auto complete when I’m typing a tag for my blog or clicking on a cell and having an edit box come up. Since I really didn’t know much of anything regarding JavaScript I definitely learned a lot. Some things were over my head but the good thing about the book and code is that I can go back later and re-visit it.

I always like more web development or admin focused Moodle books and this one makes me excited about the possibilities of enhancing elements in Moodle and really to any web site I’m working with. I wish there was more real life examples on how JavaScript can enhance real Moodle elements but it definitely got me thinking myself about how I can make current Moodle elements on the page better with the examples shown. It was a good read!

Related Links


Moodle 2.0 for Business & Moodle Javascript Cookbook @packtpub

Some exciting new titles have come to Packt Publishing.

I’m very excited to get reading these books. Along with using Moodle in a k-12 school district I’m also an admin for a small business. I’m hoping to get some tips to make that site work even better with Moodle 2.0. Hopefully by the time I’m done reading I’ll be itching to upgrade. The Javascript book looks interesting to me to see what I can learn to make our Moodle site more customized and dynamic.

I’ll be writing a review on each of the books. Hopefully I can get started soon, while I’m getting back into testing 2.0! Stay tuned.

Moodle Javascript Cookbook Moodle 2.0 for Business

Collaborative Notes for the #iMoot

The iMoot has been going on for 3 days now and with the exception of a few bumps in the web conferencing it’s been a tremendous success. Props to the iMoot team, great presenters ansignd attendees for their back channel chat during presentations.

Along with separate iMoot session Moodle courses including forums, a collaborative doc has been created for the Moot. Moodlers have been taking notes and sharing about the sessions they’ve attended. We still have a day or two of the iMoot left so feel free to continue taking notes. The great thing about the iMoot is that all sessions are recorded and can be viewed..well forever. The collaborative doc will be available forever as well.

Even if you’re not a attending the iMoot take a look a the public iMoot Doc here. If you are attending please share with others, just take a look at what others have documented or give us your Twitter handle and network with other Moodlers.

Short URL for the Doc:

Again, thanks to the iMoot team and all of the presenters! I’ll post later on my favorite sessions.

Oh, and one last thing – make sure you channel your inner Moodle Rockstar and buy some iMoot merchandise. There are tons of cool items from water bottles (I bought) to pajamas to t-shirt and mugs!

Video – Converting Moodle Database from MyISAM to INNODB @mguhlin

In my post yesterday I talked about converting my Moodle database from MyISAM to INNODB before upgrading to Moodle 2.0. I used Miguel Guhlin’s directions, double checked with him via twitter and it was pretty easy. He’s made it even easier by doing the process in a few videos.

Check out his blog post for the videos : )

: )


Another updatePart 2 of my “Second attempt at upgrading from 1.9 to 2.0” is coming soon. I actually had some success and was able to upgrade (with some tweaks).I’ve got the post written up about my experience. I just have to finalize and add some images. It will most likely be up tomorrow.

Second attempt at upgrading 1.9 to 2.0

Today was my second attempt at upgrading Moodle 1.9 to Moodle 2.0. The first time I ran into a few problems and tried to solve them but then scrapped the install and left it for a few months. This time I upgraded from an install of Moodle 1.9.11 with the Book module installed and a few “real life” courses I imported, to see how they upgraded.

One major thing I did this time that I didn’t do last time was migrate my database from MyISAM to INNODB. I followed the directions from Miguel Guhlin (complete with Databasescreenshots). So, I really don’t know what this does but it sounds like this is necessary? However, I haven’t seen it documented in Moodle Docs (please provide a link if it’s there!).

I do know that in a fresh 2.0 install it does create the database with the “INNODB” type (you can view it in phpmyadmin, it will be in a column when viewing the database). Needless to say, I want to become more comfortable with what this is doing before I do anything on a production server. The good news is that following Miguel’s directions was easy.

Alright, here is the short run down of what I did:

1.) Exported my database via phpMyAdmin (saved on my desktop)Maps

2.) Migrated my database from MyISAM to INNODB – DIRECTIONS

3.) Made a copy of my moodledata folder (used Fire FTP Firefox add-on for steps 2-7)

4.) Copied the config.php file from my current 1.9 install

5.) Renamed my web files Moodle folder to moodle1910.backup

6.) Uploaded a fresh copy of Moodle 2.0 (named the same as the old Moodle folder in step 5)

7.) Copied the config.php file into the new Moodle folder uploaded in step 6

8.) Visited my Moodle install, Clicked on Notifications



Result after clicking on Notifications

1.) Yippee, I’m doing it! -> screenshot 1

2.) Server checks, CHECK! Yay! -> screenshot 2

3.) Plugin Checks, eh..okay..a few non-standard ones but allows me to continue -> screenshot 3 | screenshot 4

4.) Then I ran into a problem [screenshot of where I’m stuck]. A progress bar (at 0%) is displayed for 3-7 seconds and then a red-highlighted box saying “Incorrect pool file content 17f65e7276dd4895c5fc8970e2aa834622a3696b.” is displayed. I’m also given the following error:


And that’s where I stand now. A weird thing happened as I was writing this  blog post – my computer froze up on me and I restarted. When I came back and restored my tabs in Firefox, the screen I was stuck on that had a progress bar at 0% now has a progress bar at 33.3%. Weird?

I haven’t fully looked into what is causing the “incorrect pool file content” or the other errors but here are a few links I quickly found:

I plan to further investigate about the above problem, it seems like there have been some discussion about the errors so I’m confident I’ll figure it out soon.


Minor issue/curious

The other thing I am wondering about is why there are standard (I thought) modules that say they are missing. I know Book is non-standard and I think hotpot, journal, lams and loan calculator are no longer in the core install but what about admin and admin_tree? Is this causing problems?



Like I said, this is my second attempt at upgrading and I haven’t spent too much time preparing or investigating the upgrade progress so I’m not too frustrated yet. I’ve been in the mode of waiting until more and more bugs get fixed and I keep checking the Moodle Tracker.

Line ChartOriginally our district was going to upgrade in the summer after 2.1 is released but we may push that back so we can implement a solid pilot group and create quality training resources.

I was upgrading on a CentOS VPS using cPanel, Fire FTP and phpMyAdmin. I’ll update this post with any updates on the error I received. Any insight into these errors would be greatly appreciated.

March is for Moodle!

I’ve posted several times about Packt Publishing and it’s book offers along with some reviews I’ve done and now they’re offering a great deal on Moodle books for the month of March!

To celebrate the forthcoming publication of the a series of attractive discounts on all Moodle


  • Buy any Moodle print book and get 20% off
  • Buy any 4 Moodle eBooks from Packt at an unbelievable price of $60 / £38 / €45


Check out Packt Pub’s latest Moodle books now!



Opportunity: Web (Moodle) Developers in New York or Boston?

I don’t normally post job opportunities but I thought I’d give a shout out for this one! Sounds like a great opportunity and sometimes it’s hard to sift through the Moodle Jobs in

Title: Web Application Developer
Status: Full time, permanent position
Location: Boston, MA or New York, NY

I am working with an educational organization searching for a Web Application Developer. Qualified candidates must be able to design and create new, custom academic software and support, enhance and extend an existing LMS (developed using Moodle). They must have the ability to enhance an open source application (Moodle) using custom code in a PHP framework (symphony) and MySQL. This is a hands on position that will wear many hats but will also allow for a great deal of creative freedom to develop a unique technology platform. Candidates must have excellent organizational and project management skills, be detail oriented, have excellent verbal and written communication skills and have a bachelor’s degree, preferably in engineering or computer science.

My client has a passion for helping teachers become better educators and preparing our students for advanced education. If you are interested in learning more about this opportunity, please send your resume to or call Toni at 509-340-2860 and I will forward the complete job description with technical requirements.

Salary DOE, relocation assistance available.

Looking for more Moodle job opportunities?

If you’re looking for other Moodle job opportunities or you’d like to post an opening visit Moodle Jobs. Also, remember to follow @MoodleJobs!

Little Change in Moodle 2.0.2 Release Date

Just a quick note about a small change in the release of Moodle 2.0.2. It will no longer be January 31, 2011 which I.

I’m sure there will be many more changes as this is pretty normal compared with past “release dates”.  You can keep track of the progress on the Moodle Tracker.