Monday 24 October 2011

Changing password requirements

I thought I'd already done a post about this but apparently I haven't.

When I did a round of internal testing on the first Moodle site the biggest hitch people had was creating a password.  The Moodle default is to require people to have at least one upper case, one lower case, one number and one non-alpha-numeric character in their passwords.  Nobody knew what a non-alpha-numeric character was.

At first I was just going to change the wording of the text on the sign up page to clarify the password requirements but then I found out how to change them.

As an admin, go to Settings > Site Administration > Advanced Features > Security > Site Policies and scroll down to Password Policy.  You can either uncheck the box so users can have whatever password they want or you can change the requirements in the boxes below.

I just turned the password policy off.  I know having stupidly complicated passwords is supposed to protect us all from the evils of the internet but if that security comes at the expense of users who can't be bothered Googling non-alpha-numeric then it's a bit useless.  Besides, users can still have a stupidly complicated password if they want.

Tuesday 18 October 2011

Enabling SSO between Moodle and Mahara (Mahoodle)

There are a couple of documents you can look at to help you get you Moodle and your Mahara talking.

There is this PDF which is a bit out of date for Moodle 2.0 and there is this slideshow which has details for 1.9 and 2.0.

I am writing this as I read through the PDF as not everything in there is correct for my Moodle 2.0 build. I only found the slideshow version after I'd finished so I can't vouch for it. I suggest you have this post, the PDF and the slideshow open and go through reading all three at each stage.

Have a Moodle and a Mahara set up. I'm running a Moodle 2.0.3 and a Mahara 1.4

In Moodle, log in as admin. Go to Site administration > Advanced Features > Networking dropdown to On (I also enabled Portfolios while I was there, I don't know if this makes a difference.). Save Changes

In Mahara (as an admin) click on Networking under Configure Site. Enable Networking dropdown to Yes.

Save changes.

Still on Mahara, go to Admin home and click on Institutions under Manage Institutions.

The PDF says at this point you can either edit the default institution or add a new one. Seeing as this Mahara might be used with more than one Moodle I am adding a new institution.

Fill the Institution Name. This can be only letters, no spaces or numbers.

Fill in the Display Name. This can contain letters, numbers and spaces.

Click Submit.

I think, going forward, you can change the Display Name. The Institute name can't be change but it isn't seen by users.

Still on the Administer Institutions page, from the Authentication Plugin dropdown choose XMLRPC and click Add. You'll get a popup. Enter an Authority Name. Only Admins will see this. I used "Learning XMLRPC" because I think I'll have to set up another one for the Student Association Moodle.

The Parent Authority is not in the same place as it is in the pdf, it's a bit further down. I've left it as none.

In the WWWroot box enter the web address of your Moodle including the http. For me this is http://moodle.companyname.org.uk

The pdf doesn't mention what to put in the Site Name box. From the help popup I think this is how the Mahara will refer to your Moodle so I've put "Learning Site" Hopefully this can be changed later.

Choose Moodle from the Application dropdown adn leave the port alone unless you know what this is. I don't.

I've chosen "They SSO in" from the dropdown and ticked all three of the boxes below. I think this means users can access the Mahara from the Moodle site (they will be automatically signed in to Mahara), Mahara will check the Moodle database for changes and update its own database every time a user logs in, Mahara will automatically create a database entry is it is a new user and finally users can import content from Moodle.

Click submit.

The popup should close and your new XMLRPC authentication plugin instance should appear on the Administer Institution page next to Authentication Plugin. If you've done something wrong you'll get an error message. Double check your settings. I can't offer you any more advice than that cuz mine worked. *smug*

Everything else on the Administer Institution page should be fine so click submit.

Back on Moodle go to Settings > Site Administration > Advanced Features > Networking > Manage Peers

Under Add New Host enter your Mahara web address including http and select Mahara from the Application Type dropdpwn. Click Add Host.

You should get a page with a big block of seemingly random letters. This means it has worked. You can change what is in the box marked Site. I think this is how Moodle refers users to your Mahara and is editable later too. Click Save Changes, the same you should get a changes successful message before being redirected back to the same page with new tabs at the top.

Click the services tab.

Leave Remote enrolment service and Portfolio services alone for now because the PDF is out of date and I don't know what those are for. Under SSO (Identity Provider) check Publish and under SSO (Service Provider) check Subscribe. Click Save Changes.

Go to Settings > Site Administration > Advances Features > Plugins > Authentication > Manage Authentication and open the eye next to MNET Authentication. (MNET means Moodle Networking which is what it used to be called.)

You don't have to change any of the settings associated with this plugin but if you go into them you'll see the list of sites in your Moodle network, at this stage this should just be your Mahara.

Go to Settings > Site Administration > Advanced Features > Users > Permissions > Define Roles. Select Authenticated user and click the edit icon. Scroll to "Roam to a remote application via MNetmoodle/site:mnetlogintoremote" and check Allow. Save Changes.

Go to your Moodle homepage and turn editing on. Add a Network Servers block. This should have your Mahara in it and allow your users to be automatically logged in.

It didn't work for me and I don't know why yet so I'll update this post when I suss it out.

Edit: OK, so I went back into the Define Roles page and for some reason the box Roam to remote applications box wasn't checked even though I had checked it. Either way I checked the box and made sure I saved the changes and now the Network Server box displays the Mahara link properly. Success!

Edit 2:  I just set up SSO from a second Moodle (the Student Association site) to this Mahara following these instructions and it worked like a charm.  So my Mahara is set up so that users can access it directly from either of the Moodles but not from the Mahara sign in itself.

Monday 17 October 2011

New Moodle (or Noodle if you will)

One of my colleagues has just talked to me about setting up a new Student Association.  She had in mind a website that, for a small fee, would allow users access to various forums, resources and job notices.  Sounds like a Moodle to me.

So I'm going to blog about this Moodle from the beginning like I should have done with the other one.  For anyone who has read my previous posts this Moodle will be referred to as the Student Association and the other one will be called The Training Portal (even though its name hasn't been decided yet).

