Showing posts with label elog. Show all posts
Showing posts with label elog. Show all posts

Thursday, November 3, 2011

คำขอ จากผู้เดือดร้อน

บทส่ง
เนื่องจากงานนี้ อืมม ก็ทุกงานด้วยแหละ เขียนขึ้นสดๆ ไม่มีร่าง ทำไปแก้ไขไป นับเนื่องได้หลายตอนอยู่ หากพี่ๆท่านใดมาจับเอาตอนกลางๆเรื่องเข้า ก็อาจจะไม่เข้าใจได้ จึงใคร่ขอ ขมวดเรื่องราว เอาไว้พอให้ได้ภาพรวมอีกครั้ง ดังนี้

  1. งานนี้ เขียนขึ้นเพื่อแบ่งเบาภาระของ อาสาสมัคร ให้ความช่วยเหลือแก่ ผู้ประสบภัยน้ำท่วม ตามศูนย์อพยพต่างๆ
  2. ขอบเขตของงาน กำหนดไว้กว้างๆทีแรก และปรับมาเรื่อย จนที่สุด แบ่งขอบเขตของงานออกเป็นสามส่วน ทั้งนี้ เพื่อให้สอดคล้องกับ ความต้องการ ของผู้ที่เดือดร้อน กับ วิธีการแก้ปัญหา, โปรแกรม elog นี้
  3. โปรแกรม elog นี้นำมาแก้ปัญหาเฉพาะหน้า เป็นเบื้องต้น เพราะนำไปใช้ได้เลย ทันที การแก้ปัญหาในแนวทางอื่น ก็ยังทำต่อไป
  4. โปรแกรม elog นี้ สามารถใช้ได้ทั้งบน windows และ unix แต่ในที่นี้ แนะนำการใช้งานบน FreeBSD ซึ่งเป็น unix ตัวหนึ่ง โดยมีวิธีการดังนี้
    • ลงโปรแกรมผ่าน port ตาม ลิงค์ ที่ให้ไว้แล้ว
    • กำหนดขอบเขตของงาน ซึ่งได้ทำแล้วในข้อ 2 นั้น แล้วแก้ไขแฟ้ม /usr/local/etc/elogd.cfg ให้ตรงตามที่ลงไว้ ล่าสุด แล้วนั้น และ
    • แฟ้มนี้ต้องกำหนดให้ แก้ไขได้ เขียนทับได้ อ่านได้ โดยเจ้าของชื่อ elog เท่านั้น
  5. การใช้งานได้ให้คู่มือแนะนำไว้แล้วเช่นกัน จาก ข้อเขียน ล่าสุดในชุดนี้
  6. ข้อมูล การบันทึก จะถูกเก็บในสาระบบแฟ้ม /usr/local/www/elog หากไม่มีการกำหนดเป็นอื่น ในตอนลงผ่าน port ในข้อ 4 bullet แรกนั้น อย่างไรก็ดี ตามเอกสารนี้ ข้อมูลการบันทึก ทั้งหมดจะถูกสร้างใน
    • สาระบบแฟ้ม ปูมประจำวัน
    • สาระบบแฟ้ม งานเข้า
    • สาระบบแฟ้ม รายงาน
    ภายใต้ สาระบบแฟ้ม /usr/local/www/eLOG/FLOODING อีกทีหนึ่ง เพราะเห็นว่า หากจะเก็บข้อมูลเรื่องอื่นที่มิใช่ น้ำท่วม ก็สามารถสร้าง สาระบบแฟ้มเพิ่มจาก /usr/local/www/eLOG เอาอีกได้ ทำให้ การดูแลรักษา สะดวกขึ้นมาอีกนิดหนึ่ง  อนึ่งข้อมูลที่บันทึกในแต่ละวัน จะเก็บแยกกันไว้ สามารถดูออกได้ง่าย
  7. การเรียกใช้งาน หากเครื่องที่ลงโปรแกรมนี้ ต่อกับเครือข่าย internet อยู่ ย่อมสามารถ เรียกใช้งาน จากเครื่องอื่น ที่ เชื่อมต่อ ในเครื่อข่ายได้   การใช้งานปกติมักเรียกผ่าน http://localhost:8000/ ก็ให้เรียกผ่าน http://<ip number>:8000/ เมื่อ <ip number> คือหมายเลข ip ของเครื่องที่ลงโปรแกรมนี้ ทั้งนี้ เพราะโปรแกรมนี้ ทำงานในลักษณะของ servers เล็กๆตัวหนึ่ง 
หวังว่า คงพอให้ภาพรวมกว้างๆ สำหรับการ มองปัญหา-แก้ปัญหา โดยจำเพาะวิธี นี้ออกมาบ้าง

อีกครั้งหนึ่ง หากจะดูเรื่องราวที่เกี่ยวข้องกับโปรแกรม elog นี้ ก็ให้กด ที่คำว่า elog ตรงบริเวณ คำสำคัญ ด้านล่างข้อเขียนนี้

ขอได้รับการขอบคุณจาก
มะไฟ ฅนยาก
มะขาม ฅนเดินดิน
_/\_

Wednesday, November 2, 2011

คำขอ จากผู้เดือดร้อน

ตอนนี้ เกือบสุดท้ายแล้ว เป็นการแนะนำถึง การใช้งาน

จะนำรูปภาพมาเสนอ ประกอบคำอธิบายสั้นๆ  รูปภาพ จับด้วยโปรแกรมประเภท screenshot และตัดแต่งอีกที ด้วย gimp โดย จิตรกรจำเป็น ดังนั้น บางรูปจึงดูทื่อมะลื่อ แต่ก็สอดคล้องกับที่ฝรั่งว่า KISS -- Keep It Simple and Stupid.

บนพื้นฐานว่า ขอบเขตงาน นั้นเป็นไปตามที่ได้ยกร่างมา และ ปรับแก้ไขแล้ว สุดท้าย ตามนี้น่ะครับ ตามข้างล่างนี้เลย

[global]
Max Content length = 125829120 ;; 128m
List Menu Commands = New, Find, Select, CSV Import, Help
Date format = %a, %B %d, %Y
Time format =  %a, %B %d, %Y %T
;; ปูมประจำวัน คือ คำขอ
Group น้ำท่วม = ปูมประจำวัน, งานเข้า
Group KPI = รายงาน
Welcome Title = <p><b>ปูมบันทึกงาน</b></p>
charset = utf-8
port=8000
Main Tab = บันทึกคำขอความช่วยเหลือ
Page Title = Thailand 2011 flooding

[ปูมประจำวัน]
Theme = default
Comment =  บันทึกงานทั่วไป คำขอรับบริจาค จากผู้ประสบภัยน้ำท่วม
Menu Commands =  List, New,  Edit, Delete, Reply, Duplicate, Find, Help
Attributes =  ผู้รับแจ้ง, บัตรประชาชน, ชื่อนามสกุล, ที่อยู่อาศัยเดิม, สถานที่พักพิงปัจจุบัน, ระดับความเดือดร้อน, ความเดือดร้อน, หมายเลขมือถือ, POC, สถานะความช่วยเหลือ, Rev
Locked attributes = Rev
Subst on Edit Rev = $Rev<br>$date
Options ระดับความเดือดร้อน = คนป่วย, ภายใน ๑ ชั่วโมง, ภายในครึ่งวัน, ภายในวันนี้, ภายในสองวันนี้, ภายในสัปดาห์นี้
Options ความเดือดร้อน = ต้องการน้ำดื่ม, แบตเตอรีมือถือหมด, ผ้าอนามัยหมด, ผ้าห่ม, ประจุแบตเตอรี
Extendable Options = ความเดือดร้อน
Options สถานะความช่วยเหลือ = มอบหมายผู้รับผิดชอบแล้ว, เริ่มดำเนินการ, เร่งด่วน, ติดตามงานครั้งที่ ๑, ติดตามงานครั้งที่ ๒, ลำเร็จ, ได้รับรายงานแรกแล้ว, งานสำเร็จ, รอมอบหมาย
Reverse sort = 1
Required Attributes = ผู้รับแจ้ง, บัตรประชาชน, ชื่อนามสกุล, ที่อยู่อาศัยเดิม, สถานที่พักพิงปัจจุบัน, ระดับความเดือดร้อน, ความเดือดร้อน, หมายเลขมือถือ, POC, สถานะความช่วยเหลือ
Quick filter = Date, บัตรประชาชน

