#เล่าสู่กันฟัง 63-022 ปลุกชีพมูเดิ้ล

ระบบอีเลินนิ่ง (e-learning) ที่ใช้กันแพร่หลาย ในฝั่งของ #ผู้เปิดบริการอีเลินนิ่ง คงหนีไม่พ้น moodle ที่พัฒนามาต่อเนื่องยาวนาน ระบบนี้ก็ต้องมีเครื่อง มีภาษา มีฐาน และมีโค้ด ผู้พัฒนามูเดิ้ลเค้าอัพโค้ด ให้เข้ากับภาษาใหม่ และฐานใหม่ แต่ถ้ามีเครื่องบริการที่ลงภาษาใหม่ แต่ฐานเก่า เช่น php7 กับ mysql5 ตัวโค้ดก็จะไม่ทำงานตามปกติ ผู้พัฒนาโค้ดก็ไม่ได้ทำให้รองรับส่วนนี้ เครื่องบริการเก่าหลายไซต์เค้าไม่อัพ ถ้าอัพจะกระทบระบบเดิมของคนเป็นร้อยเป็นพัน

http://www.thaiall.com/moodle

เครื่องของผมที่เช่าไว้ก็เข้าปัญหาข้างต้น จึงต้องปรับโค้ดเก่าเป็น code ใหม่ เพราะ code เก่าเคยทำงานได้ปกติ แต่ยังใช้ฐานเดิม งม deprecate กันนานหน่อย เยอะด้วยครับกับรุ่นคำสั่งที่ไม่เข้ากัน

สุดท้าย เห็นหน้าแรกโผ่มาแล้วก็ชื่นใจ

http://www.thaiall.com/e-learning/moodle.htm

ค้นฟังก์ชัน get_fast_modinfo พบใน course/lib.php สำหรับ moodle 1.9

https://github.com/conel/moodle-1.9/tree/master/lib

ช่วงท้ายของการแก้ไข code (6 ก.พ.63)
ได้การสืบค้นจาก https://github.com/conel/moodle-1.9/
แล้วเทียบว่า function ที่มีปัญหาอยู่แห่งหนตำบลใด
ทำให้ไม่ต้อง download code จาก server ค้นเพื่อแก้ไข
ปัญหาที่พบหลัก คือ function รับ และส่งตัวแปรไม่เท่ากัน
ปัญหาการใช้ object ที่ต้องเปลี่ยนไปเป็น stdclass
และ deprecate เช่น eregi_replace ที่ต้องใช้ preg_replace แทน

แก้ปัญหาลืมรหัสผ่านของ moodle

กรณีลืมรหัสผ่านเข้า moodle
กรณีลืมรหัสผ่านเข้า moodle

วันนี้ มีเพื่อนที่เป็น admin ถามกรณีลืมรหัสผ่านเข้า moodle
พอมีเวลาเพราะวันนี้ไม่ง่วงนอน จึงเข้าไปแกะ table ใน moodle
แล้วผมตอบไปว่า การเปลี่ยนรหัสผ่านของ admin หรือ user ใด
ใน moodle เข้าไปเปลี่ยนได้ไม่ยากครับ สำหรับกรณีลืมรหัสผ่าน
1. ใช้ phpmyadmin เข้าไปดูรหัสผ่านในตาราง mdl_user
2. รหัสผ่านจะเข้ารหัสไว้อ่านไม่ออก แต่คัดลอกไปวางให้คนอื่นได้เลย
เช่น p ก็จะเป็น 83878c91171338902e0fe0fb97a8c47a
3. เลือกรหัสผ่านของคนอื่นที่เข้าระบบได้ ที่เราทราบรหัสผ่านนั้น
แล้วคัดลอกไปวางแทนรหัสผ่านของ admin
ก่อนคัดลอกไปวาง ก็คัดลอกรหัสผ่านของ admin เก็บไว้ก่อน
เท่านี้ก็เข้าระบบด้วย user ของ admin ได้แล้ว
4. ถ้าไม่มีรหัสผ่านที่ทราบเลย ลองของผมก็ได้
รหัสผ่านคือ p เข้ารหัสแล้วก็เป็นตามข้อ 2
5. วิธีนี้ผมทดสอบกับ 1.5 และ 1.9
ซึ่ง user กับ password ไม่ผูกโยงกัน
Password#2555 = 54f24d3ceb6c4c264cd93d8aee2b2d3e
p = 83878c91171338902e0fe0fb97a8c47a

