Wednesday 27 June 2012

Skills and competencies tree for e-Learning

I think there is a problem in e-learning. There is no standard of skills and competencies recognition and comparing.
I did small  research on this problem.


Skills vs Competencies.
I wanted to be sure that i understand "skill" and "competence" terms correctly. This publication helped me to understand the difference.


What is the problem.
Now we have thousands of online courses. Some of them teach the same or similar things. BUt it is difficult to compare 2 courses from different vendors. 
For example, one course is named "PHP development" and other is named "PHP development". But PHP development competency has many different levels. Someone can be good in core PHP developement. Someone other can be good in Zend framework developement. And there are different levels of mastery in technology. 
How to understand if the online course is good to me? What background skills do i need to start the course?
Of course, every online course has description. But what if i search in database of 1000 courses? I need some standardized criteria. 


Possible solution.
It would be good if every online course has some standard tags associated with it. Like: "Core PHP developement level3", background required "Core PHP developement level2". Or "Zend Framework level2", background required  "Zend Framework level1" and "Core PHP developement level2".
In this case if i have the database of courses and skills tags associated with it i can easy find what courses are good for me with my existent background.


I think the solution of this problem is developing of some Skills Tree standard document
I tried to learn if there is such existent document.

Existent standards.
I googled some phrases like "skills tree", "competencies tree", "skills list standard" etc.
I didn't find one widely used standard of skills naming and descriptioning.
The best i found is DISCO http://www.skills-translator.net/?locale=en_GB.
But this is not standard. This can be good base of some international standard.
Scientific research.
I see many scientific articles on this subject about such problem exists and needs to be solved. But no one agreed standard. There are many projects and plans to solve this problem.
Many articles can be found in Google Academy
http://scholar.google.com/scholar?q=competencies+and+skills+&btnG=&hl=uk&as_sdt=0&as_vis=1

Government standards.
Also i see some standards developed by different govenrments. Especially many references to Australia competencies recognision documents. I think this is because of Australia immigration program that needs recognition of education level.

Video Game industry.
Video game industry has own concept of skills tree. Skills tries are used in strategies to "develop" heroes. Skills networks are good example of how skills and competensies tree should look like.

What i would like to have.
Ideally, i would like to have some document (probably, XML) released on some open licence like GNU and maintained by some independed organization. This document would contain full list of all existent skills and relations between them (parent-child dependencies). This document would need to be updated all the time, because new skills appear.


<?xml version="1.0"?>
<skills>
   <skill id="programming_php_core_l2">
      <author>Roman Doubush</author>
      <title>PHP Core Programming Level2</title>
     <required>programming_php_core_l1</required>
     <required>programming_algorithms</required>
     <required>programming_php_basics</required>
      <section>IT</section>
      <category>Programming</category>
      <publish_date>2000-10-01</publish_date>
      <description>PHP Core Programming Level2</description>
   </skill>
<skills>


Interesting links:
http://www.economist.com/node/12231124
http://www.cs.ny.gov/successionplanning/workgroups/competencies/competencylist.html



Monday 11 June 2012

Installing eFront LMS

I continue my experiments with installing and testing different Open Source LSM.
Today i tried to install eFront LMS (http://www.efrontlearning.net/).
I installed it on my hosting account. And installation was not success.

I get the error

Fatal error: Class 'ZipArchive' not found in /home/...../public_html/efront/libraries/filesystem.class.php on line 745

Looks like this LMS has special requirements for non standard PHP modules.

I can not affect on PHP configuration on my hosting account server. So i can not install eFront there.

Of course, i can install eFront on my local test machine, because there i can install ZipArchive extension for PHP.

Thursday 7 June 2012

Printable certificate of course completion

I worked on the Moodle plugin CertificatesWall to add feature to make printable certificate of course completion.
To make the printable certificate it was needed to convert the image to PDF.
As the plugin is written with PHP it was needed to get PHP library that allows to generate PDF from an image.

And i have found very good library FPDF

The code is simple.

$imgfile='...'; //source image file
$destfile='...';  //final destination file


require(SITE_DIR.'include/fpdf/fpdf.php');
$pdf = new FPDF('L','mm','A4'); //set output format size
$pdf->SetTitle($title);   //set title of the page
$pdf->SetTopMargin(0);  //disable white spaces
$pdf->SetLeftMargin(0);
$pdf->AddPage();  

$dpi=getImageOptimalDPIForWidth($imgfile,297,210);   //this is my function to get optimal dpi
                                                                                            //to get image fill all page
$pdf->Image($imgfile,0,0,-$dpi);  //add image to the page
$pdf->Output($destfile,'F');           //output PDF file



Monday 4 June 2012

Installing Moodle 2.2

I continue my experiments with Open Source LMS
Today i installed Moodle 2.2
The installation was easy . I get the only problem

unicode
must be installed and enabled


It is required that you store all your data in Unicode format (UTF-8). New installations must be performed into databases that have their default character set as Unicode. If you are upgrading, you should perform the UTF-8 migration process (see the Admin page).

To solve this problem i had  to change encoding of the database.
My database name is moodle_2.2.  
I have executed SQL command

ALTER DATABASE `moodle_2.2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

And now Moodle installation can be completed.

Sunday 3 June 2012

Installing ILIAS 4.2.4

I have decided to test different open source LMS (learning management systems).
The first i tried is ILIAS .

I downloaded the file 'ilias-4.2.4.tar.gz' , uncompressed it and uploaded to my web server (folowing installation instructions).

When i opened with the browser http://myhost.com/setup/setup.php i get following errors:

Warning: file(/lang/setup_lang_sel_multi.lang) [function.file]: failed to open stream: No such file or directory in ...ilias/setup/classes/class.ilLanguage.php on line 107

Warning: file(/lang/setup_en.lang) [function.file]: failed to open stream: No such file or directory in ...ilias/setup/classes/class.ilLanguage.php on line 123

Warning: parse_ini_file(/setup/ilias.master.ini.php) [function.parse-ini-file]: failed to open stream: No such file or directory in ...ilias/setup/classes/class.ilSetup.php on line 149

Warning: parse_ini_file(/setup/client.master.ini.php) [function.parse-ini-file]: failed to open stream: No such file or directory in ...ilias/setup/classes/class.ilClient.php on line 56

Warning: dir(/lang) [function.dir]: failed to open dir: No such file or directory in ...ilias/setup/classes/class.ilLanguage.php on line 191

Warning: chdir() [function.chdir]: No such file or directory (errno 2) in ...ilias/setup/classes/class.ilLanguage.php on line 193

Fatal error: Call to a member function read() on a non-object in /home/skills...ilias/setup/classes/class.ilLanguage.php on line 196


After a quick look with google about the problem i didn't find a solution. I have decided to solve the problem myself.

And it was easy. I have changed the file setup/setup.php
After :
if (is_dir("./pear"))
{
    ini_set("include_path", "./pear:".ini_get("include_path"));
}

I have inserted new line:

if(!defined("ILIAS_ABSOLUTE_PATH")) define ('ILIAS_ABSOLUTE_PATH',dirname(__FILE__).'/../');

And now installation works fine!