[งานเข้า]
Theme =default
Comment = กำหนดผู้รับผิดชอบ เข้าคิวรอ มอบหมายงาน
Menu Commands =  List, New,  Edit, Delete, Reply, Duplicate, Find, Help
Attributes = ลำดับคำขอ, ระดับสำคัญ,  หัวหน้าทีม, สาระสั้นๆ, รายงานแรก, ผลลัพธ์, rev
Options ระดับสำคัญ = คนป่วย, ภายใน ๑ ชั่วโมง, ภายใน ๑ วัน, ภายใน ๒ วัน, ภายในสัปดาห์นี้
Options รายงานแรก = พบเป้าหมายแล้ว, พบ POC แล้ว
Extendable Options = รายงานแรก
Required Attributes = ลำดับคำขอ, ระดับสำคัญ,  หัวหน้าทีม, สาระสั้นๆ, รายงานแรก
Locked attributes = rev
Subst on Edit rev = $rev<br>$date
Reverse sort = 1

[รายงาน]
Theme = default
Comment = ผลลัพธ์การปฏิบัติงาน
Menu Commands =  List, New,  Edit, Delete, Reply, Duplicate, Find, Help
Attributes = ลำดับคำขอ, หัวหน้าทีม, เส้นทาง, อุปสรรค, ระยะเวลาการเข้าถึง, ผลลัพธ์, ข้อเสนอแนะ, rev
Locked attributes = rev
Subst on Edit rev = $rev<br>$date
Required Attributes = ลำดับคำขอ, หัวหน้าทีม, เส้นทาง, อุปสรรค, ระยะเวลาการเข้าถึง, ผลลัพธ์, ข้อเสนอแนะ


เรียกใช้งาน
 ภาพแรกนี้ เป็นการบอกถึงการเรียกใช้งาน ซึ่ง แม้จะรู้ๆกันอยู่ ก็ต้องบอก
ใช่แล้วครับ ให้เรียก web browser ยอดฮิตของท่าน แล้วไปที่ http://localhost:8000/ ตามที่ระบุไว้ในรูปนี้ คือ ถ้าท่านลงที่เครื่องไหน ก็ให้ใช้ที่เครื่องนั้นแหละ เอายังงี้ไปก่อน แม้ว่า จะสามารถต่อกับ internet ได้ก็ตามที อย่างตอนนี้ มะไฟ ก็เปิดทิ้งไว้อยู่ ถ้าต่อมา ก็อาจจะติด http://wmc.homeunix.org:8000/

รายละเอียดบางส่วนในหน้าแรก
รูปถัดมา แสดงให้เห็นถึง Group ต่างๆ ที่ระบุไว้ในส่วน [global] นั้น กลุ่ม KPI ก็คือตัวชี้วัดแหละ กลุ่ม น้ำท่วม ก็รวมเอา บันทึกของ ปูมบันทึกประจำวัน และ งานเข้า มาไว้ด้วยกัน



ส่วน หรือ section ต่างๆ
ขอให้สังเกตุว่า ข้างล่างของบันทึกนั้น จะมีข้อความอยู่ ซึ่งทำให้เราเข้าใจถึง บันทึก นั้นๆว่า เป็นบันทึกของอะไร ตรงนี้เอง ที่ปรากฏในแฟ้ม elogd.cfg เป็น Comment  ซึ่งดูว่าจะ mis leading อยู่บ้าง เน้าะ ว่ามั้ย

Welcome Title และ Page Title
 รูปถัดมาแสดงให้เห็นถึง ไตเติลต่างๆ ที่ระบุไว้ในแฟ้ม elogd.cfg ในส่วน [global] นั้น

หวังว่าพี่ๆ ทุกท่านคงพอได้แนวความคิดบ้าง เผื่อจะนำไปประกอบกับ ขอบเขตงาน ของพี่ท่านเอง น่ะครับ  ลำดับถัดมา มะไฟ จะเข้าไปในส่วน [ปูมประจำวัน] โดยการกด mouse ตรงตัวหนังสือนั้น มาให้ได้ดูกัน

ภายในส่วน [ปูมประจำวัน]
เมื่อพี่เข้ามาในนี้แล้ว ก็จะเห็น ภายใน ของบันทึก เป็นอย่างนี้ ทุก บันทึก เมื่อแรกเริ่ม จะเป็นแบบนี้ เหมือนกันหมด สำหรับการเข้ามาครั้งแรก จะต่างกัน ก็ ตรง Attributes เท่านั้นเอง
tab ต่างๆ
 รูปนี้ แสดงให้เห็นถึง tab เพื่อใช้สำหรับการ navigate ไปยังส่วนต่างๆ ของ บันทึก
ตามที่เรากำหนดไว้นั้น บันทึกนี้ มี ๒ Group กับ ๑ Main tab อันซ้ายสุดนั้น เมื่อเรากด มันจะนำเรากลับไปหน้าแรกทันที tab ที่เหลือ ถัดมา ก็จะบอกถึง Group ต่างๆที่มีที่จัดไว้

เนื่องจากเราเข้ามาด้วยการเลือก ปูมประจำวัน ดังนั้น tab น้ำท่วม กับ บันทึกชื่อ ปูมประจำวัน จึงถูก highlight ด้วยสีน้ำเงิน  ถ้าท่านย้อนไปดูแฟ้ม elogd.cfg ในส่วนของ [ปูมประจำวัน] นั้น ตรง Comment เขาเขียนว่าอะไร แล้ว มันอยู่ตรงไหน ในรูปล่าสุด ที่ชื่อ tab ต่างๆ นี้  คงพอเข้าใจแล้ว ใช่ไหมครับว่า มันทำหน้าที่อะไร Comment น่ะ

ขอบเขตงาน หรือ Attributes
รูปถัดมา บอกให้เรารู้ถึง ขอบเขตงาน ที่เราได้ยกร่างไว้ และ แก้ไขสุดท้ายแล้วนั้น มันมาอยู่ตรงไหนของบันทึก ใช่แล้วครับ ที่ปรากฏในแฟ้ม elogd.cfg ว่า Attributes ของแต่ละ ส่วน นั่นแหละ

เริ่มต้นบันทึก
บันทึกข้อมูล
ลำดับถัดไป, รูปชื่อ เริ่มต้นบันทึก, จะบอกว่า ถ้าเราจะเพิ่ม record หรือ เริ่มบันทึก จะทำอย่างไร ก็เพียงแค่ กดตรงเมนู ที่ชื่อ New นั้นแหละครับ ที่เมื่อกดเข้าไปแล้ว ก็จะพบกับกรอบสี่เหลี่ยม ให้เรากรอกข้อมูล บันทึกเรื่องราวลงไปทันที ตามรูปชื่อ บันทึกข้อมูลนี้

รายละเอียดต่างๆของหน้าบันทึกข้อมูล

คำขอ จากผู้เดือดร้อน

หลายตอนแล้วซิน่ะ แต่ เมื่อตั้งใจทำเพื่อให้ใช้งานได้เต็มที่ ก็ต้องทนครับ ยังขาดหลายอย่าง งวดนี้ เอาสั้นๆ จำเพาะเรื่องของการติดตั้ง เพื่อว่า พี่ๆ จะได้ลองจัด ลองปรับ ขอบเขต ของเรื่องราวเอาเองบ้าง

อ้อ ขอบอกกันก่อนน่ะครับว่า ขออภัยที่ต้องแนะนำในส่วนของ FreeBSD ไว้ก่อน แม้ว่า elog จะสามารถใช้กับ windows ได้ แต่ มะไฟ ไม่ใช้ windows เลยขอไม่ให้คำแนะนำ จะดีกว่า  แต่ถึงอย่างนั้น ก็ได้ให้ link ไว้แล้วครับ ขอให้พี่ท่าน ไปปรึกษาผู้เชี่ยวชาญจำเพาะด้าน จะดีกว่า

ที่ยกเรื่องนี้มาบอก นอกจากเหตุผลดังกล่าวมาแล้ว ยังเกี่ยวข้องกับ การกำหนดแฟ้มข้อมูล ของงานทั้งหมดด้วยครับ

เอาล่ะ เรามาเริ่มกันได้เลย ขอให้ท่าน login เป็น root น่ะครับ

# cd /usr/ports/www/elog
# make LOGBOOKDIR=www/eLOG/FLOODING
# make LOGBOOKDIR=www/eLOG/FLOODING install clean