ผมใช้ระบบใน http://www.thaiabc.com

มูดเดิ้ลล้ม แล้วย้ายเครื่อง ออกอาการสตาร์ทไม่ติด

can not start moodle
can not start moodle

การติดตั้ง moodle 2.1 ขึ้นไป
ต้องใช้ PHP 5.3.2 เป็นขั้นต่ำ
อย่างเครื่องที่ใช้ PHP 5.2.6 ถ้ามีการปิดระบบ หรือย้ายเครื่อง
อาจพบปัญหานี้ได้ ก็แก้ไขโดยเปลี่ยนรุ่นของ php
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
in C:\Appserv\www\_class\lib\accesslib.php on line 5288
แล้วอย่าลืมว่า mysql ก็ต้อง MySQL 5.0.25 ขึ้นไป
อย่างเครื่องบริการเครื่องหนึ่งเป็น php 4 + mysql 4
ก็ต้องเลือก moodle 1.9 เพราะ 2.2 ต้องการมากกว่าที่มี
แต่ถ้าเป็นเครื่องที่ควบคุมได้ ก็ลงไปเลย php5.3 + mysql5.0
แล้วการใช้ appserv ก็เป็นอะไรที่สะดวกสบายยิ่ง
.. confirm

student group in moodle e-learning system

student group in moodle
student group in moodle

moodle เป็นระบบ e-learning ที่รองรับระบบกลุ่ม สามารถจัดกลุ่มนักศึกษา (group) ในกรณีใช้ course เดียว แต่มีนักศึกษาหลายกลุ่ม (multi group) ได้ หากไม่จัดเป็น multi group ก็จะมีปัญหาเรื่องข้อมูลอย่างแน่นอน ดังนั้นจึงต้อง edit course settings แล้วกำหนด Group mode เป็น Separate groups และ Force group mode เป็น yes
การเปลี่ยน properties ข้างต้น มีผลให้การเข้าดูผลการเรียน หรือการบ้านของนักศึกษาในแต่ละกลุ่ม จะปรากฎตัวเลือก Separate groups ให้เลือกได้ว่าจะทำงานกับกลุ่มใด ซึ่งเหมาะกับวิชาที่เปิดให้นักศึกษาต่างกลุ่ม หรือต่างปี สามารถเข้ามาเรียนรู้การพัฒนาการเรียนการสอนที่เกิดขึ้นได้ แต่สิ่งสำคัญ คือ เนื้อหาต้องไม่ต่างไปจากเดิมมากนัก จึงเหมาะกับกลุ่มที่รับเนื้อหา content ใกล้เคียงกัน และกรณีของผมก็ไม่ได้ปรับ content มากนัก ในความต่างของกลุ่มที่เกิดขึ้น จึงใช้แนวนี้ได้

config of quiz in moodle 1.9

config of quiz in moodle 1.9
config of quiz in moodle 1.9

11 ก.ค.55 มีโอกาสเตรียม quiz ที่ทำใน moodle เครื่องหนึ่งใช้ moodle 1.9 แล้ว backup นำไป restore ในอีกเครื่องหนึ่งที่ใช้ moodle 2.2 เพราะถ้าทำที่ server ตัวเดียว หากหายไปก็จะยุ่ง โดยบทเรียนครั้งนี้มีดังนี้
บันทึกค่า configuration สำหรับการสร้าง quiz ว่ากำหนดแบบใด ให้นักศึกษาทำครั้งเดียว และไม่มีเฉลยออกมาในเวลานั้น เพราะถ้าใช้ค่า default จะเปิดให้นักศึกษาทำได้หลายครั้ง ซึ่งเป็นการฝึกปฏิบัติ โดยกำหนดให้ shuffle แต่ไม่ Adaptive และ Attempt ซ้ำไม่ได้ และใช้คะแนนจาก First Attempt ส่วน review ก็แสดงเฉพาะคะแนนหลังทำเสร็จ
ตัวแรกอยู่ที่ http://www.thaiall.com/moodle เพื่อน ๆ เข้าไปเรียนรู้ได้ครับ

อัพโหลดผู้ใช้เข้า moodle 2.2.1

moodle user upload
moodle user upload