Also, boss wants some kind of portfolio system set up alongside the training site so I'm looking into Mahara.  I think I'm going to try and set it up so users of the student site can begin a portfolio which they can keep using once they (hopefully) begin their careers and use our training programmes.  We could also offer a digital membership card to the student association that could remain in their portfolio as a kind of status.

I've had the IT man set up a new Moodle but it's just occurred to me the Student Association could just exist as a course within the training Moodle.

Monday 10 October 2011

Terminology - What's in a name?

At the moment we're calling the Moodle site the 'Online Learning Portal' but my manager isn't sold on the name and neither am I honestly.  I have a meeting about the site tomorrow so I'm going to march in there with a list of words and make someone pick a new name.

Tuesday 4 October 2011

Current Issues

Things are still quiet on the Moodle front as I've been updating course content but recently I've had a couple of meetings that have thrown up a few issues I need to keep in mind.

The biggest thing on the horizon is still the payment gateway which I talked about earlier.  Despite being told it would be up and running by the end of August it is still in the planning stages.  I have almost got it straight in my head how it might work but I have another meeting scheduled in a couple of weeks time to discuss it with all the relevant parties and they'll probably tell me I'm wrong.  I'll do a more detailed post about that later.

We've had a bit of a reshuffle at work and I've got some different responsibilities and one of my colleagues has been tasked with project managing the now training portal.  He probably should have been told this six months ago when I started working on it but that would have made too much sense.  In these meetings we've been having there have been a lot or paper work requirements thrown up such as risk assessments and action plans.

Fair to say I am more than happy to let him "project manage" the paper work and I'll just stick to the geekery.  Unfortunately, because I know the project and he doesn't, I'm probably going to have to chip in.

Some of the paper work he needs to make up devise is:

Action Plan: An overall plan or time line of what needs to happen.  I'm thinking a Gantt Chart might come in handy.


Course Format: I need to sit my superiors down and get the ultimate OK on how I am structuring the courses.  Since discovering the book module I've been converting courses to that but it has a more basic completion requirement than lessons do and I don't want to change all the courses just to have my boss decide that it's not good enough.