คำสั่งดังกล่าวนี้ จะทำให้แฟ้มบันทึกข้อมูล ถูกสร้างขึ้นในสาระบบแฟ้ม /usr/local/www/eLOG/FLOODING ซึ่งในสาระบบแฟ้มนี้ ก็จะมี Demo ให้ท่านได้ศึกษาเพิ่มเติมเอาอีกโสดหนึ่งด้วย  หากท่านไม่กำหนดตัวแปร LOGBOOKDIR ไว้ เขาก็จะสร้าง สาระบบแฟ้ม /usr/local/www/elog   เพื่อเก็บข้อมูลทั้งหม ไว้ให้ท่าน

นอกไปจากนี้แล้ว แฟ้มที่จัด configurations ต่างๆ ที่ได้บรรยายมานั้น เขาจะเก็บไว้ในสาระบบแฟ้ม /usr/local/etc ในชื่อที่กำหนดไว้แล้วด้วยเช่นกันคือ elogd.cfg

ที่จำเป็นต้องบอกไว้จำเพาะ ก็ด้วยเหตุที่ว่า แม้ว่าในคู่มือจะบอกว่า เราสามารถกำหนด LOGBOOK Dir ได้จากแฟ้ม elogd.cfg ก็ตาม แต่ลำดับความสำคัญ จะไม่สูงเท่ากับที่กำหนดไว้ใน startup script ตอนเปิดเครื่อง, อยู่ในแฟ้ม /usr/local/etc/rc.d/elogd , ซึ่งจะนำค่าตัวแปร LOGBOOKDIR ที่กำหนดไว้ในตอนลงโปรแกรม นั้น มาเขียนเอาไว้เลย

ดูว่าเป็น บั้ค ก็ไม่อาจจะมิใช่ว่าไม่ผิดนัก

เมื่อลงเสร็จแล้ว ขอให้ท่านสั่งตามนี้ หนเดียวพอน่ะครับ หนเดียวเท่านั้น

# echo elogd_enable=\"YES\" >> /etc/rc.conf

เพื่อว่า startup script มันจะได้ทำงานเองโดยอัตโนมัติ ตอนเปิดเครื่อง  โดยที่ท่านมิต้องลำบากมาสั่งให้มันวิ่งเอง แต่หากท่านลงแล้ว ใจร้อนอยากวิ่งทันทีในบัดเดี๋ยวนั้น ก็เพียงแต่สั่ง

# /usr/local/etc/rc.d/elogd start

เมื่อผ่านตอนนี้ไปแล้ว ก็ขอให้ท่าน กำหนด ขอบเขต ของงานของท่านเอาเอง และปรับแต่งแฟ้ม /usr/local/etc/elogd.cfg ให้เข้ากับความต้องการของท่านเอาได้ ตามใจ

แล้ว เวลาใช้งาน จะทำอย่างไรกัน

มาทางนี้ครับ ให้เรียก web browser มาแล้วไปที่ url นี้เลย http://localhost:8000/

Tuesday, November 1, 2011

คำขอ จากผู้เดือดร้อน

เรามาต่อกันในเรื่องของแฟ้ม /usr/local/etc/elogd.cfg กันให้หมดทั้งสามส่วนที่เหลือ คือ

[ปูมประจำวัน]
....
[งานเข้า]
...
[รายงาน]


ซึ่งคราวนี้จะขอยกไวยากรณ์ขึ้นมาอธิบายเป็นรายข้อๆไป

Theme = default
Comment =  บันทึกงานทั่วไป คำขอรับบริจาค จากผู้ประสบภัยน้ำท่วม


บรรทักแรก อธิบายตัวเองดีอยู่แล้ว เป็นธีมของหน้า browsers ซึ่งทำให้คนที่แม้จะไม่เข้าใจคอมพิวเตอร์ ก็ยังสามารถทำงานกับคอมพิวเตอร์ได้ สำหรับบรรทัดที่ ๒ นั้น แม้จะเป็น Comment แต่ก็จะเป็นข้อความ ที่ปรากฏในหน้าแรก ภายใต้ ส่วน (section) นั้นๆ เพื่อให้เราเข้าใจว่า ส่วน นั้นๆ ทำอะไรบ้าง

Menu Commands = List, New, Edit, Delete, Reply, Duplicate, Find, Help
ก็บอกชัดเจนอีกเช่นกันว่า ใน ส่วน นี้มีคำสั่งอะไรที่สามารถใช้ได้บ้าง และ จะปรากฏอยู่ในรูปแบบของเมนู ขอให้ดูตรง New Edit และ List เอาไว้ด้วย มันก็อธิบายตัวเองอยู่ในตัวว่า เพิ่มของใหม่เข้ามา แก้ไข และ นำมาดูพร้อมๆกับรายการอื่น

Attributes =  ผู้รับแจ้ง, บัตรประชาชน, ชื่อนามสกุล, ที่อยู่อาศัยเดิม, สถานที่พักพิงปัจจุบัน, ระดับความเดือดร้อน, ความเดือดร้อน, หมายเลขมือถือ, POC, สถานะความช่วยเหลือ, Rev
อันนี้แหละ ที่เคยบอกไว้ว่า ได้นำขอบเขตของเรื่องราวมากระจายลงในแต่ละ ส่วน ไว้ ก็ Attributes นี่แหละครับ

ท่านอาจจะแปลกใจว่า เมื่อมีหมายเลขบัตรประชาชนแล้ว ทำไมต้องมีชื่อด้วย จะเอาแต่ ชื่อ-นามสกุล เท่านั้น มาไม่ได้หรือ ขอเรียนชี้แจงว่า คนที่ชื่อ ไพรัช ศรีโยธา เท่าที่รู้ มี ๒ คนครับ ผู้ชายทั้งคู่ ต่างกันที่หมายเลขบัตรประชาชนเท่านั้น มันขำไม่ออกน่ะครับ

Locked attributes = Rev
อันนี้ ผมไม่ต้องการให้พี่ท่านมาเสียเวลากรอก รีวิชั่น แต่จะกำหนดเอาไว้ให้เลย มันจะมีประโยชน์ตอนแก้ไข records ครับ เวลาแก้ไขที field นี้ ก็จะเปลี่ยนค่าไปทุกทีโดยอัตโนมัติ ซึ่ง รูปแบบ จะปรากฏข้างล่างนี้

Subst on Edit Rev = $Rev<br>$date
อธิบายไว้แล้ว ข้างบนนั้น

Options ระดับความเดือดร้อน = คนป่วย, ภายใน ๑ ชั่วโมง, ภายในครึ่งวัน, ภายในวันนี้, ภายในสองวันนี้, ภายในสัปดาห์นี้
Options ความเดือดร้อน = ต้องการน้ำดื่ม, แบตเตอรีมือถือหมด, ผ้าอนามัยหมด, ผ้าห่ม, ประจุแบตเตอรี
Extendable Options = ความเดือดร้อน

เรากำหนดค่าต่างๆไว้ก่อน ให้กับแต่ละ field ด้วยไวยากรณ์ Options ครับ ส่วน field ไหนที่ คิดว่า สามารถเพิ่มอีกได้ ก็ให้กำหนดไว้ในไวยากรณ์ Extendable Options ตามที่ยกตัวอย่างมาให้ดูนี้แล้ว
เมื่อเข้าไปใช้งาน จะเห็นเป็นลักษณะ drop down selection สำหรับค่าที่กำหนดไว้แล้ว เราเลือกเอามาค่าใด ค่าหนึ่ง ซึ่งถ้าเห็นว่ามีค่าใหม่ ก็ไปกำหนดเพิ่มได้ ข้างๆกันนั้นแหละ และค่าที่กำหนดใหม่นี้ ก็จะไปเพิ่มให้เป็น ค่าที่กำหนดไว้แล้ว โดยอัตโนมัติ เลย

Reverse sort = 1
Required Attributes = ผู้รับแจ้ง, บัตรประชาชน, ชื่อนามสกุล, ที่อยู่อาศัยเดิม, สถานที่พักพิงปัจจุบัน, ระดับความเดือดร้อน, ความเดือดร้อน, หมายเลขมือถือ, POC, สถานะความช่วยเหลือ
Quick filter = Date, บัตรประชาชน

เรียงย้อน แต่จะทำให้ดูง่ายขึ้น
Attributes ที่ ยังไงก็ต้องใส่ ไม่ใส่ไม่ได้ เวลาใช้งาน จะเห็นดาวแดง กำกับไว้ด้วย
Quick filter ก็บอกว่า เอาไว้เรียงลำดับ ตาม field ที่กำหนดมา