การอัพโหลด รายชื่อผู้ใช้เข้าระบบอีเลินนิ่งของ moodle มีเงื่อนไข ดังนี้ 1) บรรทัดละ 1 คน 2) ทุกบรรทัดมีหนึ่งระเบียน แต่ละระเบียน แบ่งแยกด้วย , หรือเครื่องหมายแล่งแยกอื่น 3) ระเบียนแรกให้เป็นชื่อเขตข้อมูล 4) ชื่อเขตข้อมูล คือ username, password, firstname, lastname, email

ผมมีข้อมูลเป็นอีเมล และต้องการใช้ email เป็นรหัสสำหรับ login เช่น xxx@yyy.com แล้วต้องการเฉพาะ xxx จึงใช้ฟังก์ชันด้านล่างนี้

=LOWER(MID(E2,1,FIND(“@”,E2)-1))

ในโปรแกรม excel เพื่อให้ได้แฟ้ม csv

ผลทดสอบส่ง  597 คน เข้าระบบ เรียบร้อยดีครับ

ข้อสอบของ bbc webwise เรื่อง email

email of bbc webwise
email of bbc webwise

มีโอกาสได้เรียนรู้ระบบข้อสอบของ bbc.co.uk หัวข้อ email ใน webwise อยู่ในเว็บไซต์
แล้วพิมพ์ข้อสอบตามที่เห็นใส่ไปในระบบ e-learning moodle 1.9.12 แล้วทำการ backup โดยเลือกเฉพาะข้อสอบ แล้วนำไป restore ใน e-learning moodle 2.2.1 พบว่าข้อสอบเข้าไปใน moodle ระบบใหม่ได้ปกติ ทำให้มีแนวคิดว่าจะทำข้อสอบขึ้นมา แต่สามารถนำไปติดตั้งได้หลายเครื่องบริการ โดยรุ่นของ moodle ตัวหลักที่ผมจะใช้ คือ 1.9.12 แต่ตัวปลายทางจะเป็น 2.2.1 เพราะถ้าเริ่มต้นที่ตัวปลายทาง จะไม่สามารถนำเนื้อหาไปใช้กับระบบเก่า

ขั้นตอนการติดตั้ง moodle 1.9.12 และ senayan3

โปรแกรม senayan3
โปรแกรม senayan3

บันทึกขั้นตอน จากกิจกรรมปรับปรุงรุ่นของโปรแกรมแก้วสารพัดนึกใน thaiabc.com เป็นรุ่น 8.0 โดยเพิ่ม moodle1.9.12 จากที่มี moodle1.5 ทำให้มี e-learning ใช้ 2 รุ่นและเปรียบเทียบกันได้ เหตุผลที่เลือก 1.9 เพราะที่  thaiall.com/moodle ใช้รุ่นนี้มาปีกว่าแล้ว แต่ไม่ใช้รุ่น 2.0 ขึ้นไป ด้วยเหตุว่า backup ในรุ่น 2.0 จะนำไป restore ใน 1.9 ไม่ได้ ถ้านำ backup ของ 1.9 ไป restore ใน 2.0 นั้นทำได้ และจากการทดสอบ restore  course จาก thaiall.com/moodle ในเครื่องใหม่นี้ พบว่านำมาใช้ได้ตามปกติ

ขั้นตอนการติดตั้ง moodle 1.9.12

1. เปิดบริการ apache2.0.52 และ mysql5.5.16
ตอนเปิดบริการในเครื่องที่ติดตั้ง skype อาจพบปัญหา port 80 ชนกันได้ครับ
2. เตรียม scripts ในห้อง /moodle19
3. สร้างห้อง /moodledoc19 เตรียมรับข้อมูลจากผู้ใช้
4. เริ่มติดตั้งด้วยการเรียก /moodle19/install.php
5. ต้องแก้ไข register_globals=Off ใน php.ini แล้วก็ restart apache
ถ้าไม่รู้ว่า php.ini อยู่ห้องใดก็เรียก function phpinfo()
6. พบขั้นตอนการติดตั้งดังนี้
– Checking your PHP settings
– Please conform the locations of this Moodle installation
Web Address = http://127.0.0.1/moodle19
Data Directory = C:\thaiabc\moodledata
– Now you need to configure the database
Type = MySQL
Host Server = localhost
Database = moodle19 (Create DB automatically)
User = root
Password = ว่างไว้
– Checking your environment
– Download language pack
– Configuration completed
– Copyright notice
– Current release information Moodle 1.9.12 (Build: 20110510)
– Setting up database : Database was successfully upgraded
– Setup administrator account.
Username = admin
password = Password#2555
– New settings – Front Page settings
Self registration = Email-based self-registration
7. ผลการเรียก http://127.0.0.1/moodle19 พบว่าปกติ
8. สร้างวิชา และ upload แฟ้มภาพ และเรียกใช้แฟ้มภาพ ไม่พบปัญหา