I also need to devise a set of rules that dictate how the course material is set out when it gets to me.  The course material I have been given so far has come as Power Point presentations, the trainers have thought about what they want the slide to look like and what font they want to use and then spent time making everything look pretty.  This, it turns out, is a complete waste of time because I have to strip all that formatting out before putting it into Moodle.  Also, some weren't including quiz questions or were suggesting games that weren't suitable.  So I need write a document that explains to them clearly what I need from them and how I want it as well as what games I can make.

Part of the course format is going to be writing the brief that customers can read before they buy the course (because I can't be bothered to write them) and also deciding what level the courses are aimed at (management, general staff, etc.).

Terminology: Currently the site is being called the Learning Portal and the courses are broken up into Lessons.  My boss said she doesn't like that so we need to decide what else to call them.  Ideas were tossed around to have a staff suggestion box but I think the best way of getting a result before I die of old age is if I make a list of all the terms I can think of and camp in my boss's office until she picks one.

There are probably other words on the site that some people won't like, such as calling students Learners, which need to be agreed on so I don't have to spend a week going through everything and changing every instance of the word 'forum' to 'message board'.

Proofing Process: Firstly all the information needs to be up to date and accurate, this ties into the review process.  There also needs to be a process to ensure there are no spelling or grammar mistakes, this is just basic quality assurance.

If the course content comes to me meeting the course format requirements I should just be able to copy and paste it into Moodle which will cut out quite a lot of mistakes (at the moment the text was spell checked when I got it but then I had to re-write quite big chunks and introduced my own mistakes.)  Once text is online changing one little spelling mistake is a bit of a job so I need to minimise the chance of them happening.  For quizzes and questions (especially using HotPot) changing a spelling mistake is even more arduous so it's really important the course format rules are stuck to.

Even assuming I've done everything I can to minimise the chance of spelling mistakes the online content still has to be proofed.  Luckily there is a lady in my office who is a self confessed officer in the grammar police and she works in my department so I should be able to pass the courses to her for a final proof.  This proofing process needs to be given a time scale so I can predict how long it takes to put a course online.


Testing Process: The whole portal needs to be tested for bugs and usability.  I already had people in the office look at it to get some feedback on how straightforward the site was to use and no one seemed to have any major problems (except not being able to create a suitable password but I already fixed that).

After I have the course format and visual style set in stone I think the site will need another round of internal testing.  I might even have to sit next to people and watch them use it so I can pick up on any areas that could be improved.  Then it will be on to closed testing, we'll find a bunch of people who fit into the target customer base and give them free access to the training site on the proviso that they answer a ridiculously detailed evaluation questionnaire.

When the site is ready for public consumption I think there will need to be at least six months of public beta testing.  This will basically be a disclaimer and a detailed evaluation questionnaire so the site can be improved and nobody will get their panties in a major wad if something doesn't work.  This initial period might contain a price discount as well.

Review Process: We recently had a situation at work with some of the companies existing online courses, someone complained that the content was out of date.  Turns out the course hadn't been updated since 2008.  To avoid this in the future I figure each course should be reviewed at least once a year.  They'd have to be reviewed by one of our subject experts because it'll be things like new legislation and terminology that they'll need to look at.  These are pretty busy people so I figure giving them assigning a month for each course to be reviewed would work.

Risk Assessment: What are the risks associated with a Moodle site?  The obvious ones I can think of:
  • Data protection: Student data, especially once we start taking credit card details.
  • Server Crashes: Resulting in people not being able to access the course they've paid for and us losing data.
  • The site being hacked: Could result in learner details being stolen, data being lost or the site being vandalised.
  • Accessibility issues.
  • Learners not being satisfied with the quality of course material and complaining.
CPD Certification: We want all the courses to be CPD UK certified.  I have no idea what this entails so it's probably best we find out sooner rather than later in case they have to meet certain requirements. Somebody mentioned the courses have to count as a certain number of points or hours so that has to be figured out.

Price: As I mention, the price will probably change after we've had some initial feedback but we do have to decide how much we're going to charge for these courses.  Will they all be the same price?  Will there be a discount for multiple purchases?  How big a discount will members get?

Evaluation Questionnaire: There needs to be an evaluation questionnaire for each stage of the testing process.  I need to decide what I need to know from my colleagues who I trick into choose for my internal testing pool.  Then I need to decide what I need to know from the closed testing process and the public users.  And finally there will be an evaluation questionnaire that all customers will be asked to fill in, we need to decide if learners have to complete the evaluation before they get their certificate or if we make it optional.

How the forums will be used: This is one of Marketing's big concerns because they seem to think the boards will be hijacked by trouble makers who want to slag us off.  I don't think it will be as bad as that but I think comments will need to be moderated.  Initially I think we'll just use the News forum (which only admins and teachers can post to) to post news and updates.  I've set up a couple of boards and put links in courses to try and encourage learners to share specific ideas with each other.  I think this would be a good starting point as the boards can be moderated on the grounds that they are for specific conversations.  I don't think they will be so popular that I won't have time to moderate them myself but if they do take off more time might have to be given to their moderation.

Backups: A backup process needs to be hammered out to make sure nothing gets lost if something explodes.  Ideally this should be automated but I have yet to be able to find a way of doing it, it might be that I have to do a manual backup every Monday morning.

See?  I have a lot to think about.

Thursday 25 August 2011

Book Module

I've not blogged for a while because the development side of my Moodle has slowed down and I've been working on putting courses up.

BUT!  I stumbled across something completely by accident that it well suited to my needs.  That thing is the Book Module.

The Book Module works as a kind of alternative to Lessons, allowing you to put together a series of pages into a "book" which can then be exported or printed by the learner.  The navigation is simpler, there are forward and back arrows on the top right and bottom right and a Table of Contents block appears where the navigation block would normally be (top left for my site).

The Book Module in action
 The simplified navigation and boxed off content area are what appeals to me about using the book module.  The border can be altered through the CSS.  I would like to be able to theme each book so I could have different colour borders but I haven't really looked at that yet.

There is still no smooth way to go from the end of a book to a quiz and then onto a new book (I've just used links within the last page of the book and in the quiz feedback.) but there wasn't in lessons either.  You can't use the question pages in a book the way you could in a lesson but I didn't like those anyway.

There is capacity to embed a quiz or a Hot Pot quiz within a book using an iFrame but I have yet to get that working smoothly so I'll do a post about that later.

Another pretty big drawback of the Book module is the completion options.  You can only have a book marked complete upon being viewed.  So if a student looks at the first page the book is marked as complete and anything relying on that book being complete becomes available.  However, because of the simplified navigation it is not immediately obvious to the casual user that the next step is now open. 

Another thing, if a user gets half way through a book and leaves the page, their progress is not remembered, meaning next time they come back they have to start the book again.  I've been keeping the section of my courses short anyway (about five or six pages per book with a quiz in between) so it's not too bad for me but more complex courses might have to stick to the lesson module.

The Book Module is installed the same way as other contrib modules.  Download the correct file for you build of Moodle from here.  Unzip that file and upload it to the mod folder of your Moodle.  When you login as an admin to Moodle you'll have the notification page come up, just click continue at the bottom and then you'll be able to choose Book from the resources drop down in any course.


Thursday 4 August 2011

Changing a user's account.

Just been briefing a colleague on our Moodle system, I find it's helpful to talk things through with someone because you think of things you otherwise wouldn't.  He said, for example, one of the biggest problems we're going to have when the system goes live will be users forgetting their password and ringing us to tell them what it is.

Because we're letting people register themselves, I don't know what each user's individual passwords are and I haven't yet found a way to display them on Moodle.  What I can do, however, is change their password for them.

Moodle has an option for users who have forgotten their passwords to have a new one set and emailed to them.  The one it sends is a randomly set mixture of letters, numbers and non alphanumeric characters which I can guarantee my users will not change straight away when they log back in and then forget and never be able to log in ever again.

So I need to make sure everyone is the office who is likely to get a use who can't remember their password knows how to change a password for them.

Firstly go to Settings > Site Administration > Users > Accounts > Browse list of Users.  Find the user in question, you can use the search filter at the top to search for their name.  Click the Edit on their row.  There you'll see a New Password box.  Enter the new password and update the profile.

Oh, and, make sure you tell the user what their new password is.

Monday 1 August 2011

Changing words

You can change any of the words or phrases that appear on you Moodle site.  For example, I use the topics format for my courses but I have all the lessons in one topic.  So seeing the word topic in the main menu might confuse users.

As an admin, go to Settings > Site Administration > Advanced Features > Language > Language Customization.  From the drop down choose you language (you might only have English) and click the Check Out Strings Into Translator button that comes up.  You should get a big green bar that says 100% and a continue button, click that.  This process is bizarre, I don't understand what it does but we're where we want to be now.

You'll see a list of all the different php files that generate text on your Moodle.  If you know which one has the word or phrase you want you can click it but I generally just select them all.  In the Only Strings Containing box type in the word or phrase you want to change.  You get a list of phrases your word appears in.  Find the one you don't like and change it by typing in the big box next to it.

Be aware that this will change the phrase every time it is used.  There may be placeholders in the phrase, these are how Moodle puts in a username or email address, you have to copy these exactly or they won't work.

When you're done, scroll right to the bottom and click the Save And Check In Strings Into Files button then click Continue when it comes up.  Done!

Getting More Details From Users

We keep a pretty detailed CRM (Customer Relations Management) database with all kinds of info.  To get that information from the users of the Moodle site I'm going to need to add some fields to the Create Account page.

As an admin on Moodle go to Site Administration > Users > Accounts > User Profile Fields and you'll see a page saying User Profile Fields, Other Fields, No fields have been defined.  If you want a few new fields, such as one for each line of an address, you could create a new category.  Click the button and create your category.

For a new field select from the drop down.  I want a simple text box so users can tell me where they work so I select Text Input.  Fill in the form that comes up,  I'm going to select Yes in Make this Field Required and Display on Signup Page and not change anything else.  Then click save changes.

Remember, if you export user data at any point, which I will do, having commas in the signup fields might screw up how the data is displayed as commas are often use to signify a new field to a database or spreadsheet.  For example, if someone answers my new Where I Work field with "My Office, London" I'll get My Office in the correct column but London will be in the next column, pushing all the other fields out of sync.  This could be a big problem for databases so try to keep your fields simple.  If you find users are constantly putting commas in and causing you problems you can always edit these field names, either adding another field or changing the name to be more specific.

Friday 29 July 2011

Enrollment Keys

The courses I'm building will, at some point, be bought in bulk by Local Authorities (LAs) to be used by individuals.  I need to think up some relatively hassle free way of these individuals getting access to the courses that have been bought for them.

I could just keep the self enrollment method I already have set up and trust that everyone will be honest and only enroll on the courses they've been told to use (which would probably work, the computer shy users will probably not try doing anything more than they have explicit instructions for) but that's a bit lax.

Ideally I could use single use enrollment keys.  If I could set each course to have a bunch of enrollment keys that only work once, they could then be distributed by the LAs.  Unfortunately Moodle doesn't support this.

On our current system, we manually set up user accounts and then tell people their login info.  There usually a maximum of half a dozen a month so we set up the accounts on the first of the month and it takes, at most, a couple of hours.  But this means users a waiting for access and it's an administrative task that, to my mind, could be cut out.

The best solution I have come up with so far is to use group enrollment keys.

Firstly, the course in question has to have self enrollment with an enrollment key.  I mentioned how to do that in an earlier post.  Once that's done, while logged in as an admin, go to Settings > Course Administration > Edit Settings and scroll down to Groups.  Next to Group mode set that to either separate groups or visible groups.  I've choose separate groups as this means the groups can't see each other.

No go to Settings > Course Administration >Users > Groups.  Create a new group and give it an enrollment key.  When a user enrolls, they will be asked for an enrollment key.  They can use either the one defined in the course settings or the one defined in the group settings.  If they use the group key they will be put in that group when they enroll.

Now if you want fifty different enrollment keys, manually creating fifty groups is time consuming.  Instead open Excel (or whatever spreadsheet program you have) and make a spreadsheet that has one column labelled groupname and one labelled enrolmentkey (note the spelling, Moodle thinks enrollment only has one L).  The labels have to be in the top row.  In the group name column write the name of your first group e.g. group001.  Drag the bottom corner of that box down and you will see Excel wants to put group002, group003 and so on all the way down the column.  For ease I am using the group names as the enrollment key so I just copied all the group names into the enrolmentkey column.

Then save the spreadsheet as a .csv file.  Excel might try to kick up a fuss about features or whatever but just press ok.  The on the groups page in Moodle, select Import Groups.  Choose your .csv and Moodle will create as many groups as you had in your spreadsheet with the enrollment keys.

I can now give this batch of enrollment keys to the LAs to distribute as they see fit.  Of course, users could use the same enrollment key to get other people they know on the course but a quick look by an admin at the groups page will tell you if more than one person is in a group and then they can be kicked out.

I'm still looking for a way to limit the number of members in each group.  That way each group could be set to a maximum number of 1 and the enrollment keys would, in effect, be single use.

Feb 2012 update:  Just a note to add, the .csv that you import groups from can only have those two columns or it won't work.  I want to keep a record of who has what enrolment keys so I have one Excel work book with everything on and just save one worksheet with only those two columns as a .csv.

Also, say you have made fifty groups by importing a .csv and want another fifty groups.  You can use the original spreadsheet with the extra groups added and import it the same way.  Moodle will recognised the groups that already exist and produce an unsuccessful message, and add the new ones normally.

Unfortunately I still don't have a way to limit the number of groups members.

Changing Icons

The icons in Moodle are hideous.  I don't know how they have managed to design icons that look so 70s, the forum one in particular is horrible.

To change them we first have to find some replacements.  I used a set of icons call the Moodalis theme, but since I downloaded them the website seems to have changed.  You can try searching for them.  Or you can use Tango, Famfamfam or whatever you want.  The good thing about the Moodalis theme was that they were already arranged the same way Moodle icons are arranged.

However you access your Moodle server (I use FTP) you need to find /web/pix.  You will see a bunch of folders with single letter names which is where most of the icons live (note: I say most).  They are arranged thusly:
a – Icons that are not widely used
c – Calendar-related icons
f – File icons for different file types
g – Default user icons and thumbnails
i – General icons
m – Currency symbols
s – Smileys
t – General icons
u – User icons and thumbnails
y – YUI icons
As I say the Moodalis icons were all categorized in the same way to make it easy but whatever icon set you choose you just need to make sure the icon you want to use is name EXACTLY the same as the icon you want to replace, including the file extension.


So if you want to replace the edit icon:

With a new one:

Simply make sure your new one is called edit.gif and is 16x16 (most icon sets are) and overwrite the original in the i folder.  If you do manage to find a theme organised for Moodle, you would be better to overwrite the icons rather than the folder (i.e. copy new icons into i rather than copying a new i folder over the original one).  This is because, in the Moodalis theme anyway, there are more icons in the original Moodle set so overwriting a whole folder would leave you with some icons missing.

To see the new icons you'll have to clear the theme cache (Settings > Site Administration > Advanced Features > Appearance > Themes > Theme Selector).

...And the hideous forum icon is still there.

The forum icon lives in /web/mod/forum/pix.  Replace it in the same way.

The yellow question mark is still in operation too but I have yet to find where that resides.  It will be a case of changing these icons as and when you come across them.  There is talk of changing the icon set that ships with Moodle but who knows when that will be.

Wednesday 27 July 2011

Making a course self enrollable (or the art of delegation)

The highest mark I got for a piece of work at university was 79% and it was for an essay on the McDonaldization of global culture.  You could say a lot of people think McDonaldization is the same as globalization.  That would be wrong, and not just because it would be inaccurate to say a lot of people had ever thought about McDonaldization.  I forget what the conclusion of my essay was but I do remember one of the key points of McDonaldization that makes it different from Globalization is that in McDonald's the customer does a lot of the work themselves.  They go to the counter to order, they carry the food to the table and when they're done they (should) clear the table themselves.  This means McDonald's needs less staff and can make more profit.

This concept is ubiquitous online.  If you want an account with anyone you fill in the form and submit it yourself.  If Google had to manually add every user to their database it would take forever.  Except it wouldn't take forever because they would have folded as a company before they got started.

So expecting our Moodle users to sign themselves up is not a bizarre concept.

To make your course self enrollable first you need a course.  Done that?  Good.

Logged in as an admin, select the course you want.  In the Settings menu chose Users > Enrollment Methods.  From the drop down choose Self Enrollment.  On the next screen you need to make sure Allow Self Enrollment is set to Yes.  You can leave the rest alone if you don't need it (or don't know what it means).

I'm going to set an Enrollment Key because, as I mentioned in my earlier post, the payment system is still in the works and I want to keep the riff raff out.  I'm going to use a simple, logical enrollment key because my brain is full of useless information like the difference between McDonaldization and Globalization and I tend to forget things I might actually need.  Although, if I do forget it I can just come back to this page and tick the Unmask button to see what the Key is.

Congratulations!  Your users can now do your work for you.

Payment Options

Money makes the world go round and a little knowledge is a dangerous thing so we have to charge for our training course.  And we do HAVE to charge because that money will be used to pay me.

I'd thought when I first started this project that we could just use the Paypal plugin on Moodle.  There would be  fees of course but they'd be relatively low, especially compared to what the company is paying now.

Trouble is we want to offer member discounts and apparently the Paypal plugin doesn't allow this, it's one size fits all.  I googled for companies that set up the shopping cart system for you (such as Course Merchant who I found to be very helpful by the way) but they charge too and it's quite a bit.  If we had budget for that I would have used them but if we had budget for that they probably wouldn't have hired me, they would have got someone who knew what they were doing.

Luckily (or not) the company is in the process of setting up its own shopping cart and payment gateway so we can sell stuff (membership, books etc.).  This system should be up and running by the end of August (not holding my breath) and will handle member discounts as a matter of routine.  Huzzah!  One less thing for me to think about.

Now, though, I have to work out a way for Moodle and this new shopping cart to talk to each other.  If I can make it work I think this would be very helpful to others, the Moodle forums are full of people looking for an alternative to the Paypal plugin.  The way I see it working is detailed on the flowchart below.

I thought it might work through the external database enrollment plugin.  The shopping cart would update a database that Moodle calls upon.  Of course it has just occured to me that if the shopping cart is updating a database to allow access to a course it could create the user account too.  This would mean our users could buy a course from the company website they already use and then get dumped out at the Moodle page already logged in. Hmm...

A couple of hours later and I've done a new flow chart.  Forget that old one because the new one blows it out of the water.

The payment shopping cart that is being designed will have to call upon and update our existing database anyway.  I think it is an SQL database.  Or MYSQL,  I don't know the difference.  But I do know we have a new database specialist guy starting who hopefully will be able to help me with adding new fields to the database and have Moodle look at those fields.

It is a much more elegant method to have the Moodle accounts created automatically rather than have users create their own accounts and then have to leave the Moodle site to enroll on a course.  Plus our users are not super computer savvy so the fewer steps the better.

Trouble is now I can't really get the payment system any further until the shopping cart is all built and that will be at least a month if not longer.  The Moodle site as it stands now is just about ready for what I am calling 'Public Beta.'  These will be users who get courses at a discount price on the proviso they give feedback and don't kick up a fuss if the server can't handle it and dies.  To let these guys in I think I'm going to have to use a course enrollment key.  This can be distributed to the testers and they can sign themselves up via self enrollment.

Monday 25 July 2011

Automated Emails

One of the current problems I'm having is trying the customise the automated emails Moodle sends.  The company has a visual style and wants emails to be in Arial, size 10, dark blue and preferably with a promotional signature that changes every couple of months.  On top of that I would like all emails to display some thing like Portal Admin in the from box and have my email in the 'if you need any help' link.

Under Site Administration > Server > Email there is an option for Support Name, Support Email and Support Page.  These options are for so-called 'help emails' which includes the initial emails new users get when they sign up for an account on your Moodle site and should also include any emails about passwords.  In the Support Name I put (Company Name) Portal Admin as this will be the first email users get and having my name show up on their email won't mean anything to them.  I used my email for the support email and left the Support Page blank as I haven't set one up yet.  Eventually I intend to have an FAQ page that I will put in here.

So that's the help emails sorted but when I tested it the emails received still had the IT man's name and email.  Given his lack of customer service skills I thought perhaps his was not the best email to give users.  The only way I could find to fix this was to remove him as admin (Site Administration > Advanced Features > Users > Site Administrators) so I was the only admin listed.  I then changed the last name on my profile to include the suffix (Admin) so users know who I am.

The only drawback with this method is that I have removed admin privileges from the IT man and when I re-add him as an admin he gets put above me in the list as does anyone else I try to make admin.  When I use a test account to enroll on a course no email comes at all. 

I have a post on the Moodle forums begging for any help.

I've searched EVERYWHERE for a way to add HTML to emails.  There is an option for users to receive plain text or 'Fancy HTML' versions of emails so there must be a way to put fancy HTML in emails.  The closest I can find to an answer is editing the PHP, which I am hesitant to do because I don't know PHP but will ask the IT man.  There's also a mention of automated emails using the servers email settings so I'll ask IT Man about that as well.

Friday 22 July 2011

Google Analytics with Moodle 2.0

I wanted to use Google Analytics with the Moodle site because further down the line I know people are going to want to see those numbers.  Plus, you know, I can use it to improve the site.

Implementing the tracking code is easy enough but like everything with Moodle I had to search around for information on how to do it.

Firstly you have to sign up with Google and register for Analytics (search for Google Analytics and follow the steps until you get to the Tracking Code section.)

Copy the generated Tracking Code, then on your Moodle site go to:

Site Administration > Appearance > Additional HTML

Paste the code into the 'Within Head' box and click Save Changes.  Return to the Google Analytics page and click Save and Finish.

Now wait for the hits to roll in.

Here is where I am now

I started work on this project in May 2011.  I know some web design, some graphic design, some media/marketing theory and I had been working for the company for about 8 months so I knew what they needed.  I had never used Moodle or done any training/online teaching before.

I should have started this blog back then... but I didn't.  C'est la vie.

The Moodle site looks like this at the moment.



The theme is a customised version of the Anomaly theme that is included in 2.0.  The images are stock images from the company's stash and the colours are their company colours.

If anyone finds this post and wants to know how I did something just leave a note in the comments and I'll help if I can. Part of the reason for this blog is that I forget how I did things so hopefully recording it will at least give me a clue when I inevitably have to change something.

The Portal (as we're calling it) is currently being tested by various people in the office so I can get some initial feedback on useability and design.  The project started as a vague idea to generate some more income so there was no design brief or real plan, I've just jumped in and got started.  This might not be the best way to work but I figured it was the quickest.

Marketing have decided that we do need some sort of plan, at least for how we're going to roll this portal out so one of the next stages will be to meet with them and discuss that.  This is a bit of an issue because the training department just want to get on with things and think marketing will try and throw a spanner in the works.  I previously worked with the marketing team so I will have to use my famous diplomacy skills to smooth the process over.  My current plan is to keep the two sides apart as much as possible.

I'm getting some initial feedback from this testing, most of it typos and little errors like that which are relatively easy to fix although I find the whole process to be quite annoying.  The lesson editing process in Moodle doesn't make things straight forward and I find it really easy to get distracted by some other thing I've spotted and forget what I was doing in the first place.

Some other points have been raised which I am working on meeting but I will write about these in their own posts.

First things First

So this blog is acting as a kind of project diary for me as I build a new website for my company.  We had to do a blog/project diary for a project at uni and I found it quite a helpful way to organise thoughts and keep track of what was happening.

I've decided to make it public because as I've been learning the Moodle system I have relied on what information I can find online.  I thought it only fair that I make what I have learned available to others in the same position.  Hopefully some poor soul will stumble across this blog whilst desperately Googling a problem and they can find an answer.