สาระของแฟ้ม elogd.cfg เท่าที่ต้องใช้ เท่าที่ต้องรู้เป็นเบื้องต้น ก็มีเท่านี้ หากสนใจ สามารถศึกษาเอาเองได้ on line เลยครับ

อนึ่ง ที่ต้องรู้ และ ต้องจำไว้เลยคือ โปรแกรมนี้ เขาวิ่งด้วย user/group จำเพาะ  ดังนั้น ผู้ที่เป็นเจ้าของแฟ้ม /usr/local/etc/elogd.cfg นี้ จึงควรกำหนด ให้สอดคล้องไปตามนั้นด้วย ไม่เช่นนั้น เวลาที่เรา เพิ่มเรื่องใน Attributes ที่สามารถเพิ่มได้อีก (ตรงที่ระบุไว้ใน  Extendable Options), เช่น รายงานแรก หรือ ความเดือดร้อน, ไปจากที่ได้กำหนดไว้ให้แล้วนั้น มันจะมี errors เกิดขึ้น ทำนองว่า ไม่สามารถเขียนลงแฟ้มนี้ได้ ซึ่งทำได้ง่ายๆโดยสั่ง

# chown elog:elog /usr/local/etc/elogd.cfg

หนเดียวเท่านั้น ก็ใช้ได้ตลอดไป

คำขอ จากผู้เดือดร้อน

จากกระทู้ที่แล้ว เมื่อคืนนี้ ไล่ๆดูแล้ว พบว่ายังมีแมลง หรือ bugs เพียบเลย แฟ้ม configurations ที่นำเสนอไปนั้น อย่าเพ่อนำไปใช้โดยไม่ปรับแก้ก่อนน่ะครับ นั่นแหละ เพียบเลย ที่ว่าก็อยู่ในแฟ้มนี้แหละ

ขอให้ดู พอให้ได้แนวคิดของการทำงาน และ เพื่อเพิ่มเติมเอาเองทีหลังเท่านั้นก่อนน่ะครับ

เท่าที่ได้แก้ไขแฟ้ม /usr/local/etc/elogd.cfg ไปนั้น ล่าสุดก็ตามนี้เลย


[global]
Max Content length = 125829120 ;; 128m
List Menu Commands = New, Find, Select, CSV Import, Help
Date format = %a, %B %d, %Y
Time format =  %a, %B %d, %Y %T
;; ปูมประจำวัน คือ คำขอ
Group น้ำท่วม = ปูมประจำวัน, งานเข้า
Group KPI = รายงาน
Welcome Title = <p><b>ปูมบันทึกงาน</b></p>
charset = utf-8
port=8000
Main Tab = บันทึกคำขอความช่วยเหลือ
Page Title = Thailand 2011 flooding

[ปูมประจำวัน]
Theme = default
Comment =  บันทึกงานทั่วไป คำขอรับบริจาค จากผู้ประสบภัยน้ำท่วม
Menu Commands =  List, New,  Edit, Delete, Reply, Duplicate, Find, Help
Attributes =  ผู้รับแจ้ง, บัตรประชาชน, ชื่อนามสกุล, ที่อยู่อาศัยเดิม, สถานที่พักพิงปัจจุบัน, ระดับความเดือดร้อน, ความเดือดร้อน, หมายเลขมือถือ, POC, สถานะความช่วยเหลือ, Rev
Locked attributes = Rev
Subst on Edit Rev = $Rev<br>$date
Options ระดับความเดือดร้อน = คนป่วย, ภายใน ๑ ชั่วโมง, ภายในครึ่งวัน, ภายในวันนี้, ภายในสองวันนี้, ภายในสัปดาห์นี้
Options ความเดือดร้อน = ต้องการน้ำดื่ม, แบตเตอรีมือถือหมด, ผ้าอนามัยหมด, ผ้าห่ม, ประจุแบตเตอรี
Extendable Options = ความเดือดร้อน
Options สถานะความช่วยเหลือ = มอบหมายผู้รับผิดชอบแล้ว, เริ่มดำเนินการ, เร่งด่วน, ติดตามงานครั้งที่ ๑, ติดตามงานครั้งที่ ๒, ลำเร็จ, ได้รับรายงานแรกแล้ว, งานสำเร็จ, รอมอบหมาย
Reverse sort = 1
Required Attributes = ผู้รับแจ้ง, บัตรประชาชน, ชื่อนามสกุล, ที่อยู่อาศัยเดิม, สถานที่พักพิงปัจจุบัน, ระดับความเดือดร้อน, ความเดือดร้อน, หมายเลขมือถือ, POC, สถานะความช่วยเหลือ
Quick filter = Date, บัตรประชาชน

[งานเข้า]
Theme =default
Comment = กำหนดผู้รับผิดชอบ เข้าคิวรอ มอบหมายงาน
Menu Commands =  List, New,  Edit, Delete, Reply, Duplicate, Find, Help
Attributes = ลำดับคำขอ, ระดับสำคัญ,  หัวหน้าทีม, สาระสั้นๆ, รายงานแรก, ผลลัพธ์, rev
Options ระดับสำคัญ = คนป่วย, ภายใน ๑ ชั่วโมง, ภายใน ๑ วัน, ภายใน ๒ วัน, ภายในสัปดาห์นี้
Options รายงานแรก = พบเป้าหมายแล้ว, พบ POC แล้ว
Extendable Options = รายงานแรก
Required Attributes = ลำดับคำขอ, ระดับสำคัญ,  หัวหน้าทีม, สาระสั้นๆ, รายงานแรก
Locked attributes = rev
Subst on Edit rev = $rev<br>$date
Reverse sort = 1

[รายงาน]
Theme = default
Comment = ผลลัพธ์การปฏิบัติงาน
Menu Commands =  List, New,  Edit, Delete, Reply, Duplicate, Find, Help
Attributes = ลำดับคำขอ, หัวหน้าทีม, เส้นทาง, อุปสรรค, ระยะเวลาการเข้าถึง, ผลลัพธ์, ข้อเสนอแนะ, rev
Locked attributes = rev
Subst on Edit rev = $rev<br>$date
Required Attributes = ลำดับคำขอ, หัวหน้าทีม, เส้นทาง, อุปสรรค, ระยะเวลาการเข้าถึง, ผลลัพธ์, ข้อเสนอแนะ


มีส่วนที่ต้องปรับขอบเขตงานออกบ้าง คือ ลำดับเรื่องนั้น เขากำหนดมาแล้ว เราไม่ต้องไปเดือดร้อนเลย เช่นเดียวกันกับ วัน เดือน ปี สิ่งที่เราต้องทำเพิ่ม มีเพียงเลือกใช้รูปแบบให้เหมาะสมกับที่เราต้องการ เท่านั้นเอง

ขอให้ดูในส่วนของ Attributes ของทุกๆ section ทั้งหมดน่ะครับ ว่าต่างไปจาก ขอบเขตงานเดิมที่ได้วางไว้อย่างไรบ้าง จากขอบเขตงานที่ได้ร่างๆไว้ เมื่อนำมาใช้ร่วมกับ elog ทำให้ต้องแยกงานออกเป็นสามส่วนคือ
  1. ปูมประจำวัน เพื่อรับงาน
  2. งานเข้า เพื่อจ่ายงาน และ
  3. รายงาน เพื่อสรุปงานที่ได้ทำไป ขณะเดียวกัน จะไปปรับสถานะงานในข้อแรกนั้นด้วย
และการที่ต้องมานั่งกำหนดรายละเอียดในแฟ้ม elogd.cfg นี้ ก็เพราะมันมีผลต่อรูปแบบของ human to computer interface ที่เราต้องทำงานด้วย เท่านั้นเอง

แฟ้มนี้ มีองค์ประกอบเป็นส่วนๆไป แต่ละส่วนจะใช้วงเล็บก้ามปูแยก เช่น [รายงาน] คือส่วนที่เรียกว่า รายงาน จะมีกี่ส่วนก็ได้  อย่างน้อยต้องมี [global]