ขั้นตอนการ Restore course ของ moodle 1.9.12
1. เข้าไปในวิชาที่สร้างไว้แล้ว
2. เลือก Restore
3. เลือกแฟ้มที่ Backup ไว้จาก server อีกตัวหนึ่ง
4. เมื่อถามว่า Restore to
– Current course, deleting it first
– Current course, ading data to it
– new course
5. ทดสอบทั้ง 3 แบบ พบว่าใช้งานได้ปกติ
6. ถ้าทดสอบ new course ก็จะได้วิชาใหม่อีก 1 วิชา ไม่ทับวิชาเดิม

ขั้นตอนการติดตั้ง senayan3
1. เปิดโปรแกรม phpmyadmin
2. สร้าง db : senayan3 แล้วเข้าไปใน db นี้
3. สั่งประมวลผล sql 2 แฟ้มในห้อง /senayan3/sql/install
4. เริ่มจาก import แฟ้ม senayan.sql ตามด้วย  sample_data.sql
5. แก้ไข sysconfig.inc.php
define(‘DB_NAME’, ‘senayan3’);
define(‘DB_USERNAME’, ‘root’);
define(‘DB_PASSWORD’, ”);
6. เข้าระบบด้วย
user: admin
password: admin
7. ทดสอบที่ http://127.0.0.1/senayan3 พบว่าใช้งานได้ปกติ
8. แก้ไขตัวแปรใน sysconfig.inc.php อีก 2 ตัวแปร
$sysconf[‘mysqldump’] = ‘c:/thaiabc/mysql/data’;
$sysconf[‘temp_dir’] = ‘c:/tmp’;

http://www.thaiall.com/blog/burin/3955/
http://slims.web.id/web/
http://sourceforge.net/projects/senayanlib/
http://www.senayan.kru-ple.com/

SENAYAN 3.0 stable
Core Senayan Developer :
Hendro Wicaksono – hendrowicaksono@yahoo.com
Arie Nugraha – dicarve@yahoo.com
Below are the instructions for new installation of SENAYAN :
1. Put senayan3-stable3 folder in web document root
2. create senayan database in mysql
3. Open your phpMyAdmin or mysql client utility (or other mysql manager softwares) and
run sql/install/senayan.sql inside your SENAYAN application database.
4. Re-check your database configurations and others configuration in sysconfig.inc.php.
5. If you have your own custom template, Adjust detail_template.php file or just overwrite it
with detail_template.php from default template directory

how to backup and restore moodle from 1.9.12 to 2.2.1

backup and restore course
backup and restore course

28 เม.ย.55 เนื่องจากผมใช้ระบบอีเลินนิ่ง 2 รุ่นบนเครื่องบริการ 2 เครื่อง โดยเครื่องหนึ่งเป็น moodle 1.9.12 และอีกเครื่องเป็น 2.2.1 หากมี course ที่ต้องการให้ทั้ง 2 เครื่องใช้ได้ทั้งคู่ผ่านวิธี backup & restore ที่แยกบริการกันอิสระ ซึ่งไม่ใช้ user ร่วมกัน .. แต่ปัญหาที่พบคือ แฟ้มที่ backup ได้จาก 2.2.1 เป็น MBZ เมื่อนำไป restore ใน 1.9.12 ก็พบว่าไม่รู้จัก จึงสรุปในเบื้องต้นว่า ผมไม่สามารถย้าย course จากรุ่น 2.2.1 ลงไปรุ่น 1.9.12

จึงทดสอบใหม่ ด้วยการย้ายบางวิชาจาก 1.9.12 ไป 2.2.1 ซึ่งแฟ้มของ 1.9.12 เป็น .zip ผลคือ 2.2.1 รู้จักแฟ้ม backup รุ่นเก่า และใช้งานได้ โดยขั้นตอนการทดสอบเขียนไว้ใน paragraph ถัดไป และแบ่งไว้ 2 section คือ section แรกเป็นการ backup ส่วน section ที่สองเป็นการ restore ทำให้ต่อไปผมต้องเตรียมการสอนใน moodle 1.9.12 แล้วคัดลอกไปวางใน 2.2.1 เมื่อมีการเปลี่ยนแปลงเนื้อหา

