Difference between revisions of "Beginning Moodle 2.0 Administration"

Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 3.3. Up-to-date documentation for the latest stable version of Moodle is probably available here: Beginning Moodle 2.0 Administration.

(When I update over a 1.9 install, I get an error message about an incompatible plugin and it all stops. What can I do?)
(When I update over a 1.9 install, I get an error message about an incompatible plugin and it all stops. What can I do?)
Line 81: Line 81:
 
Well, don't do that!
 
Well, don't do that!
  
Sometimes, a file/folder will be removed from the code between one version of Moodle and the next. If you upgrade Moodle by copying the new Moodle code over the top of the old code, then the old files will remain, and can break things.
+
Sometimes, a file/folder will be removed from the code between one version of Moodle and the next. If you upgrade Moodle by copying the new Moodle code over the top of the old code, then the older files not duplicated or non-existant will remain, and can break things.
  
 
The correct way to upgrade is (assuming your Moodle code is in a folder called <tt>moodle</tt> on the server:
 
The correct way to upgrade is (assuming your Moodle code is in a folder called <tt>moodle</tt> on the server:

Revision as of 12:21, 11 January 2011

Template:Moodle 2.0 The pages are to carry on from the Beginning Administration FAQ pages but are aimed specifically at Moodle 2.0. Many of the solutions to problems will work in both versions of Moodle so if you do not find something here, then you may find it in the other pages.


I am being told that I need the intl php plugin to continue to install Moodle 2.0

The intl.dll from Zend is part of the PHP 5.2.8 release and later. It is aimed at improving the internationalization of php pages and Moodle 2.0 uses it as part of this process. If your install is on a local machine or network, then you can download the latest version of PHP and update your PHP. You then have to uncomment all the required dynamic extensions you need, including the php_intl.dll extension. The problem is then solved. If the install is on a host server, then you need to contact your host and ask them to do the same, As an alternative, you can unzip/untar the download file, copy and paste the intl.dll file to your php/ext folder and include the line:

 extension=php_intl.dll

in the Dynamic Extensions section of your php.ini file.

You can also set the error level using:

 intl.error_level = E_WARNING 

but this is not essential

If you are using a Linux install, use your system package manager or specify compilation flag.

   * Debian 5.0 (& Ubuntu) use: apt-get install php-intl or apt-get install php5-intl 
   * CentOS 5.5 (& RedHat) you should (probably) be using php 5.3 from remi and then use: yum install php-intl

This technique can be applied to any updated dynamic extension from Zend. You may want to use later dll files in your php/ext folder, you can do so by doing the same as above, but be careful, your version may not be able to take full advantage of the extension, or some very new extensions may cause an unexpected instability. The best option is still to update on a regular basis, perhaps once a year or so for the PHP.

Why am I having trouble restoring my existing courses into Moodle 2.0?

Simply put, as of December 2010, the changes between the way in which pre-Moodle 2.0 Moodles used the database and the moodledata file are at the core of the changes to Moodle 2.0. New and improved course security comes at a cost and that cost is the restoration of pre-Moodle 2.0 courses. A decision was made, to release Moodle 2.0 asap, and catch up backup and restore courses from earlier Moodles later. In just looking at the databases there are an additional 60 or more tables, so that creates a number of restoring issues alone. Also, the new backup and restore uses a PHP based zip and SQL to create the backup rather than xml. To bring Moodle 1.9.x courses into Moodle 2.0 is a monumental challenge, and full credit to those who are trying it.

How do I look up the error logs in Moodle 2.0?

First, turn the error logs on, go to

 Site administration ► Development ► Debugging

and set error messages to DEVELOPER: .... Then go to

 Site administration ► Reports ► Logs

set your report options to Home 2.0(Site), All Participants, All Activities or Site Errors, View, Display on Page and then click, "Get these logs". The report should give you something, and you may be able to develop an appropriate response from there.

Do I upgrade to Moodle 2.0 or just create a new install?

There is always debate around these issues, but simply put, Moodle 2.0 is not an update of an existing product. It is a complete re-write of a tried and tested tool. This presents its own challenges, obviously, and those challenges need be met in the best way we can. It is a temptation to go all in and jump to the new tool, but this can be a dangerous practice when dealing with a lot of people who are resistant to change, and the change from Moodle 1.9.x to 2.0 is massive.

Consider your own circumstances. Are you starting out on the Moodle journey or have you just been dropped into it? Perhaps you are starting out, and you have no resources or courses and you are building for the next few months when you want it to become a part of your learning centre and a showpiece for your institute. A complete new Moodle 2.x.x install and starting from scratch is most appropriate in this circumstance. All major features work in it and some of the tools are a lot more interesting than for Moodle 1.9.x.

 Don't worry about Moodle 1.9.x, just use the new Moodle 2.x.x and learn it if you are starting from scratch.

If you have been dropped into it, and have a lot of courses, and you need to administer your Moodle 1.9.x as well as look at updating, then the next best option is to install a new Moodle and open it just for your Administrators and Staff. Let them get used to the new interface, develop training courses around the new Moodle, not just for staff but for Users as well. Aim at your staff first, let them learn it then they can be more confident in using the new Moodle when they come to teaching their Users/Students.

 In short, best advice is NOT to install a Moodle 2.0 as a production site without thoroughly testing and training first. 

To install and run more than one Moodle successfully is actually simple. Install your Moodle 2.0 and then go to Site administration > Server > Session handling. Look for the Cookie prefix dialogue and add a value to it. Repeat the exercise in every other Moodle you have on your server, it should all work as it is supposed to - as long as the cookie prefixes are different for every Moodle, of course.

Cookie prefix for Moodle 2.0

Essentially, take your time and not be in too much of a rush if you have to convert your Staff and Learners to a new tool. Let the Staff get used to it first, then you can make the swap any time.

We have extensively used the Book for parts of our previous Moodle, can we do so for Moodle 2.0?

The really good news is that Petr Skoda (Skodak) has the Maintainer role for the Book plugin/module. Petr announced some time back that when his major coding tasks for Moodle 2.0 had been done, he was taking a short break then he would begin work on updating the Book for Moodle 2.0. While not available just yet, (at writing - Dec 2010) it will be soon. Please be aware, this is also a major undertaking, in time and in coding, so send Petr your best wishes and support.

That is OK for the Book, but what about other plugins and blocks?

As a general rule-of-thumb, if a plugin or block has not been maintained through Moodle 1.9.x then it is extremely unlikely it will make it to Moodle 2.0.x. This means the developer has not kept it current and may feel it is too much of a distraction from their current projects to keep active. This does not mean that you, or someone else, may not take it on, as long as you ensure that what you are working with is creative commons, open source or other non-proprietal software and you are not infringing either copyright or intellectual property rights. If you are not sure, try to contact the developer or last maintainer, they may be different - if required, get permission from them to continue development. Of course, you may also seek to develop an entirely new plugin, or block, but it is clear that it is actually duplicating something that already exists or was used in earlier versions of Moodle, but is no longer current. As long as you can prove the provenance of such a plugin or block, and do not use any code from anywhere else that is not original or acknowledged where the code came from, then you should be OK. For ideas and some rules around developing or updating a plugin, look at this page from Frank Ralf

We are installing Moodle and getting error messages about not using the unicode or UTF-8 charset

In recent times, this has become an issue with CPanel and Fantastico installers on some Linux servers. Apparently the default charset for these tools is a latin_swedish_ci charset. Moodle requires the UTF-8 charset. This is a relatively simple fix, if you have the right tools. Install phpMyAdmin and check it is working, if you do not already have it. You can then go to the SQL page and enter the following code:

 ALTER DATABASE `moodle` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

There have been, in the past, reports of tables that do not change using this SQL code, so try:

 ALTER TABLE `mdl_tablename` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; 

There have been no reasons as to why some tables are missed, but you can alter individual tables by using the code above. The code should look something like:

Changing the charset in Moodle 2.0

This also works in Moodle 1.9.x IF you use the utf8_general_ci charset.

NOTE: This SQL is supposed to work across the database, but recent reports suggest that the ALTER DATABASE seems to have a number of issues stemming from problems with the GRANT command. GRANT [permissiontype] is supposed to allow a user to access the entire database, but it no longer appears to be the case. The ALTER TABLE SQL has not been affected by this issue.

OK, but how can we tell what tables are not converted?

Using phpMyAdmin, you can find out almost anything you like about your database, as long as you know where to look. There is some real documentation about using phpMyAdmin that is linked both in the left and right panels. Go to the Database tab abd then select the database you want to look at.

Selecting the database tab in Moodle 2.0

Once selected, you will see what the charset is of each table. Any table that does not comply you can change using the table SQL code above.

Checking the table listings in phpMyAdmin


How do I get and install phpMyAdmin?

phpMyAdmin is another very useful plugin. In Moodle 2.0 the plugin has been updated and is now located in a different place than it was in earlier versions. Go to the phpMyAdmin page in Modules and Plugins and download the Moodle 2.0 version. Unzip it to the moodle/local folder and then go to Notifications. Moodle will then tell you it has been successfully installed. If you look in Administration > Server you will now find a line "phpMyAdmin". To access your database, click the link.

When I update over a 1.9 install, I get an error message about an incompatible plugin and it all stops. What can I do?

Well, don't do that!

Sometimes, a file/folder will be removed from the code between one version of Moodle and the next. If you upgrade Moodle by copying the new Moodle code over the top of the old code, then the older files not duplicated or non-existant will remain, and can break things.

The correct way to upgrade is (assuming your Moodle code is in a folder called moodle on the server:

  1. Upload the new code onto the server into a folder with a temporary name, like moodle_new.
  2. Copy the config.php file from the moodle folder to the moodle_new folder.
  3. For any third-party plugins you have installed, copy the code for them into moodle_new. (Make sure the plugin is compatible with the version of Moodle you are upgrading to.)
  4. Then rename the moodle folder to moodle_old, and then rename moodle_new to moodle.

See Also