แต่ละส่วนจะเริ่มด้วยการปรากฏของวงเล็บก้ามปู ดังกล่าว และจบเมื่อมี ส่วนใหม่
ภายในส่วนหนึ่งๆ จะมีไวยากรณ์ เป็นคำสำคัญ ที่เขียนในลักษณะ
key = value
โดยที่ key นั้น เป็นข้อกำหนดที่โปรแกรมได้กำหนดไว้แล้ว แต่ส่วน value นั้น เราในฐานะผู้ใช้ สามารถกำหนดเอาเองได้
บาง key อาจจะมี องค์ประกอบย่อยเสริม ก็ได้ เช่น Group ในส่วน global นั้น ก็พอจะเดาได้ว่า มันต้องเป็นชื่อ ที่ต้องตามคำ Group และ value นั้น มันก็ต้องกำหนดว่า เราจะเอา ส่วนไหน มาไว้ภายใต้ชื่อนี้ เช่น
Group น้ำท่วม = ปูมประจำวัน, งานเข้า
ก็บอกให้รู้ว่า เราเอา ส่วนปูมประจำวัน และ ส่วน งานเข้า มาไว้ภายใต้กลุ่มที่ชื่อ น้ำท่วม ดังนี้
นอกจากนี้แล้ว  ในแฟ้มนี้ ยังกำหนดให้มี comments ที่เริ่มต้นด้วย ;; ดังที่เห็นในส่วน global นั้น

โดยภาพรวม ส่วน หรือที่ใช้กันในคู่มือเขาว่า section ของแฟ้มนี้ มีดังนี้

[global]
....
[ปูมประจำวัน]
...
[งานเข้า]
...
[รายงาน]

ก่อนจากตอนนี้ ขออธิบาย ส่วน global แต่พอสังเขป ดังนี้
Max Content length = 125829120 ;; 128m
หมายถึงว่า สามารถเก็บข้อมูลได้ ทั้งสิ้น 128 MB
List Menu Commands = New, Find, Select, CSV Import, Help
หมายถึง บรรดาคำสั่ง ที่สามารถใช้ได้ ซึ่งใน ส่วน นี้ก็หมายถึงคำสั่งที่สามารถใช้ได้ทั้งหมด นั่นเอง เพราะเป็น ส่วน global
Date format = %a, %B %d, %Y
Time format = %a, %B %d, %Y %T
;; ปูมประจำวัน คือ คำขอ
Group น้ำท่วม = ปูมประจำวัน, งานเข้า
Group KPI = รายงาน

๒ บรรทัดแรก อธิบายตัวเองแล้ว ก็ขอเพิ่มเติมเกี่ยวกับ ตัวใหญ่ ตัวเล็ก ว่า แตกต่างกันตรงที่เป็น คำย่อ กับ คำเต็มๆ บรรทัดถัดมา เอามาให้ดูว่า comments นั้น สามารถมีได้ เขียนอธิบายรายละเอียดเล็กๆน้อยๆ ที่แตกต่างไปจากเดิม ที่อาจจะ ลืม เอาได้เมื่อผ่านเวลานานไป และ ๒ บรรทัดหลัง ก็บอกว่า เราจัดกลุ่ม ของ ส่วน ต่างๆเข้าไว้ด้วยกัน โดยใช้ชื่อกลุ่มว่า น้ำท่วม และ KPI
Welcome Title = <p><b>ปูมบันทึกงาน</b></p>
อันนี้ ก็บอกตัวเองไว้ชัดเจนเช่นเดียวกันว่าเป็น title ที่ปรากฏใน browser เวลาทำงาน
charset = utf-8
บอกให้ทราบว่า เราต้องใช้ characters set นี้ เพราะไม้งั้น จะไม่สามารถแสดงผลภาษา non latin1 ได้
port = 8000
บอกให้ทราบว่า เราวิ่งที่ port หมายเลข 8000 นี้ ทั้งนี้เพื่อไม่ให้ไปซ้ำกับ apache ที่เขาใช้ port 80 สำหรับงาน web servers ทั่วๆไป ในคู่มือ ที่เขาให้มา บอกเรื่องราวของการทำงานร่วมกันไว้อยู่บ้าง แต่ ใคร่ขอแนะให้ใช้ตามนี้ไปก่อน เพราะดูว่า เรียบ ง่าย (และโง่) ดี
Main Tab = บันทึกคำขอความช่วยเหลือ
ตรงนี้ จะมีผลให้ กลุ่ม ต่างๆที่เราจัดขึ้นมา สามารถมี tab คั่นได้   tab จะเรียง ตามลำดับที่เราจัดไว้ โดยเรื่องจาก Main Tab แล้วตามด้วย กลุ่ม ถัดๆมา จนครบทุก กลุ่ม และ ใน กลุ่ม ต่างๆนั้น ได้รวมเอา ส่วน ไหนไว้บ้าง ก็จะปรากฏ ในบรรทัดถัดมา ของหน้า browser เวลาเราเรียกมาทำงาน

ตัวอย่าง tab
ในรูปด้านซ้ายมือ มะไฟ เข้ามาด้วยการเลือก ปูมบันทึกประจำวัน ของกลุ่ม น้ำท่วม ดังนั้น จะเห็นว่า แถบนำทาง น้ำท่วม จะมีสีน้ำเงิน แสดงว่าถูกเลือกไว้ และ ข้างใต้แถบนำทางนี้ จะมี ส่วน ต่างๆ ที่อยู่ภายใน กลุ่ม น้ำท่วม นี้ปรากฏอยู่

และ สำหรับตัวนี้ เมื่อเราจะกลับมาที่หน้าหลัก หรือ ไปหน้าแรก มันก็จะลำบากเพียงกดไปที่ แถบ นี้ ที่วงสีแดงๆไว้ เท่านั้นเอง และ สุดท้าย
Page Title = Thailand 2011 flooding
บอกว่า ส่วนนี้ มีชื่อตามนี้น่ะ ที่บนแถบบนสุดของ browser เวลาทำงาน ชัดเจนดี ขอให้แยกให้ชัดเจน ระหว่างตัวนี้ กับ Welcome Title ให้ดี

Monday, October 31, 2011

คำขอ จากผู้เดือดร้อน

มานั่งนึกๆดู จากความตั้งใจ  ถ้าจะให้คนทั่วไปได้ประโยชน์ด้วย คงต้องให้เขาเหล่านั้น ที่ใช้ windows กันเกร่อ สามารถนำไปใช้งานได้ด้วย ขณะเดียวกัน ก็น่าจะสามารถ เพิ่มเติม แต่งเสริมเตืมต่อเอง ได้อีกด้วยเช่นกัน

elog ครับ เป็น โปรแกรมที่อยู่ในลักษณะของ web application ง่ายๆ สามารถนำไปปรับแต่งเอาเองได้ และ ในนี้, elog ใน blog นี้, ก็เคยลงไว้หนนึงแล้ว ไม่ต้องห่วงสำหรับเพื่อนที่ใช้ วินโดว์ เขามี binaries ให้ติดตั้งเอาเองได้ หลักการก็คงคล้ายคลึงกัน คือ มีแฟ้มสำหรับจัด configuration แล้ว ก็เรีกยตัวโปรแกรมมาทำงาน

หน้าที่ของเรา ก็เพียงจัด configuration เท่านั้นครับ ลำบากนิดนึง แต่ ประโยชน์ทั่วไป มีอยู่มากโขน่ะครับ

จากขอบเขตของงาน ที่ร่างไว้แล้วเมื่อครั้งก่อน
เมื่อจะปรับให้เข้ากับ elog ก็น่าจะเป็น  [คำขอ] และ [งานเข้า] และ [รายงาน] เท่านั้นเอง

ขอบเขตงานที่วางไว้คือ

ลำดับเรื่อง
ผู้รับแจ้งเหตุ
ผู้ดำเนินงานเบื้องแรก (หัวหน้าทีม)
สถานะความช่วยเหลือ ดำเนินการแล้ว กำลังดำเนินการ ติดตามการดำเนินการอย่างเร่งด่วน(สำหรับคนป่วย)
ความเดือดร้อน สิ่งที่ต้องการ ระบุไว้ในตอนท้าย
ระดับความเดือดร้อน คนป่วย ภายใน ๑ ชั่วโมง ครึ่งวัน วันนี้ สัปดาห์นี้
สถานที่พักพิงปัจจุบัน
หมายเลขบัตรประชาชน ที่เขาต้องพกติดตัวตลอดเวลา
ชื่อ และ นามสกุล
หมายเลขมือถือ หรือโทรฯสำหรับติดต่อกลับ
ผู้อ้างอิง หรือ point of contact ที่ดูแลสถานที่พักพิงนั้นๆ
ที่อยู่อาศัยเดิม
list-of-needs-separated-by-newline
ให้จบด้วยอักขระขึ้นบรรทัดใหม่สองครั้ง