First section
objective : to backup your course in moodle 1.9.12 to your computer
1. login by teacher account
2. click on the selected course
3. click backup, next ..
4. until got file, save as backup file to your computer
5. sample file : backup-tech-20120428-0931.zip

Second section
Objective : to restore your backup file to moodle 2.2.1
1. login by admin account
2. Settings, Front page settings, Restore
3. Choose a file (from your computer in first section)
4. select category, continue ..
5. select : Delete the contents of this course and then restore
6. select :
– include activities
– include blocks
7. Settings to keep old students
– Keep current roles and enrolments = yes
– Keep current groups and groupings = yes
8. found message after the complete
“The course was restored successfully, clicking the continue button below will take you to view the course you restored.”

http://docs.moodle.org/19/en/Course_restore
http://docs.moodle.org/22/en/Course_restore

ทดสอบ samsung galaxy tab 10.1 กับ moodle 2.2.1

moodle enrollment
moodle enrollment

7 เมย.55 ผมทดสอบเปิดบริการ e-learning ด้วย moodle 2.2.1 มาระยะหนึ่ง ต่อมาได้รับการติดต่อจากอาจารย์ John Cable ขอเข้าใช้ระบบ ผมถือว่าท่านเป็นคนแรกที่ขอเข้าระบบด้วยจิตอาสา เมื่อผมเข้าไปในรายวิชาของท่านก็พบว่า ระบบการรับนักเรียนใหม่ หรือที่เรียกว่า enroll จะต้องดำเนินการโดยอาจารย์เจ้าของวิชา แต่ถ้าให้นักเรียนสมัครเองได้ หรือเป็นวิชาแบบเปิดรับทั่วไป ต้องปรับตัวเลือก Enrollment methods ของวิชา และกำหนดให้อนุญาต Self enrollment (Student) ซึ่งวิชาใดอนุญาตแบบนี้ก็จะมีสัญลักษณ์ประตูและลูกศรสีเขียว เมื่อนักเรียนเข้าในรายวิชา ก็สามารถเลือก Enroll me โดยไม่เป็นภาระกับผู้สอนที่ต้องมาอนุญาตเป็นรายคน หรือรายกลุ่ม
มีระบบอีเลินนิ่งพร้อมทำงานแล้ว ก็มาตรวจอุปกรณ์ที่นักเรียน และนักศึกษาต้องใช้ ในกรณีนี้ทดสอบกับ samsung galaxy tab 10.1 เพราะถือเป็นอุปกรณ์รุ่นใหม่ในปี 2555 ที่ใช้ android 3.1 Honeycomb พบว่าสามารถเข้าระบบ และอ่านเอกสารได้ไม่มีปัญหา โดยแฟ้มประเภท docx หรือ pdf สามารถอ่านได้ด้วย polaris office แต่พบปัญหาเหมือนกับในอุปกรณ์ที่เคยทดสอบรุ่นอื่น คือ ไม่สามารถ upload แฟ้มประเภท word หรือ excel ได้ แต่ upload รูปภาพได้  เมื่อทดสอบเข้าเว็บไซต์ dropbox.com ก็ไม่พบปุ่ม upload เลย แล้วทดสอบกับ google docs ที่ใช้ gmail account ก็ไม่พบปุ่ม upload เช่นกัน หลังติดตั้ง googledoc app ก็ไม่พบปุ่ม upload เหมือนเดิม ระบบยอมให้สร้างแฟ้ม หรือแก้ไขแฟ้ม แต่ upload จากแฟ้มที่มีในอุปกรณ์ไม่ได้

กำลังคิดว่าอุปกรณ์ประเภท tablet pc ที่ใช้ android หรือ ios จาก apple อาจไม่ยอมให้ upload แฟ้มทั่วไป แต่ถ้าเป็น Acer Iconia Tab W500 ก็อาจทำได้ เพราะทำงานด้วยระบบปฏิบัติการวินโดว์ แต่ถ้าเป็น Acer Iconia Tab a500 ก็คงไม่ได้ เพราะใช้ android ก็หวังว่าในอนาคตอุปกรณ์ประเภท tablet pc จะยอมให้เข้าจัดการกับแฟ้มลักษณะต่าง ๆ ได้สะดวก และไม่จำกัดการอัพโหลดเหมือนในปัจจุบัน