<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lewis Carr</title>
	<atom:link href="http://lewiscarr.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://lewiscarr.co.uk</link>
	<description>Moodle Developer, Designer, Project Manager</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:02:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Assignment Grading hack for Moodle 2</title>
		<link>http://lewiscarr.co.uk/2012/02/assignment-grading-hack-moodle-2/</link>
		<comments>http://lewiscarr.co.uk/2012/02/assignment-grading-hack-moodle-2/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 08:45:22 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[Moodle2]]></category>

		<guid isPermaLink="false">http://lewiscarr.co.uk/?p=610</guid>
		<description><![CDATA[One of the biggest frustrations with Moodle 2 is the changes to the theme that create an iframe scroll effect for content that exceeds the width of the theme. For example, if your theme is 1000 pixels wide, the gradebook doesn&#8217;t get pushed off the edge, as in Moodle 1.9, but instead is wrapped inside [...]]]></description>
			<content:encoded><![CDATA[<p>One of the biggest frustrations with Moodle 2 is the changes to the theme that create an iframe scroll effect for content that exceeds the width of the theme.</p>
<p>For example, if your theme is 1000 pixels wide, the gradebook doesn&#8217;t get pushed off the edge, as in Moodle 1.9, but instead is wrapped inside the container with an additional horizontal scroll bar.  Whilst this does look neater, it makes grading assignments with many users a cumbersome task.  And here at Leeds, this receives the most complaints from tutors.</p>
<p>Tutors have to scroll to the bottom of the page to find the horizontal scroll bar and then back up again to find the student.  Even pressing the right arrow key on the keyboard doesn&#8217;t stop them from finding their place in the table, and sticky user profile pics doesn&#8217;t cut it either.</p>
<p>I know this year I said I would refrain from hacking the course code but this is a necessity.</p>
<p>After much deliberation I decided the cleanest and tidiest way to improve the grading of assignments was to replace the user pics column with an additional status column.</p>
<p>Now when a tutor views an assignment they see the link to either &#8220;Grade&#8221; or &#8220;update&#8221; right next to the student name.<br />
No more sideways scrolling and it&#8217;s quick and easy to see what hasn&#8217;t been marked.</p>
<p><strong>To do this I edited mod/assignment/lib and around line 1478</strong></p>
<p>Change<br />
<em>$row = array($picture, $userlink, $grade, $comment, $studentmodified, $teachermodified, $status, $finalgrade);</em><br />
<strong>to</strong><br />
<em>$row = array($status, $userlink, $grade, $comment, $studentmodified, $teachermodified, $status, $finalgrade);</em></p>
<p>All we have done here is replaced $picture with $status.<br />
I then made some CSS changes to make the link appear more like a button by adding some padding and a background colour and border.</p>
<p>Now everyone is happy I can get back to my other tasks&#8230;.for now anyhow!</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2012/02/assignment-grading-hack-moodle-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moodle Subpage Module</title>
		<link>http://lewiscarr.co.uk/2012/01/moodle-subpage-module/</link>
		<comments>http://lewiscarr.co.uk/2012/01/moodle-subpage-module/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 16:07:04 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Moodle2]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://lewiscarr.co.uk/?p=601</guid>
		<description><![CDATA[This has to be one of the best modules I&#8217;ve seen for Moodle. It&#8217;s created by Sam Marshall from the Open University and still in beta but I simply had to install it. It allows tutors to split a course up into sub-courses and add resources and activities within these sub-courses. A bit like how [...]]]></description>
			<content:encoded><![CDATA[<p>This has to be one of the best modules I&#8217;ve seen for Moodle.  It&#8217;s created by<a href="https://github.com/moodleou/moodle-mod_subpage"> Sam Marshall from the Open University</a> and still in beta but I simply had to install it.</p>
<p>It allows tutors to split a course up into sub-courses and add resources and activities within these sub-courses.</p>
<p>A bit like how I use meta courses already.  But doing it this way reduces the overhead on the meta enrolments and easily allows resources to be moved around the course.</p>
<p>The tutor simply adds the sub-page through the &#8220;<strong>Add a Resource</strong>&#8221; activity.</p>
<p>The mod installed perfectly and I applied the patches that fix the redirect as suggested by Sam.<br />
I wasn&#8217;t keen with the way it orphans the activies in the sub-page so I removed orphaned activities using CSS (I don&#8217;t like the orphaned activities in Moodle 2 period, I prefer to increase/reduce the number of topics instead).</p>
<p>Lastly, I added some CSS to my theme so that the links to the sub-pages use the same graphics we use for all of our unit links.</p>
<p><strong>This mod has several advantages: </strong></p>
<p>1)Long courses can be split up into units<br />
2)No coding necessary<br />
3)It auto creates the link to the new section<br />
4) It auto creates the standard graphic we use for creating units<br />
5) If you put assignments in a sub-course, or sub-courses, it will show from your main course gradebook, so everything is in one place.<br />
6) You can have sub-courses, within sub-courses within sub-courses&#8230;great for complex courses or modules<br />
7) You can use groups and groupings on the sub-course link so that only certain students on your course can see the sub-course</p>
<p>Thanks Sam, this mod is amazing.  I&#8217;ll be keeping my eye on its development and maybe tweaking it some more myself.</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2012/01/moodle-subpage-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moodle Mobile Usage</title>
		<link>http://lewiscarr.co.uk/2012/01/593/</link>
		<comments>http://lewiscarr.co.uk/2012/01/593/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 15:01:51 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[My ramblings]]></category>

		<guid isPermaLink="false">http://lewiscarr.co.uk/?p=593</guid>
		<description><![CDATA[Last week I produced a mobile usage report for the Leeds City College Moodle. By using Google Analytics I was able to determine which devices users were accessing Moodle with and calculate the average number of mobile visitors per month.  The plan is to increase our Mobile usage by improving the user interface and promote the [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Last week I produced a mobile usage report for the Leeds City College Moodle. By using Google Analytics I was able to determine which devices users were accessing Moodle with and calculate the average number of mobile visitors per month.  The plan is to increase our Mobile usage by improving the user interface and promote the benefits of using Moodle via a mobile to all of our students.</p>
<p>As expected, the iPhone has the highest number of users, followed by Android.  I was disappointed by the lack of Windows Devices and hope to get hold of such a devise to test properly and maybe improve the user experience.</p>
<p>Here is a quick overview:</p>
<p>&nbsp;</p>
<p><a href="http://lewiscarr.co.uk/wp-content/uploads/2012/01/mobilestatssmall.jpg"><img class="alignright size-full wp-image-594" title="mobilestatssmall" src="http://lewiscarr.co.uk/wp-content/uploads/2012/01/mobilestatssmall.jpg" alt="" width="690" height="518" /></a></p>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2012/01/593/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The importance of Moodle backups</title>
		<link>http://lewiscarr.co.uk/2011/12/importance-moodle-backups/</link>
		<comments>http://lewiscarr.co.uk/2011/12/importance-moodle-backups/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 15:05:40 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[Bug Fixes]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[My ramblings]]></category>
		<category><![CDATA[backup]]></category>

		<guid isPermaLink="false">http://lewiscarr.co.uk/?p=579</guid>
		<description><![CDATA[There is a phrase, or it may even be a brand slogan that says, &#8220;If it&#8217;s worth creating, it&#8217;s worth backing up&#8220;.  And from my experience this week, nothing could be closer to the truth. As the size of the Leeds City College Moodle grows, so does the number of assignments, grades and feedback.  And as [...]]]></description>
			<content:encoded><![CDATA[<p>There is a phrase, or it may even be a brand slogan that says, &#8220;<strong>If it&#8217;s worth creating, it&#8217;s worth backing up</strong>&#8220;.  And from my experience this week, nothing could be closer to the truth.</p>
<p>As the size of the Leeds City College Moodle grows, so does the number of assignments, grades and feedback.  And as this grows, the critical importance of Moodle grows with it.  And ultimately it&#8217;s all my responsibility, sadly my salary doesn&#8217;t grow inline with it.</p>
<p>Last week we experienced a glitch that could have been catastrophic if it wasn&#8217;t for our regimented backup routines.<br />
It was brought to my attention that a tutor on a course deleted a student assignment that had been uploaded in the wrong place.  The delete worked but it also deleted every other assignment in the course and every grade and feedback.</p>
<blockquote><p><strong>And that&#8217;s where the panic kicked in.</strong></p></blockquote>
<p>Over 335 assignments had gone, along with the tutors feedback.  This left me with 2 options;</p>
<ol>
<li>get each student to resubmit every piece of coursework from scratch and ask the tutor to re-grade them, or</li>
<li>restore what I can from the backups</li>
</ol>
<p>Option 1 was not possible, nor was it fair on the students or tutors.</p>
<p>Our Moodle database is backed up each day, the Moodle Data Directory is incrementally copied to a remote server so we can always roll back at least 24 hours.  Sometimes even further if required.</p>
<p>I couldn&#8217;t simply do a course restore as the course was in full time use, and since the disaster other students had submitted other assignments.  So to restore the course would lose even more data.</p>
<p>So I had to fix this &#8220;old school&#8221; .  By extracting the assignment submission entries from a database backup 24 hours before and then manually log in as each student and resubmit the original files.  By importing the submission data I was able to restore the feedback and grades.</p>
<p>And yes, there were over 335 to do, and this involved finding the file, saving it locally, logging on as the student, uploading the file, logging out and repeating the process each time.  Needless to say, it took me 3 days.  My eyes were strained, my wrist in tatters and my will to live in pieces but I got there in the end.  Luckily it was only 335, and not the 16,000 uploaded since September.</p>
<p>Had I not had a backup then we would have lost over 300 assignments, and the feedback, and this is all crucial to our students future and qualification grade.</p>
<p>If you take anything from this blog post, aside from sympathy for me&#8230;then please&#8230;devise and implement a solid backup plan&#8230;it could save your sanity and your job.</p>
<p>Now I  just have to figure out what caused the assignments to all disappear in the first place&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2011/12/importance-moodle-backups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moodle and e-commerce shopping carts</title>
		<link>http://lewiscarr.co.uk/2011/11/moodle-e-commerce-shopping-carts/</link>
		<comments>http://lewiscarr.co.uk/2011/11/moodle-e-commerce-shopping-carts/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 16:56:16 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Moodle]]></category>
		<category><![CDATA[Moodle Tutorials]]></category>
		<category><![CDATA[My ramblings]]></category>
		<category><![CDATA[magneto]]></category>
		<category><![CDATA[oscommerce]]></category>
		<category><![CDATA[shopping cart]]></category>

		<guid isPermaLink="false">http://lewiscarr.co.uk/?p=563</guid>
		<description><![CDATA[Linking Moodle to a web based shopping cart is easy and requires very little coding to allow users to browse courses, add them to a cart, pay for them, and then automatically gain access to the paid courses on Moodle.  And best if all, only use one login for the entire process. My personal favourite [...]]]></description>
			<content:encoded><![CDATA[<p>Linking Moodle to a web based shopping cart is easy and requires very little coding to allow users to browse courses, add them to a cart, pay for them, and then automatically gain access to the paid courses on Moodle.  And best if all, only use one login for the entire process.</p>
<p><a href="http://lewiscarr.co.uk/wp-content/uploads/2011/11/magneto.png"><img class="alignright size-full wp-image-567" title="Moodle + Magneto = Amazing Moodle Shopping Cart" src="http://lewiscarr.co.uk/wp-content/uploads/2011/11/magneto.png" alt="Moodle + Magneto = Amazing Moodle Shopping Cart" width="200" height="156" /></a>My personal favourite Open Source carts are OS Commerce and the newer, slicker Magneto.  But it really doesn&#8217;t matter which cart you use, as long as it is driven by a popular web database such as MySQL or MSQL. It can be home grown or a commercial platform.</p>
<p>This short blog posts explains the process in its simplest terms.</p>
<p>In your online shop you create courses as products. You can put them in categories, offer discounts and name then whatever you like. Just like you would if we&#8217;re selling DVDs or shoes.</p>
<p>The important bit is to use a unique field for your product that we can use as a course ID number in Moodle.</p>
<p>Once you have your courses entered into your shop and you&#8217;ve configured it to accept payments and create accounts you are ready to instruct Moodle to read the products and the users from the shop database.</p>
<p>For this step we will be using 2 important Moodle features.</p>
<ol>
<li> Plugins &gt; Authentication</li>
<li>Plugin &gt; Enrolment</li>
</ol>
<p>Under the authentication plugin in Moodle, choose &#8220;External Database&#8221; and complete the form to match the credentials of your shopping carts database.  You will need to know the user fields used in your shopping cart and basically match them up to the user fields in Moodle.</p>
<p>Now under the enrolment plugin we need to do the same thing, this time we are matching fields from your product table with fields in the Moodle course table.</p>
<p>Now make sure that your courses have the same IDNUMBER as your products in the shopping site.  Lastly, make sure both plugins are enabled and away you go.</p>
<p><strong>Here&#8217;s  a quick recap of the process and what happens:</strong></p>
<ol>
<li>Your user visits your shopping site</li>
<li>They browse for courses and add them to the cart</li>
<li>They go to the checkout and pay for the courses and enter their personal details</li>
<li>Now they can visit your Moodle site and login with the same details they just entered for the shopping site</li>
<li>Moodle will log in the user and enrol them on the correct courses (i.e the ones they have paid for).</li>
</ol>
<p>You can take this further and theme the shopping site to match your Moodle install and customise the emails to provide direct links to the course in the emailed receipt.  And if you want to go even further, you could tweak the code to keep the same login session so it&#8217;s seamless between the 2 systems.</p>
<p>I hope you found this useful and if anyone is thinking about creating a shopping cart for Moodle using this method then I&#8217;d love to tender for the job.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2011/11/moodle-e-commerce-shopping-carts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Block Building for Moodle 2</title>
		<link>http://lewiscarr.co.uk/2011/08/block-building-for-moodle-2/</link>
		<comments>http://lewiscarr.co.uk/2011/08/block-building-for-moodle-2/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 16:50:05 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[Moodle 2]]></category>
		<category><![CDATA[Moodle2]]></category>

		<guid isPermaLink="false">http://lewiscarr.co.uk/2011/08/block-building-for-moodle-2/</guid>
		<description><![CDATA[This year, instead of hacking the Moodle core to death we have decided to stick with core Moodle code, and this time we have put all our custom pages in their own folder. I am in the process of converting many custom code projects into blocks and mods. An it&#8217;s surprisingly easy with Moodle 2. [...]]]></description>
			<content:encoded><![CDATA[<p>This year, instead of hacking the Moodle core to death we have decided to stick with core Moodle code, and this time we have put all our custom pages in their own folder.<br />
I am in the process of converting many custom code projects into blocks and mods. An it&#8217;s surprisingly easy with Moodle 2.</p>
<p>Today I built a simple course header block that displays the course title with a nicely rounded CSS background image.<br />
Previously we used to draw course headers in Photoshop but now we don&#8217;t need to.<br />
And because we can place blocks in the centre of our theme the headers sit very neatly at the top of the course content above the resources.</p>
<p>At present it&#8217;s limited to 1 image but the plan is to develop it further whereby the tutor can select from a variety of images when in editing mode.<br />
For example, there may be an image for construction courses, one for hairdressing courses etc&#8230; Plus a few generic ones.</p>
<p>This saves hours of time &#8211; no more Photoshop!</p>
<p>The next mod we need to build is similar to a label but instead creates a pre-drawn banner and associated link to a child course. At present we draw images, add them to a label and hyperlink them to a hidden child course. Painful and time consuming!</p>
<p>However, time is always the issue. And we are fully stretched with a new term just a few days away so finding time to code is harder than the code itself!<br />
It will be non stop tech support for the next month and then we will see how we go!</p>
<p>And the senior powers that be require a  Moodle reporting engine that links to our MIS system! I&#8217;d rather build the fun stuff but need to keep the bosses happy!</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2011/08/block-building-for-moodle-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug fixing week (Moodle 2)</title>
		<link>http://lewiscarr.co.uk/2011/08/bug-fixing-week-moodle-2/</link>
		<comments>http://lewiscarr.co.uk/2011/08/bug-fixing-week-moodle-2/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 15:13:54 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Moodle 2]]></category>
		<category><![CDATA[Moodle2]]></category>

		<guid isPermaLink="false">http://lewiscarr.co.uk/?p=463</guid>
		<description><![CDATA[This week I finally found some time to sit in front of my computer and address some of the niggly little glitches that have arisen since our Moodle 2 upgrade. One of which was the sending of emails via the cron. For some unknown reason, Moodle 2 could not initiate the send mail function. After [...]]]></description>
			<content:encoded><![CDATA[<p>This week I finally found some time to sit in front of my computer and address some of the niggly little glitches that have arisen since our Moodle 2 upgrade.</p>
<p>One of which was the sending of emails via the cron.  For some unknown reason, Moodle 2 could not initiate the send mail function.  After several hours debugging and trying various things I decided to put the path to the sendmail server directly into Moodle, as opposed to using the default PHP path.  And sure enough it worked!  Even though the paths are exactly the same and worked prior to the upgrade, this was the only way I could get around it.</p>
<p>The next problem I had was with external Database enrolments via ODBC .  For some reason, our Moodle 2.0 installation was refusing to run the queries even though I could communicate directly with the external database.  Eventually, after searching through countless PHP pages I decided to drop ODBC in favour of FreeTDS.  This worked like a charm.</p>
<p>Lastly, our cron was falling over when trying to run the course completion function.  This was due to a mismatch in database collations.  For some reason, 3 of our tables were set to utf8_general_ci, instead of utf_unicode_ci.  I changed these tables to unicode and the cron completed this action.</p>
<p>Then I encountered another problem.  Again cron related.  The process kept on terminating whilst completing  meta enrol enrolments.  This happened everytime and just by chance I happened to time how long the process would last until it terminated.  It was exactly 60 seconds.  So to fix this I changed the timeout in php.ini to a much longer time limit of 300 seconds and now the cron completes perfectly.</p>
<p>It is now the end of the week and although the above fixes are more work arounds as opposed to actual core fixes at least things are working again.  I have submitted some of my findings to the Moodle Tracker and hopefully some of these issues will be resolved in future releases.</p>
<p>I finished the week by installing the Drag and Drop file uplaoder block by the brilliant <a href="http://www.davodev.co.uk/">Davo Smith</a>.  This is by far my favourite block of all time.  For those that are unfamiliar with it check out: <a href="http://moodle.org/mod/forum/discuss.php?d=181988">http://moodle.org/mod/forum/discuss.php?d=181988</a></p>
<p>The only hack I had to make was to make the block sticky on all courses.  As it&#8217;s a course block its not possible to make it sticky in Moodle 2.0 on all course pages by default.</p>
<p>To do this find the line:</p>
<pre>function applicable_formats() {
 return array('course' =&gt; true);
 }</pre>
<p>And change to:</p>
<pre>function applicable_formats() {
 return array('all' =&gt; true);
 }</pre>
<p>Now you can add the block to the frontpage and set it to appear on all pages.<br />
Once my workload settles down I&#8217;m looking forward to coding and developing again.</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2011/08/bug-fixing-week-moodle-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Moodle 2.0 Upgrade Journey Part 4 (Final)</title>
		<link>http://lewiscarr.co.uk/2011/07/moodle-2-0-upgrade-journey-part-4-final/</link>
		<comments>http://lewiscarr.co.uk/2011/07/moodle-2-0-upgrade-journey-part-4-final/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 10:34:48 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[Moodle 2]]></category>

		<guid isPermaLink="false">http://lewiscarr.co.uk/?p=450</guid>
		<description><![CDATA[Moodle 2.0 is now live at the Leeds City College! It&#8217;s been a very busy week but we finally got there.  It&#8217;s by no means finished.  There are still lots of little tweaks needed throughout the summer but it&#8217;s working &#8211; which wasn&#8217;t an easy task. After the upgrade I found that many of the [...]]]></description>
			<content:encoded><![CDATA[<p>Moodle 2.0 is now live at the Leeds City College!</p>
<p>It&#8217;s been a very busy week but we finally got there.  It&#8217;s by no means finished.  There are still lots of little tweaks needed throughout the summer but it&#8217;s working &#8211; which wasn&#8217;t an easy task.</p>
<p>After the upgrade I found that many of the links to resources were not working, even though the fields were correctly associated with them.  It turns out this has something to do with the description fields being empty and the priority ID order.  There&#8217;s plenty of discussion about this in the Moodle forums.</p>
<p>I managed to patch the early version of Moodle 2.0 with the latest release and it fixed the broken links problem.</p>
<p>The upgrade has however caused errors with the theme selector.  It appears as though I can only select one theme, not too much of an issue at this stage but something I will have to repair later.</p>
<p>The book module upgrade went well and I&#8217;ve decided to leave the Questionnaire Module out in favour of the new Feedback Module. Moodle folders doesn&#8217;t fully work yet as it&#8217;s not Moodle 2.0 ready but LDAP and Database Enrollments are fully restored and things look promising.</p>
<p>For the rest of the week I&#8217;ll be installing the various repositories and wait for our college tutors to come knocking at the door wondering why everything has changed.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2011/07/moodle-2-0-upgrade-journey-part-4-final/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Moodle 2.0 Upgrade Journey Part 3</title>
		<link>http://lewiscarr.co.uk/2011/07/moodle-2-0-upgrade-journey-part-3/</link>
		<comments>http://lewiscarr.co.uk/2011/07/moodle-2-0-upgrade-journey-part-3/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 14:11:58 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[Moodle 2]]></category>

		<guid isPermaLink="false">http://lewiscarr.co.uk/?p=441</guid>
		<description><![CDATA[Well today I finally set about upgrading the Leeds City College Production Server and it has been quite an eventful day. After making the necessary changes to Apache and PHP (namely upgrading them both) and then backing up a snapshot of the live system I began the upgrade. Even though I have simulated this many [...]]]></description>
			<content:encoded><![CDATA[<p>Well today I finally set about upgrading the Leeds City College Production Server and it has been quite an eventful day.</p>
<p>After making the necessary changes to Apache and PHP (namely upgrading them both) and then backing up a snapshot of the live system I began the upgrade.</p>
<blockquote><p>Even though I have simulated this many times on a test server doing it live threw up problems I had not yet encountered.  The first error I got was an Illegal mix of collations, I don&#8217;t think was a reference to the current UK government but more a warning to me to stop mucking around with the tables.</p></blockquote>
<p>I had to run a quick query against the tables in the database</p>
<p><strong>ALTER TABLE mdl_tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;</strong></p>
<p>And this fixed things.</p>
<blockquote><p>Then I hit my second error, &#8220;<strong>Debug info:</strong> Unknown column &#8216;itemid&#8217; in &#8216;field list&#8217;&#8221;</p></blockquote>
<p>Having absolutely no idea how to fix this I spent the next few hours in the forums/tracker and came out none the wiser.</p>
<p>I then decided to just opt for a clean install before moving on just to see if the error is more to do with my current setup.  It turns out the latest snapshot of Moodle 2.1 has a slight fault in it, whereby I can&#8217;t select any themes but it installed nevertheless.</p>
<p>I revisited the earlier error above and still couldn&#8217;t find a fix.  The Moodle developers have done a lot more work on the install script since I downloaded it several months ago and by chance I had still had an older version.</p>
<p>I deleted the current failed Moodle 2.0 from the server, restored the database and tried an install and to my delight this one works.</p>
<p>So currently it&#8217;s migrating all the course files and this will take several hours so this blog post will end here and pick up tomorrow.  The plan is to upgrade this old Moodle 2.0 with the new version.  I realize it&#8217;s a patchy way to work but I have no choice and time is running out as this project is due completion in 4 days from now.</p>
<p>And although I&#8217;m on my fifth cup of tea I&#8217;m still feeling quite calm.</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2011/07/moodle-2-0-upgrade-journey-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Moodle 2.0 Upgrade Journey Part 2</title>
		<link>http://lewiscarr.co.uk/2011/02/my-moodle-2-0-upgrade-journey-part-2/</link>
		<comments>http://lewiscarr.co.uk/2011/02/my-moodle-2-0-upgrade-journey-part-2/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 15:03:46 +0000</pubDate>
		<dc:creator>Lewis Carr</dc:creator>
				<category><![CDATA[Moodle 2]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[For this next part of the process I copied my Moodle 1.9 installation to a local development server.  But to save time I didn't copy the entire MoodleData folder as it's over 160GB.  I only copied the first 20 folders.
As I wouldn't be using LDAP on this test server (yet!) I changed my admin account to a manual account so I didn't lock myself out.

I then flushed out the htdocs folder and copied the Moodle 2.0 installation files across so that I had a clean install with no modifications and ran the install script.]]></description>
			<content:encoded><![CDATA[<p>For this next part of the process I copied my Moodle 1.9 installation to a local development server.  But to save time I didn&#8217;t copy the entire MoodleData folder as it&#8217;s over 160GB.  I only copied the first 20 folders.<br />
As I wouldn&#8217;t be using LDAP on this test server (yet!) I changed my admin account to a manual account so I didn&#8217;t lock myself out.</p>
<p>I then flushed out the htdocs folder and copied the Moodle 2.0 installation files across so that I had a clean install with no modifications and ran the install script.</p>
<p>Things looked good and the new progress bar moved along nicely.  I hit several errors when trying to migrate the MoodleData folders I left behind as it simply could not find them, again this was intentional on my part and expected.</p>
<p><b>Then I hit my first serious error.</b></p>
<p>The installer stopped when migrating the meta courses and I was left with an ugly looking error message.</p>
<p>If I skipped the error and continued with the install then Moodle 2.0 would load but I was unable to use any meta course functionality.</p>
<p>After several days of trying various things to fix this, including submitting it to the Moodle tracker (http://tracker.moodle.org/browse/MDL-26352) I finally figured out what was happening.</p>
<p>It turns out that I had courses listed in my meta table that no longer existed in my course table.</p>
<p>(For the more techie amongst us, I had entries in mdl_course_meta but the corresponding IDs in mdl_course were no longer there).  For some reason, Moodle had not removed the meta course entry when we had deleted courses in the past.</p>
<p>And this was the cause of the error.</p>
<p><b>I used the following MySQL query to see which entries were causing this error:</b><br />
<code><br />
SELECT fullname, mdl_course.id, parent_course FROM mdl_course_meta<br />
LEFT JOIN mdl_course ON mdl_course.id = mdl_course_meta.parent_course WHERE fullname IS NULL<br />
</code><br />
The query returned 30 entries which were promptly deleted.</p>
<p>And now the upgrade worked <u>without any further hitches!</u></p>
<p>So now I have a fully functional Moodle 2.0 with over 25,000 live student account and over 6000 courses and approximately 3000 meta courses.</p>
<p>After a few initial checks to check the integrity of the data it is safe to say that the upgrade has gone as expected.  Everything appears to be in the correct place, enrolments appear to have been migrated successfully and the migrated data from the MoodleData folder has worked flawlessly.</p>
<h3>So what&#8217;s next&#8230;.</h3>
<p>In Part 3 I will further test the system and check that live database enrolments are working and test the authentication plug-ins and single sign on.</p>
<p>I&#8217;ll then need to do larger upgrade test with all 160GB of MoodleData- this will take an awfully long time!</p>
<p>Despite the slight hiccup with meta courses this upgrade has massively boosted my confidence in Moodle 2.0 and I urge all those who maybe considering an upgrade to do a test simulation as I have done. </p>
<p>Stay posted for the next instalment.</p>
]]></content:encoded>
			<wfw:commentRss>http://lewiscarr.co.uk/2011/02/my-moodle-2-0-upgrade-journey-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