เหล่านี้แหละ จะนำมาปรับในแฟ้ม elogd.cfg และ อาจจะปรับขอบเขตงาน อีกครั้งก็ได้ เพื่อให้สามารถนำไปใช้ได้เลย ทันที
สักครู่น่ะครับ สักครู่

มาต่อด้วยกัน ไปด้วยกันพร้อมๆกันน่ะครับ
แฟ้ม elogd.cfg ที่จัดแล้วในเบื้องต้น ตามขอบเขตของงาน ที่แบ่งออกเป็นสามขยัก คือ [รับคำขอ หรือ ลงบันทึก] [งานเข้า หรือ จ่ายงานให้ อาสาสมัคร] และ [รายงานผล]  นั้น เป็นดังนี้

[global]
Max Content length = 125829120 ;; 128m
List Menu Commands = New, Find, Select, CSV Import, Help
Date format = %A, %B %d, %Y
Time format = %T
;; ปูมประจำวัน คือ คำขอ
Group น้ำท่วม = ปูมประจำวัน, งานเข้า
Group KPI = รายงาน
Welcome Title = <p><b>ปูมบันทึกงาน</b></p>
charset = utf-8
port=8000
Main Tab = บันทึกคำขอความช่วยเหลือ
Page Title = Thailand 2011 flooding

[ปูมประจำวัน]
Page Title = คำขอ
Theme = default
Comment =  บันทึกงานทั่วไป คำขอรับบริจาค จากผู้ประสบภัยน้ำท่วม
Menu Commands =  List, New,  Edit, Delete, Reply, Duplicate, Find, Help
Attributes = ผู้รับแจ้ง, บัตรประชาชน, ชื่อนามสกุล, ที่อยู่อาศัยเดิม, สถานที่พักพิงปัจจุบัน, ระดับความเดือดร้อน, ความเดือดร้อน, หมายเลขมือถือ, POC, สถานะความช่วยเหลือ, Rev
Locked attributes = Rev
Subst on Edit Revisions = $Rev <br> $date
Options ระดับความเดือดร้อน = คนป่วย, ภายใน ๑ ชั่วโมง, ภายในครึ่งวัน, ภายในวันนี้, ภายในสองวันนี้, ภายในสัปดาห์นี้
Extendable Options = ความเดือดร้อน
Options สถานะความช่วยเหลือ = มอบหมายผู้รับผิดชอบแล้ว, เริ่มดำเนินการ, เร่งด่วน, ติดตามงานครั้งที่ ๑, ติดตามงานครั้งที่ ๒, ลำเร็จ, ได้รับรายงานแรกแล้ว, งานสำเร็จ, รอมอบหมาย
Reverse sort = 1
Required Attributes = ผู้รับแจ้ง, บัตรประชาชน, ชื่อนามสกุล, ที่อยู่อาศัยเดิม, สถานที่พักพิงปัจจุบัน, ระดับความเดือดร้อน, ความเดือดร้อน, หมายเลขมือถือ, POC, สถานะความช่วยเหลือ
Quick filter = Date,บัตรประชาชน

[งานเข้า]
Theme =default
Comment = กำหนดผู้รับผิดชอบ เข้าคิวรอ มอบหมายงาน
Menu Commands =  List, New,  Edit, Delete, Reply, Duplicate, Find, Help
Attributes = ลำดับเรื่องคำขอบริการ, ระดับสำคัญ,  หัวหน้าทีม, สาระสั้นๆ, รายงานแรก, ผลลัพธ์, rev
Locked attributes = rev
Subst on Edit rev = $rev <br> $date
Reverse sort = 1
Options ระดับสำคัญ = คนป่วย, ภายใน ๑ ชั่วโมง, ภายใน ๑ วัน, ภายใน ๒ วัน, ภายในสัปดาห์นี้
Options รายงานแรก = พบเป้าหมายแล้ว, พบ POC แล้ว
Required Attributes = ลำดับเรื่องคำขอบริการ, ระดับสำคัญ,  หัวหน้าทีม, สาระสั้นๆ, รายรานแรก

[รายงาน]
Theme = default
Comment = ผลลัพธ์การปฏิบัติงาน
Menu Commands =  List, New,  Edit, Delete, Reply, Duplicate, Find, Help
Attributes = ลำดับเรื่องคำขอบริการ, หัวหน้าทีม, เส้นทาง, อุปสรรค, ระยะเวลาการเข้าถึง, ผลลัพธ์, ข้อเสนอแนะ, rev
Locked attributes = rev
Subst on Edit rev = $rev <br> $date
Required Attributes = ลำดับเรื่อง, หัวหน้าทีม, เส้นทาง, อุปสรรค, ระยะเวลาการเข้าถึง, ผลลัพธ์, ข้อเสนอแนะ


ตรง attribute ของแต่ละขยักนั่นแหละครับ ที่ ผมนำเอาขอบเขตของงานทั้งหมด มากระจายลงไปในแต่ละส่วน

เราจะอธิบายไปทีละส่วนๆ ทีละบรรทัดไป ให้กระจ่าง แต่ก่อนอื่น ขอแสดงรูปของงานที่เมื่อ เรียกแล้ว หน้าตาจะเป็นยังไง มาให้ดูกันก่อนน่ะครับ

บันทึก รับคำขอบริการ

ตัวหนังสือ มีภาษาฝรั่งบ้าง คงไม่ว่ากันน่ะครับ การใช้งาน ก็ ง้ายย ง่าย ประเดี๋ยวจะบอกครับ ประเดี๋ยวจะบอก

Friday, March 5, 2010

วิธีใช้งาน elog


ก็เห้นว่ามีเพื่อนรักนักอ่านเข้ามาค้นหา คำว่า วิธีใช้ elog แล้ววิ่งมายัง blog ก็ให้สงสัยว่าน่าจะเป็นเพื่อนๆชาวินโดว์มากกว่า เพราะถ้าหากว่า แฟนนิยมของ FreeBSD แล้ว แทบไม่ต้องถามถึงวิธีใช้กันเลยยังได้


แต่เอาเถอะน่ะ วันนี้วันสุข ก็จะขอบอกเล่าตามแบบแมวแมว ให้ได้เข้าใจ หากมีข้อสงสัยประการใดเพิ่มเติม ขอเรียนเชิญถามไถ่มาได้

จากที่ เคยลงมาแล้ว เมื่อย้อนไปดูอีกที ก็พบว่าได้ให้รายละเอียดไว้มากมาย จั้ดนักเจ๊า ยังนึกไม่ออกว่าจะเพิ่มเติมให้ในส่วนไหน

งั้นขอร่ายในเรื่องของการจัดแฟ้ม configuration หรือแฟ้ม elogd.cfg ก็แล้วกันน่ะ และระหว่างนี้ท่านสามารถ post คำถามมาได้ผ่านช่องทาง ความเห็น ที่ท้ายบทความนี้
แฟ้ม elogd.cfg นั้นเป็นแฟ้มเอกสารทั่วไป กล่าวคือเป็น plain ascii text files แหละครับ ไม่ใช่แฟ้มที่ต้องการ อะไร มาจัดรูปแบบ ให้พิสดารไป อย่างเช่น แฟ้มตระกูล pdf, doc, exe, xls อะไรพวกนี้เลย นี่หนึ่งล่ะ

แฟ้ม elogd.cfg เขาแบ่งส่วนต่างๆของเอกสารภายในด้วยอันที่เรียกว่า label โดย label เองจะอยู่ระหว่างวงเล็บสี่เหลี่ยม แบบนี้ [label] นี่หนึ่งล่ะ

label จะเริ่มต้นที่สดมภ์แรกเสมอ เอ จะเข้าใจมั้ยเนี่ย คือ มันต้องชิดซ้ายสุด แบบนี้
[global]
นั่นแหละ และก็อยู้โดดๆในบรรทัดนั้นของเขาเพียงอย่างเดียว อย่างตัวอย่างที่ยกมาให้ดูก็เป็นการเริ่มต้น label ที่ชื่อว่า global นั่นเองครับ นี่อีกหนึ่งล่ะ

การเริ่มต้นและสิ้นสุดของ label จะเริ่มดังได้กล่าวมาเมื่อครู่นี้ และสิ้นสุดเมื่อเริ่มต้น label ใหม่ หรือจบแฟ้มเอกสาร elogd.cfg นี่อีกหนึ่งล่ะ

label ที่ชื่อ global นั้นต้องมี นี่อีกหนึ่งล่ะ

ยกเว้น global แล้วเราอาจจะมองว่า label นั้นคือ logbook ก็ได้ นี่ก็อีกหนึ่งล่ะ

เพื่อให้พี่พี่เพื่อนๆ น้องๆได้เข้าใจมากขึ้น จากตัวอย่างของจริงที่ มะไฟ ยกมาให้ดู ในนั้นมีอยู่ ๔ label คือ global ปูมประจำัน งานเข้า รายงาน ตามลำดับ และ label ที่ชื่อว่า รายงาน เป็นอันสุดท้าย เน้าะ นี่ก็อีกหนึ่งล่ะ โดยรวมแล้ว เอกสารก็เป็นแบบนี้

[global]
....
[ปูมประจำวัน]
....
[งานเข้า]
....
[รายงาน]
.....

ใน label ทั้งหมด global ต้องมี และมีไว้สำหรับทุก logbook ที่ใช้งานกับ configuration นี้
รายละเอียดของแต่ละ label ซึ่งก็คือ logbook นั่นแหละ จะอยู่ในรูป

keyword = value

เช่น

port = 8080

ก็หมายถึงว่า ใช้ port สำหรับการติดต่อกับ server ที่หมายเลข 8080 ดังนี้ เป็นต้น

keyword ที่สำคัญคือ Attributes ซึ่งจะหมายถึง field ต่างๆที่เราต้องการจะเก็บ และค่าต่างๆของแต่ละ field นั้น เราสามารถระบุไว้ตายตัวเลย เป็นเบื้องต้นได้ ด้วย keyword ที่ชื่อ Options

เพื่อให้เกิดความกระจ่าง ตัวอย่างที่ยกมาจะเป็นบันทึก ใบลา เราก็สร้าง , ส่วนของ configuration file, elogd.cfg ดังนี้

[ใบลา]
Attributes = ชื่อ, วดป, ประเภท

โดยที่ ชื่อ ก็คือ ชื่อของคนที่ส่งใบลา และ วดป ก็หมายถึง วัน เดือน ปี ที่ส่งใบลา และ ประเภท ก็หมายถึง ประเภทการลาว่า ลากิจ ลาป่วย ลาพักผ่อน ลาราชการ
ดังนี้แล้ว Attributes ที่ชื่อ ประเภท เท่านั้น ที่มาสามารถ ระบุไว้ล่วงหน้าได้ ด้วย Options ดังนี้

Options ประเภท = ลากิจ, ลาป่วย, ลาพักผ่อน, ลาราชการ

ซึ่งเมื่อรวมส่วนของ configuration file มาก็เป็นดังนี้

[ใบลา]
Attributes = ชื่อ, วดป, ประเภท
Options ประเภท = ลากิจ, ลาป่วย, ลาพักผ่อน, ลาราชการ

หวังว่าคงพอเข้าใจน่ะ

ทีนี้ บาง options เรากำหนดว่า ให้สามารถระบุเพิ่ม online ได้ แบบนี้แล้ว เราก็เพียงกำหนดด้วย keyword ที่ชื่อ extendable options ดังนี้

Extendable Options = ประเภท

และบางที เรากำหนดไปเลยว่า อย่างน้อยๆ ต้องบอกชื่อแน่นอน ไม่บอกไม่ได้ เราก็กำหนดด้วย keyword ชื่อ required attributes ดังนี้

Required Attributes = ชื่อ

ซึ่งเมื่อดูโดยรวมสำหรับใบลาแล้วก็จะเป็น

[ใบลา]
Attributes = ชื่อ, วดป, ประเภท
Options ประเภท = ลากิจ, ลาป่วย, ลาพักผ่อน, ลาราชการ
Extendable Options = ประเภท
Required Attributes = ชื่อ
Options ชื่อ = ไก่, นก, ปลา, ฝ้าย, น้อย, เอียด, เบียบ
Extendable Options = ชื่อ

แค่นี้เอง ง่ายมากเลย เน้าะ และ ๒ บรรทัดท้ายสุดนั้น เพิ่มมาเอง ลองคิดตามดูซิว่า ทำไม
สำหรับตัวอย่างใน blog ที่ มะไฟ ยกมานั้น มะไฟ hack เอาจาก demo และผ่านการทดลองแบบ ลองผิด ลองถูกมาพอควร เอาไปใช้ได้เลยน่ะ แต่ไม่รับรองในทุกเรื่อง

label หรือ logbook สมารถจัดให้อยู่ใน group เดียวกันได้ ด้วย keyword ที่ชื่อ Group ตัวอย่างเช่น

Group มะไฟ = ปูมประจำวัน, งานเข้า
Group KPI = รายงาน

ก็เพียงจัดกลุ่มเพื่อให้พอดูง่ายๆขึ้น เท่านั้นเอง ก็ลองลองดูน่ะครับ

keyword อื่นๆ ใน elogd configuration นั้นมันก็อธิบายความหมายอยู่ในตัวแล้วบ้างพอสมควร ไม่ยากเกินที่จะเข้าใจหรอกครับ ยกเว้นเรื่องที่ลึกๆเกี่ยวข้องกับเทคนิค ของคอมพิวเตอร์ล้วนๆ ซึ่งท่านต้องรู้เองเท่านั้น

Saturday, February 20, 2010

ความพึงพอใจ: ถูกใจตึ๋ง

ขอรายงานผลการใช้งาน applications ต่างๆที่ FreeBSD เรียกรวมๆว่า ports หรือที่ เรียกว่า third–party applications

เท่าที่ใช้งานบ่อยๆ ตอนนี้มี ๒ อันคือ ELOG และ SimpleAgenda อันแรก เอาไว้บันทึกงานประจำ ที่ องค์กรออกเป็นระเบียบว่าต้องบันทึกทุกวัน เลยมองๆหา และก็ลองใช้ดู พร้อมกับปรับให้สามารถลงบันทึก กำหนดนัดหมาย เช่น กำหนดส่งคืนหนังสือห้องสมุด กำหนดนำชม ฯลฯ ซึ่งก็ใช้งานได้ดี แต่ยังไม่ดีมากนัก

อันที่ ๒ นั้น
ยังปรับให้ใช้ภาษาไทยไม่ได้ เข้าใจว่าคงต้องไปแหก(hack) ต้นฉบับเอาเอง อาฆาตไว้ก่อน ยังไม่มีเวลา อันนี้ สวย ชอบมาก

แต่ทั้ง ๒ อันนี้ ไม่สามารถเตือนก่อนเวลากำหนดนัดหมายได้ ต้องมานั่งดูเองทุกเช้า แต่ ก็ดีที่ทำให้ สำรวจตรวจตราตนเองทุกวันได้ หากสามารถเตือนได้ เผลอ บางที ลืมเอาเสียก็ได้

อันที่เตือนได้ และใช้ภาษาไทยได้คือ gtodo
แต่พวกคอยจะตัดงานทิ้งอยู่เรื่อย

เอาล่ะ เรามาดูความยากง่าย และ มด & แมลง ที่มีอยู่ในแต่ละอันกันบ้าง
  • การปรับแต่งหลังติดตั้ง
    • ยากสุดคือ elog เพราะท่านต้องมีกึ๋นในการจัดการกับแฟ้ม configuration ด้วย พร้อมกันนั้น ต้องเพ้อฝันอีกสักเล็กน้อยว่า อืมม จะบันทึกอะไร อันไหนก่อนหลัง
    • gtodo & SimpleAgenda นั้นมีให้ปรับบ้าง แต่ก็เป็นเมนูมาเสร็จสับ ก็ไม่รู้จะทำมาทำไม แบบนี้
  • การใช้งาน
    • ใช้งานง่าย ทั้ง ๓ ตัว
  • มด แมลง
    • gtodo นั้นตัดเอกสารทิ้งสำหรับเอกสารเก่าๆ คือ เก็บนานเขาก็โล้ะทิ้งเอง อันนี้ ไม่ชอบ
    • elog ไปทำอีท่าไหนไม่รู้ อยู่ๆ จำนวน records ก็เป็น ๐ ทำไงก็กู้กลับคืนไม่ได้ แต่ ข้อมูลไม่หายน่ะ ยังอยู่ อ่านได้ด้วย แต่มัน,elog, ไม่ยอมอ่านซะงั้น
    • SimpleAgenda อันนี้ยังใช้ภาษาไทยไม่ได้

ก็ชอบใจ elog สำหรับงานบันทึก และ simpleagenda สำหรับงานวางกำหนดนัดหมาย และ gtodo เอาไว้เตือน ถ้าจำเป็นต้องเตือน

ถ้าเพื่อนๆ ไม่ชอบใจอะไร ยังไง และหากจะต่อว่า ประเมินไม่เป็นธรรม ก็ไม่ว่ากัน เพราะ มะไฟ ใช้เอง ถูกใจ ไม่ถูกใจ ก็เกิดจากปัญหาที่ได้รับด้วยตัว มะไฟ เอง จาก applications เหล่านี้ หากเพื่อนๆ อยากรู้ว่า ปัญหาอะไรกันนักหนาน่ะ ...ฯลฯ เพื่อนๆ พี่ๆ น้องนุ่ง ก็ต้องลองใช้เอง จึงจะรู้เองด้วยตัวเอง

ทำนองว่า อันวิญญูชนพึงปฏิบัติเอง จึงจะรู้เองเห็นเองด้วยตนเองเท่านั้น

๏ ปจฺจตฺตํ เวทิตพฺโพ วิญญูหิติ ๛

อิอิ เดี๋ยววันนี้ ไปโลกกลาง หรือ กลางโลก หรือ ใจกลางโลกก็ไม่รู้ได้ แต่เขาบอกว่า ที่โน่นแหละ นู้น central world eden zone first floor อะโห สุขะโตโหมิ อุรา มันยังกังวลเลยว่า มะไฟ จะไปถูกมั้ยเนี่ย

เห็นยังล่ะ เห็นยัง สวยงามอย่างเดียวรึก็เปล่า ใช้งานได้ดีด้วย

Sunday, June 21, 2009

ไกลปืนเที่ยง: ---> FreeBSD --> ports --> elog

ปูมงานรายวันการบันทึก รายละเอียด ของเรื่องราว เป็นสิ่งจำเป็น แต่ หากจะเหมารวม เขียนทุกอย่าง ลงที่เดียวกัน ยังกับ จับฉ่าย ก็คงไม่เหมาะนัก การ แยกประเภท เรื่องราว สำหรับการบันทึก ดูจะทำให้ การสืบค้น ค้นคว้า ทำได้ง่ายขึ้น ไกลปืนเที่ยง ก็คงหนีไม่พ้นหลักเกณฑ์นี้

ที่สำคัญคือ การเผยแพร่ การตีพิมพ์ผลงาน เป็น ๑ ในเรื่องใหญ่ของ วิธีการทางวิทยาศาสตร์

ใน FreeBSD มี ports ชื่อ elog ที่เล็ก กะทัดรัด จัดง่ายดี เลยเอามา hacks ใช้ซะ สามารถจัด configuration ได้ตามใจ รวมทั้ง จัด เปลี่ยน เอาขณะทำงานด้วย ก็ รูปมุมบนขวานั่นแหละ

นี่คือ configurations ที่ว่าจัดเองได้ง่าย

[global]
SMTP host = mail.tint.or.th
Welcome Title = <p><b>ปูมบันทึกงาน</b></p>
port = 8080
Logbook dir = /var/ftp/pub/elogbook
charset = utf-8
Main Tab = Simple Electronic Logbook
Page Title = LOG Book
[ปูมประจำวัน]
Theme = default
Comment = บันทึกงานทั่วไป
Attributes = เจ้าของ, ประเภทของงาน, กลุ่มของงาน, เรื่อง
Options ประเภทของงาน = งานประจำ, พัฒนาโปรแกรม, แก้ปัญหา, วพ, อื่นๆ
Options กลุ่มของงาน = ทั่วไป, ภายใน, ภายนอก, อื่นๆ
Extendable Options = กลุ่มของงาน
Required Attributes = เจ้าของ, ประเภทของงาน, กลุ่มของงาน, เรื่อง
Reverse sort = 1
Quick filter = Date, ประเภทของงาน
[งานเข้า]
Theme =default
Comment = กำหนดนัดหมาย เข้าคิวรอ
Attributes = เจ้าของ, เรื่อง, ระดับสำคัญ, วันเวลานัดหมาย, ผู้ติดต่อ, สาระสั้นๆ, ผลลัพธ์
Options ระดับสำคัญ = สทน, ศจ, บุคคล, ภายนอก
Required Attributes = เจ้าของ, เรื่อง, ระดับสำคัญ, ผู้ติดต่อ, วันเวลานัดหมาย
[รายงาน]
Theme = default
Comment = ผลงานที่ออกมาในรูป รายงาน
Attributes = เรื่อง, ชื่อ, ฐานะผู้แต่ง, คำสำคัญ, สถานะ, สำนักพิมพ์
Options ฐานะผู้แต่ง = ผู้แต่งหลัก, ผู้แต่งร่วม
Options สถานะ = เริ่มต้น, รายงานความก้าวหน้า, จบ, ตีพิมพ์
Extendable Options = สถานะ
Required Attributes = เรื่อง, ชื่อ


หวังว่าคงเห็นน่ะ ในรูปบนขวา ปูมประจำวัน งานเข้า รายงาน น่ะ ก็ในแฟ้ม configuration, /usr/local/etc/elogd.cfg, ตรง [ปูมประจำวัน][งานเข้า][รายงาน] นั้นแหละ มะไฟ hacks เอา ความจริง ภาษาฝรั่ง ที่ใช้คือ dialy, to-do, reports ตามลำดับ

ทีนี้ ถ้าท่านเลือก อันใดอันหนึ่ง ท่าน ก็จะเห็น ดังในรูปถัดมา ซ้ายมือ นี่แหละ อย่างในรูป ท่านเลือก ปูมประจำวัน หน้าที่ท่านจะเจอ ก็อย่างนี้แหละ

อีทีนี้ ถ้าท่านจะเพิ่ม record ใหม่ลงไป ก็เพียงแค่ คลิ้ก ตรง New เท่านั้นเอง ที่เหลือ ก็ง่ายแล้ว กรอกข้อความ ลงในช่องว่าง แล้วก็กด Submit อ้อ หวังว่าคงจะเข้าใจน่ะ ฟิลด์ดาวแดง นั้นต้องกรอก ลองใช้ ... คิดดูว่า ทำไม ถึงต้องกรอก



ใคร่ขอแนะ ให้ศึกษา configuration file ของ ปูมประจำวัน ให้ดี จากตัวอย่าง configuration file ที่ยกมาให้ดู และรูปทั้ง ๓ ที่แนบเสนอมา พร้อมกันนี้

elog ที่ใช้นี้ ท่านสามารถกำหนดให้เป็น การบันทึกการปฏิบัติงาน แบบ shift ก็ได้ สามารถใช้เป็น problems collection ก็ได้ แม้กระทั้งว่า เป็น shared logbook ก็ยังได้เลย จะใช้อะไร อย่างไรนั้น ขอให้ศึกษาเพิ่มเติม ได้เองโดยสะดวก

การเรียกใช้งาน
epiphany http://localhost:8080/ &





commands

มูลเหตุ ที่ elog เป็นส่วนหนึ่งของ ไกลปืนเที่ยง นั้น เพราะ สทน. กำหนดว่า ทุกคน ต้องบันทึก การปฏิบัติงาน เป็นประจำ โดยสม่ำเสมอ ดังนั้น จึงเลือกที่จะใช้บริการ ของ ports ซึ่ง ฟรี และไม่มีข้อผูกพันใดใด ของ FreeBSD มาเป็นทางออก สำหรับข้อกำหนดดังกล่าว

ความจริง เพื่อนอีกคน ที่เรียกกันว่า ปริว เขาก็ทำไว้ให้ใช้แหละ แต่ความที่ มีอะไรก็บันทึกลงไปหมด อีกอย่าง ก็ติดจะบันทึกแบบ ฟรีฟอร์ม ด้วย จึงเกรงใจเพื่อน ทนใช้บริการเขาได้อยู่เกือบปี เลยมานึกว่า อีทรงนี้ ทำเองดีกว่า เราก็สบายใจ เพื่อนก็ไม่อึดอัดใจ ก็เท่านั้นแหละ

เสียดายอยู่น่ะ ที่ต้องเปลืองเนื้อที่ hard disk ของตัวเอง แต่ ถึงงั้นก็เถอะหว่า .... ขอบใจมากน่ะ ปริว


View My Stats