Redmine: แนะนำการใช้งาน — ผู้ดูแลระบบ

Somprasong Damyos
Open Source Technology
9 min readMar 24, 2017

Redmine เป็นเว็บแอพพลิเคชั่นสำหรับทำ Project Management พัฒนาโดยใช้ Ruby on Rails framework จุดเด่นอยู่ที่ความง่ายในการปรับแต่งการใช้งาน และเป็นซอฟต์แวร์โอเพนซอร์สใช้สัญญาอนุญาติแบบ GNU General Public License v2 (GPL)

Redmine สามารถนำมาใช้งานเป็น Bug Tracking, Feature Tracking หรือ Support Tracking ได้เป็นอย่างดี แถมยังสามารถเชื่อมต่อกับ SCM เช่น SVN, Git ได้อีกด้วย

คุณสมบัติที่น่าสนใจของ Redmine

  • สนับสนุน Multiple project
  • ปรับแต่งในการกำหนดสิทธิ์ได้ง่าย โดยใช้ role based
  • ปรับแต่งระบบติดตาม issue ได้
  • มี Gantt chart และ Calendar
  • มี News, Documents และ Files Management
  • มีระบบ Feed และแจ้งเตือนทาง email
  • มี Wiki ให้ในทุก Project
  • มี Forum ให้ในทุก Project
  • มีฟังก์ชั่นติดตามเวลาการพัฒนา
  • สามารถสร้าง custom field สำหรับ issues, projects และข้อมูล users เองได้
  • มี SCM Integration (SVN, CVS, Git, Mercurial, Bazaar และ Darcs)
  • สร้าง issue ผ่าน email ได้ (ต้องตั้งค่าเพิ่มเติม)
  • เข้าใช้งานผ่าน LDAP ได้
  • มีระบบสมัครสมาชิกใหม่ได้
  • สนับสนุนหลายภาษา
  • รองรับระบบฐานข้อมูลหลากหลาย (MySQL, PostgreSQL or SQLite)

การติดตั้ง

  • Linux สามารถทำตามคู่มือการติดตั้งจาก official doc ได้เลย
  • Windows สามารถดาวน์โหลดตัวติดได้จาก bitnami (มัดรวมทุกอย่างมาให้แล้ว แค่กด Next อย่างเดียว)

ตั้งค่าการใช้งาน (ผู้ดูแลระบบ)

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

หน้าจอสำหรับผู้ดูแลระบบ

1. การจัดการโครงการ — Projects

หน้านี้จะแสดงรายการโปรเจคทั้งหมด โดยค่าเริ่มต้นจะแสดงรายการที่ active อยู่ ซึ่งสามารถเลือกให้แสดงทั้งหมด(all) หรือเฉพาะที่ปิดโปรเจคไปแล้ว(closed) หรือที่สั่ง archive ไปแล้วก็ได้ หรือจะค้นหาจากชื่อโปรเจคก็ได้ ซึ่งจะแสดงรายละเอียด ดังนี้

  • Project: ชื่อโปรเจค สามารถคลิกเข้าไปแก้ไขรายละเอียดได้
  • Description: คำอธิบายสั้นๆ ของแต่ละโปรเจค
  • Public: ถ้ามีเครื่องหมายถูกสีเขียว แสดงว่าโปรเจคนี้เป็นแบบ public มองเห็นได้ทุกคน และอาจจะใช้งานโปรเจคนี้ด้วย role ของ Non member และ Anonymous ในทางกลับกันจะเป็นโปรเจคแบบ Non-public จะมองเห็น และเข้าใช้งานได้เฉพาะผู้ใช้งานที่ถูกกำหนดสิทธิจากผู้ดูแลระบบของโปรเจคนั้นๆ
  • Created: วันที่ที่สร้างโปรเจคนั้น
  • Archive: คือการจัดเก็บโปรเจคไว้ ซึ่งผู้ใช้งานจะมองไม่เห็นโปรเจคนั้นๆ แล้ว แต่ยังมีข้อมูลอยู่เหมือนเดิมทุกอย่าง และผู้ดูแลระบบเท่านั้นที่จะนำกลับมาได้ (subproject ทั้งหมดจะถูก archive ไปด้วย)
  • Copy: เป็นการสร้างโปรเจคใหม่โดยการคัดลอกจากโปรเจคที่เลือก ซึ่งสามารถเลือกได้ว่าต้องการคัดลอกข้อมูลอะไรบ้างไปยังโปรเจคใหม่
  • Delete: คือการปิดโปรเจค โดยโปรเจคนั้นๆ จะถูกตั้งค่าให้เป็น read-only เท่านั้น โดยการเข้าถึงยังเหมือนโปรเจคแบบปกติ
  • New Project: เป็นการสร้างโปรเจคใหม่ขึ้นมา ซึ่งการสร้างนี้ผู้ใช้งานทั่วไปก็สามารถได้ด้วยเช่นกัน ดังนั้นขอเก็บส่วนนี้ไปอธิบายในส่วนของผู้ใช้งานทั่วไป

2. การจัดการผู้ใช้งาน — Users

หน้านี้เป็นหน้าจอจัดการผู้ใช้งานทั้งหมด ทั้งการสร้างผู้ใช้งานใหม่ ลบผู้ใช้งาน และสั่ง lock หรือ unlock ผู้ใช้งาน โดยค่าเริ่มต้นจะแสดงผู้ใช้งานทั้งหมด(all) และสามารถเปลี่ยนตัวกรองเป็นสถานะอื่นๆได้ ดังนี้

  • active: คือบัญชีผู้ใช้งานที่ activated แล้ว(เคยเข้าใช้งานระบบแล้ว)
  • locked: คือบัญชีผู้ใช้งานที่ถูกล็อกไว้ ซึ่งผู้ใช้งานที่มีสถานะนี้จะไม่สามารถเข้าใช้งานระบบได้, ไม่สามารถถูกเลือกสั่งงานได้ หรือกำหนดเป็น watcher ได้, จะไม่ได้รับอีเมลแจ้งเตือน และจะไม่ถูกแสดงรายชื่ออยู่โปรเจคด้วย
  • registered: คือบัญชีผู้ใช้งานที่ยังไม่ activated
แสดงผลการค้นหาผู้ใช้งาน
  • Login: ชื่อล็อกอิน (กดเข้าไปแก้ไขรายละเอียดได้ )
  • First name: ชื่อจริง
  • Last name: นามสกุล
  • Email: อีเมล เอาไว้รับการแจ้งเตือน
  • Administrator: ถ้ามีเครื่องหมายถูกสีเขียว หมายถึงผู้ใช้งานนี้เป็นผู้ดูแลระบบ
  • Created: วันที่สร้างบัญชีผู้ใช้งาน
  • Last connection: วันที่ และเวลาที่เข้าใช้งานล่าสุด
  • Lock/Unlock: กดเพื่อสั่ง lock หรือ unlock บัญชีผู้ใช้งาน
  • Delete: กดเพื่อสั่งลบบัญชีผู้ใช้งาน ซึ่งจริงๆ แล้วไม่ได้ถูกลบไปจริงๆ เพราะต้องใช้แสดงชื่อในงานเก่าๆ ที่ทำไว้ แค่ค้นหาไม่เจอแล้ว
  • New user: กดเพื่อสร้างบัญชีผู้ใช้งานใหม่ แบ่งเป็น 5 ส่วนหลักๆ
  1. Information: ใช้กำหนด ชื่อบัญชี, ชื่อ-นามสกุล, อีเมล, ภาษาที่ใช้งาน และระบุว่าเป็นผู้ดูแลระบบหรือไม่
  2. Authentication: ใช้กำหนดรหัสผ่านใช้กับผู้ใช้งาน เลือกได้ว่าจะตั้งเอง หรือให้แบบสร้างให้ (เลือก Generate password) และต้องการบังคับให้ตั้งรหัสผ่านใหม่ในการเข้าใช้งานครั้งแรกด้วยหรือไม่ (Must change password at next login)
  3. Email notification: กำหนดรูปแบบการแจ้งเตือนผ่านอีเมล
  4. Preferences: กำหนดรายละเอียดอื่นๆ เช่น รูปแบบวันที่ หรือการแสดงผลหน้าจอ
  5. Send account information to the user: คือการเลือกให้ส่งข้อมูลบัญชีผู้ใช้งานที่สร้างใหม่นี้ให้กับผู้ใช้งานตามอีเมลที่ระบุ หรือไม่

3. การจัดการกลุ่มผู้ใช้งาน — Groups

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

  • Group: ชื่อกลุ่ม
  • Users: จำนวนสมาชิกในกลุ่ม
  • Delete: ลบกลุ่มที่เลือก
  • New group: สร้างกลุ่มใหม่ เมื่อเลือกจะมีหน้าจอให้ตั้งชื่อ เมื่อบันทึกแล้วต้องกลับมาหน้าจอแสดงรายชื่อกลุ่ม และเลือกที่ชื่อกลุ่มเพื่อเพิ่มผู้ใช้งาน หรือเพิ่มกลุ่มที่เลือกเข้าไปในโปรเจคต่างๆ พร้อมระบุ Role ในโปรเจคนั้นๆ ได้
เพิ่มผู้ใช้งานในกลุ่มโดยเลือกที่ New user หรือลบผู้ใช้งานออกจากกลุ่มโดยการเลือก Delete ที่ผู้ใช้งานแต่ละคน
เพิ่มกลุ่มที่เลือกเข้าไปในโปรเจคที่ต้องการ พร้อมทั้งสามารถกำหนด Role ได้

4. การจัดการ Role และสิทธิการใช้งาน — Role and Permissions

Role คือการกำหนดสิทธิการใช้งาน (permission) ให้กับสมาชิกในโปรเจคว่าสามารถทำอะไรได้บ้าง ซึ่งสมาชิกแต่ละคนในโปรเจคสามารถมีได้มากกว่า 1 role(s) และผู้ใช้งานแต่ละคนอาจมี role ได้ต่างกันในคนละโปรเจคด้วย

ซึ่ง roles ที่ระบบติดตั้งมาให้เป็นค่าเริ่มต้นมี 5 roles ตามรูปด้านล่าง

สังเกตว่าจะมี roles ที่ไม่สามารถลบได้อยู่ 2 roles คือ Nonmember กับ Anonymous ซึ่งทั้งคู่จะเป็น system roles จะถูกใช้โดย Redmine จึงไม่สามารถลบได้

- การเพิ่ม role ใหม่

เลือกที่ New role ซึ่งในหน้าจอนี้จะแบ่งเป็น 3 ส่วน คือ

  1. Role properties คือ การระบุข้อมูลพื้นฐานว่าสามารถทำอะไรได้บ้าง
    - Name: กำหนดชื่อ role
    - Issues can be assigned to this role: ถ้าไม่เลือกถูกไว้จะหมายความว่า issues ทั้งหมดจะไม่สามารถระบุผู้รับผิดชอบให้กับสมาชิกของโปรเจคที่มี role นี้ได้
    - Issues visibility: ระบุระดับการมองเห็นประเภท issues ในโปรเจค
    - Time logs visibility: ระบุระดับการมองเห็น time logs
    - Users visibility: ระบุว่าใครมองเห็น role นี้ได้บ้าง
    - Copy workflow from: ระบุว่าให้คัดลอกการกำหนดสิทธิมาจาก role ไหน
  2. Permissions คือ การกำหนดสิทธิการใช้งานในโปรเจคว่าสามารถทำอะไรได้บ้าง ดูคำอธิบายของแต่ละสิทธิได้จาก official doc
  3. Issue tracking คือ การกำหนดสิทธิว่าสามารถทำอะไรได้บ้างกับ tracker แต่ละตัว เช่น ดู, เพิ่ม issue ใหม่ หรือเพิ่มโน็ตได้หรือไม่

ซึ่งคอลัมน์ตรงนี้จะขึ้นอยู่กับการกำหนดสิทธิใน Permission — Issue tracking ด้วย เช่น ถ้ากำหนดว่า role นี้สามารถ Edit issues ได้ ก็จะมีคอลัมน์ Edit issues เพิ่มขึ้นมาให้เลือกด้วย

- Permissions report

เป็นหน้าจอแสดงสิทธิการใช้งานทั้งหมดใน Redmine แบ่งตามกลุ่ม(เหมือนตอนสร้าง/แก้ไข ของแต่ละ role) แสดงในแถวของตาราง ในส่วนของคอลัมน์จะเป็น roles ทั้งหมด ซึ่งในหน้าจอสามารถแก้ไขสิทธิของแต่ละ role ได้ โดยการเลือก/เอาออก ที่ checkbox ของแต่ละสิทธิ

5. ระบบติดตาม issue

ประกอบด้วยการตั้งค่า 3 ส่วน ที่เกี่ยวข้องกัน คือ Trackers, Issue statues และ Workflow

  • Trackers คือ การแบ่งประเภทของ issue โดยค่าเริ่มต้นจะแบ่งมีให้ 3 ประเภท คือ Bug, Feature และ Support และเราสามารถเพิ่มเติม และแก้ไขแบ่งประเภทใหม่ทั้งหมดตามที่เราต้องการเองก็ได้ โดยการเลือกที่ Delete เพิ่มลบ หรือเลือก New tracker เพื่อเพิ่มประเภทใหม่

จากรูปจะแบ่งเป็น 2 ส่วน ด้านขวาคือการระบุว่าต้องใช้งาน tracker ใหม่นี้ในโปรเจคใดบ้าง ส่วนด้านซ้ายเป็นการระบุรายเอียดของ tracker ที่กำลังจะสร้าง
- Name: ตั้งค่า tracker
- Default status: คือ การกำหนดสถานะเริ่มต้นของ tracker นี้ มีนำไปใช้งาน (ตัวเลือกตรงนี้จะมาจากการตั้งค่าในเรื่อง Issue statues)
- Issues displayed in readmap: เลือกว่าจะให้แสดงใน roadmap หรือไม่
- Standard fields: เป็นการระบุว่า tracker ที่กำลังสร้างนี้ ต้องการให้มีการบันทึกข้อมูลอะไรบ้าง
- Copy workflow from: คือ เลือกว่าต้องการคัดลอกการตั้งค่ามาจาก tracker ใดหรือไม่

  • Issue statues: คือ กำหนดสถานะของ issue ว่าเป็นอย่างไร เช่น เป็นรายการใหม่ หรือรายการนี้กำลังดำเนินการแก้ไขอยู่ หรือแก้ไขเสร็จแล้ว เป็นต้น ซึ่งในส่วนแต่สามารถ เพิ่ม/ลบ ได้อิสระ แต่จะมีการตั้งค่าพิเศษอยู่ 1 อย่าง คือ Issue closed หมายความว่าถ้าเลือกเป็นสถานะที่ตั้ง issue closed ไว้ issue นั้นจะถือว่าปิดเคสไปแล้ว
สถานะตั้งต้นที่มาจากการติดตั้ง
  • Workflow คือ การกำหนด workflow การทำงาน โดยเป็นการตั้งค่าตาม role ซึ่งแต่ละ role สามารถมี workflow ในแต่ละ tracker แตกต่างกันได้ แต่การที่แต่ละ role จะสามารถแก้ไขตาม workflow ที่ตั้งไว้ได้ role นั้นๆ จะต้องมีสิทธิ Edit issue ด้วย (กลับไปดูเรื่อง Roles and permissions)

จากรูปข้างบนคือ การตั้งค่า workflow ของ Role Developer ของ Tracker Bug โดยกำหนดว่าถ้าปัจจุบัน tracker นี้ มีสถานะเป็น New ถ้าเป็น Developer มาแก้ไขสถานะ จะสามารถแก้ไขได้เป็น In Progress หรือ Resolved หรือ Feedback หรือ Closed ได้แค่ 4 สถานะนี้เท่านั้น

6. Custom fields

Redmine อนุญาตให้สร้าง field ใหม่เพื่อบันทึกข้อมูลเพิ่มเติมเองได้ เช่น การสร้างผู้ใช้งานปกติจะมีใช้ให้แค่ ชื่อ-นามสกุล เท่านั้น แต่เราต้องการบันทึกชื่อเล่นด้วย ก็สามารถใช้ custom fields สร้าง field ชื่อเล่นเพิ่มขึ้นมาได้ และกำหนดรายละเอียดของ field ใหม่นี้ได้ว่าเป็น required field หรือไม่ รูปแบบเป็นข้อความ/ตัวเลข/วันที่ได้ เป็นต้น (ดูรายละเอียดเพิ่มเติมจาก official doc)

ประเภทของข้อมูลที่สร้าง field ใหม่เพิ่มได้

7. Enumerations

Enumerations เป็นค่าของชุดข้อมูลในตัวเลือกที่ใช้ในระบบของ Redmine ซึ่งสามารถเพิ่ม/ลบ หรือเรียงลำดับได้อย่างอิสระ และสามารถกำหนดค่า default ของตัวเลือกได้ว่าต้องการให้เลือกที่ค่าใด

จะมีอยู่ 3 ชุด ข้อมูล
  • Activities (time tracking): ตัวเลือกของการบันทึกว่าในการทำงานว่ากำลังอยู่ในระยะการพัฒนาไหน เช่น Design หรือ Development
  • Document categories: ตัวเลือกประเภทเอกสารที่สร้างไว้ในแต่ละโปรเจค
  • Issue priorities: ตัวเลือกระดับความสำคัญของแต่ issue โดยจะเรียงจากต่ำไปสูง แต่สามารถตั้งค่าเริ่มต้นของตัวเลือกได้ เช่น ตั้งไว้ที่ Normal ระบบก็จะเลือกไว้ให้ที่ Normal

8. ตั้งค่าโปรแกรม — Settings

ในส่วนนี้จะเป็นการตั้งค่าของตัวระบบของ Redmine เช่น ชื่อ title, welcome text, รูปแบบการแสดงผล การจัดการไฟล์ และการแจ้งเตือนทางอีเมล เป็นต้น โดยจะแบ่งการตั้งค่าแต่ละกลุ่มเป็นแทบๆ ดังนี้

แทบ General

  • Application title: เป็นชื่อที่แสดงในส่วน heading ของโปรแกรม ใต้เมนู Home/My page/Projects/Help
  • Welcome text: เป็นข้อความในหน้าแรกของโปรแกรม สามารถใส่เป็น HTML tags ได้
  • Objects per page options: การแสดงผลจำนวนของ issues หรือ commits เป็นต้น ว่าจะให้แสดงจำนวนเท่าไหร่ต่อหน้า ค่าเริ่มต้นเป็น 25,50,100
  • Search result per page: จำนวนที่ให้แสดงผลการค้นหาต่อหน้า
  • Day displayed on project activity: กำหนดจำนวนวันที่จะให้แสดงของกิจกรรมในแต่ละโปรเจค
  • Host name and path: เอาไว้กำหนด host name และ path ของ redmine server และชื่อนี้จะเอาไปใช้เป็น URL ในของอีเมลไปให้ผู้ใช้งาน
  • Protocol: เลือกโปโตรคอลที่จะให้สร้าง links ในอีเมลแจ้งเตือนที่ส่งออกไป
  • Text formatting: กำหนดรูปแบบของข้อความใน discription field ของ issues, news, documents เป็นต้น
  • Cache formatted text: การทำงานปกติระบบจะแปลงข้อความจาก raw ไปเป็น HTML ทุกครั้งที่แสดงผลบน browser ของผู้ใช้งาน ซึ่งจะให้ช้า ถ้าหน้าจอนั้นมีข้อความเยอะ จึงสามารถเลือกถูกเพื่อทำการ caching ไว้ได้ ซึ่งค่าเริ่มจะเป็นการ cache แบบ MemoryStore แต่ถ้ากังวลเรื่อง RAM สามารถเปลี่ยนเป็น MemCacheStore หรือ FileStore แทนได้ (อ่านเพิ่มเติม)
  • Wiki history compression: เลือกวิธีการบีบอัดการจัดเก็บข้อมูลของ Wiki history เพื่อลดขนาดของฐานข้อมูล ค่าเริ่มต้นจะปิดการทำงานเอาไว้
  • Maximum number of items in Atom feeds: กำหนดจำนวนรายการสูงสุดใน Atom feeds

แทบ Display

เป็นส่วนการตั้งค่าเกี่ยวกับการแสดงผลทาง

  • Theme: เลือกรูปแบบธีม มี 3 แบบให้เลือก Default/Alternative/Classic ถ้าไม่ถูกใจสามารถหาดาวน์มาติดตั้งเพิ่มเติมได้ (อ่านเพิ่มเติม) หรือสร้างธีมขึ้นมาเองก็ได้ (อ่านเพิ่มเติม)
  • Default language: เลือกภาษาของระบบ (มีภาษาไทยด้วย)
  • Force default language for anonymous users: บังคับใช้ default language กับผู้ใช้งานแบบ anonymous
  • Force default language for logged-in users: บังคับใช้ default language กับผู้ใช้งานที่เคยเข้าใช้งานระบบแล้ว โดยไม่สนใจว่าผู้ใช้งานคนนั้นๆ จะเลือกภาษาของตนเองเป็นภาษาอะไร
  • Start calendars on: กำหนดวันที่เริ่มต้นสัปดาห์ของปฏิทิน
  • Date format: กำหนดรูปแบบวันที่
  • Time format: กำหนดรูปเวลา
  • Users display format: กำหนดรูปแบบแสดงชื่อผู้ใช้งาน ค่าเริ่มต้นเป็น ชื่อ นามสกุล
  • Use Gravatar user icons: ถ้าเลือกเครื่องหมายถูกจะใช้รูป avatar จาก Gravatar (อ้างอิงกับอีเมลของผู้ใช้งาน)
  • Default Gravatar image: กรณีเลือกใช้ Gravatar แล้วผู้ใช้งานไม่มีรูป avatar จะให้แสดงรูปอะไรแทนมีให้เลือก 5 แบบ
  • Display attachment thumbnails: เลือกว่าต้องการให้แสดงรูป thumbnails ของเอกสารแนบหรือไม่
  • Thumbnails size (in pixels): กำหนดขนาดของรูป thumbnails เมื่อเปิดใช้งาน
  • Project menu tab for creating new objects:

แทบ Authentication

แทบนี้เป็นการตั้งค่าการเข้าใช้งานระบบ

  • Authentication required: ถ้าเลือกถูกไว้ จะไม่สามารถเข้าแบบ anonymous ได้
  • Autologin: เปิดปิดระบบ autologin ว่าจะให้จำไว้กี่วัน ค่าเริ่มต้นจะปิดเอาไว้
  • Self-registration: กำหนดว่าเปิดให้สมัครเข้าใช้งานระบบเองได้หรือไม่ ถ้าได้ให้เลือกรูปแบบการ activation ว่าต้องการเป็นแบบไหน โดยค่าเริ่มต้นคือ manual account activation คือต้องให้ผู้ดูแลระบบมากด approve ก่อนจึงจะสามารถ login เข้าใช้งานได้ หรือจะให้ activate ผ่านอีเมลก็ได้ หรือต้องการให้สมัครเสร็จเข้าใช้งานได้เลยก็เลือกแบบ automatic
  • Allow users to delete their own account: เลือกว่าอนุญาตให้ผู้ใช้งานลบบัญชีใช้งานของตนเองได้หรือไม่ ค่าเริ่มต้นคือสามารถลบได้
  • Minimum password length: กำหนดความยาวต่ำสุดของรหัสผ่าน
  • Require password change after: กำหนดว่าต้องการให้ผู้ใช้งานตั้งรหัสผ่านใหม่ทุกๆ กี่วันหรือไม่ ค่าเริ่มต้นปิดการใช้งานไว้
  • Allow password reset via email: เลือกเพื่ออนุญาตให้รีเซตรหัสผ่านทางอีเมล
  • Maximum number of additional email addresses: กำหนดจำนวนสูงสุดของอีเมลเพิ่มเติมของผู้ใช้งานแต่ละคน
  • Allow OpenID login and registration: เลือกเพื่อเปิดใช้งานการเข้างานผ่านระบบ OpenID
  • Session expiration — Session maximum lifetime: กำหนดเวลาหมดอายุของ session ที่ login ไว้ (ค่าเริ่มต้นเป็นไม่กำหนด)
  • Session expiration — Session inactivity timeout: กำหนดเวลาหมดอายุของ session เมื่อไม่มีการใช้งาน (ค่าเริ่มต้นเป็นไม่กำหนด)
  • Default values for new users — Hide my email address: ถ้าเลือกถูกไว้ จะกำหนดให้ค่าเริ่มต้นการแสดงอีเมลของผู้ใช้งานใหม่ถูกซ่อนไว้

แทบ API

เป็นตั้งค่าเปิด-ปิดการใช้งาน API ของ REST web service ให้แอพนอกมาเชื่อมต่อหรือไม่ หรือเปิด-ปิด การสนับสนุน JSONP หรือไม่

แทบ Projects

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

  • New projects are public by default: ถ้าเลือกถูกคือกำหนดให้ค่าเริ่มต้นของการสร้างโปรเจคใหม่ ให้เป็นโปรเขคแบบ public
  • Default enabled modules for new projects: กำหนดค่าเริ่มต้นของการสร้างโปรเจคใหม่ว่าต้องการให้มีโมดูลอะไรบ้าง ซึ่งสามารถเพิ่ม/ลดได้เอง ในขั้นตอนการสร้างโปรเจคใหม่
  • Default trackers for new projects: กำหนดค่าเริ่มต้นของการสร้างโปรเจคใหม่ว่าต้องการให้มี trackers อะไรบ้าง ซึ่งสามารถเพิ่ม/ลดได้เอง ในขั้นตอนการสร้างโปรเจคใหม่
  • Generate sequential project identifiers: ถ้าเลือกถูกคือการกำหนดให้ redmine สร้าง project identifier แบบเป็นลำดับให้อัตโนมัติ(แก้ไขเองได้) แต่ถ้าไม่เลือก remine จะเอาชื่อโปรเจคมาตั้งให้ และสามารถแก้ไขได้
  • Role given to a non-admin user who creates a project: เลือก role ที่ไม่ใช้ผู้ดูแลระบบให้สามารถสร้างโปรเจคใหม่ได้

แทบ Issue tracking

แทบนี้จะเป็นการตั้งค่าเกี่ยวกับติดตาม issue ทั้งหมด โดยแบ่งเป็น 3 ส่วน

ตั้งค่าทั่วไปของการสร้าง issue

  • Allow cross-project issue relations: ถ้าเลือกถูกคืออนุญาตให้เชื่อมโยง issue เข้าด้วยกันข้ามโปรเจคได้
  • Link issues on copy: -
  • Allow cross-project subtasks: อนุญาตให้สร้าง subtasks ข้ามโปรเจคได้หรือไม่
    disabled : ไม่อนุญาต parent task ต้องมี subtasks ในโปรเจคเดียวกันเท่านั้น
    With all projects : อนุญาตให้ parent task สร้าง subtasks จากโปรเจคใดๆ ก็ได้
    With project tree : อนุญาตให้ parent task สร้าง subtasks จากโปรเจคเดียวกัน รวมไปถึงโปรเจคแม่ที่สืบทอดมา หรือโปรเจคลูกที่เกี่ยวข้องทั้งหมดได้
    With project hierarchy : อนุญาตให้ parent task สร้าง subtasks จากโปรเจคเดียวกัน, โปรเจคย่อยๆ และโปรเจคแม่ที่สืบทอดมาเท่านั้น
    With subprojects :อนุญาตให้ parent task สร้าง subtasks จากโปรเจคเดียวกัน, โปรเจคย่อยๆ ลงไปเท่านั้น
  • Allow issue assignment to groups: ปกติในแต่ละ issue จะสามารถระบุผู้รับผิดชอบได้เป็นรายบุคคล แต่ถ้าเลือกถูกที่ตัวเลือกนี้จะเพิ่มให้สามารถกำหนดผู้รับผิดชอบเป็นกลุ่มของผู้ใช้งานได้
  • Use current date as start date for new issues: เลือกถูกเพื่อกำหนดให้วันที่ปัจจุบันเป็นวันที่เริ่มต้นของ issue ที่สร้างใหม่ ถ้าไม่เลือกจะต้องกำหนดเอง
  • Display subprojects issues on main projects by default: เลือกถูกเพื่อให้แสดง issue จากโปรเจคย่อยทั้งหมด ในหน้าจอของโปรเจคหลัก
  • Calculate the issue done ratio with: เลือกวิธีการคำนวณอัตราส่วนของ issue ที่แก้ไขเสร็จว่าให้คิดจากข้อมูลใด
    Use the issue field : ให้ผู้ใช้งานกำหนด % Done เองของแต่ละ issue เอง
    Use the issue status: โปรแกรมคำนวณให้จากสถานะ โดยจะเอามาจากที่ตั้งค่า % Done ของแต่ละสถานะในการตั้งค่า Issue statuses ซึ่งต้องเลือกตัวเลือกนี้ก่อนจึงจะไปตั้งค่า % Done ของแต่ละสถานะได้
  • Non-working days: กำหนดวันหยุด
  • Issues export limit: กำหนดจำนวนสูงสุดของ issue ที่จะส่งออกไปเป็น CSV หรือ PDF ค่าเริ่มต้นอยู่ 500
  • Maximum number of items displayed on the gantt chart: กำหนดจำนวนสูงสุดของรายการที่จะแสดงใน gantt chart

ส่วนที่สอง

เป็นการตั้งค่าการคำนวณค่าต่างๆ ของ Parent tasks ว่าให้นำเอาข้อมูลจาก subtasks มาคิดรวมด้วย หรือให้คิดแยกออกจากกันไปเลย

ส่วนที่สาม

เป็นการตั้งค่าเริ่มต้นของการแสดงผลหน้าจอ Issue list ในแต่ละโปรเจคว่าต้องการให้แสดงข้อมูลอะไรบ้าง ซึ่งในแต่ละโปรเจคสามารถแก้ไขการแสดงผลส่วนนี้ได้เอง

ตั้งค่าเริ่มต้นการแสดงผล
หน้าจอแสดงผลในแต่ละโปรเจคจะแสดงข้อมูลรายการ issue ตามที่กำหนดไว้ ถ้าต้องการแก้ไขเลือกที่ Options

แทบ Files

เป็นการตั้งค่าของการอัพโหลดเอกสารของโปรเจค เช่น ขนาดของไฟล์ และกำหนดประเภทของไฟล์ที่อนุญาต/ไม่อนุญาตให้อัพโหลด

แทบ Email notifications

เป็นการตั้งค่าการแจ้งเตือนผ่านทางอีเมล

  • Emission email address: ระบุอีเมลที่ใช้ส่งออก
  • Blind carbon copy recipients (bcc): เลือกถูกเพื่อใช้งาน bcc (คือการซ่อนอีเมลของผู้รับ เพื่อไม่ให้รู้ว่าส่งให้ใครบ้าง และไม่สามารถ reply กลับไปยังอีเมลใน bcc ได้)
  • Plain text mail (no HTML): เลือกถูกเพื่อให้ส่งอีเมลเป็นแบบข้อความธรรมดา โดยค่าเริ่มต้นไม่เปิดใช้งานไว้
  • Default notification option: กำหนดค่าเริ่มต้นของการแจ้งเตือนให้กับผู้ใช้งานแต่ละคน ซึ่งผู้ใช้งานแต่สามารถไปแก้ไขเองได้
  • Select actions for which email notifications should be sent: เป็นการเลือกว่าต้องการใช้ส่งอีเมลแจ้งเตือนเมื่อเกิดเหตุการณ์ใดเกิดขึ้นบ้าง
  • Email header: กำหนดหัวเรื่องในอีเมลแจ้งเตือนทุกฉบับที่ส่งออกไป
  • Email footer: กำหนดข้อความลงท้ายในอีเมลแจ้งเตือนทุกฉบับที่ส่งออกไป

แทบ Incoming emails

เป็นการตั้งค่าจัดการกับอีเมลขาเข้า (ดูวิธีการสร้างอีเมลขาเข้า)

  • Truncate emails after one of these lines: กำหนดประโยคที่จะให้ตัดข้อความในอีเมลทิ้งหลังจากประโยค หรือคำนั้นๆ โดยกำหนด 1 คำ/ประโยค ต่อ 1 บรรทัด ตัวอย่างการใช้งาน เช่น ใช้ตัด signatures จากอีเมลที่ส่งเข้ามาทิ้ง
  • Exclude attachments by name: กำหนดว่าไม่รับเอกสารแนบจากชื่อไฟล์ หรือจากนามสกุลไฟล์ก็ได้ กำหนดได้มากว่า 1 ค่า ด้วยการใช้ “,” คั่น เช่น smime.p7s, *.vcf
  • Enable WS for incoming emails: Redmine มีฟีเจอร์ให้สร้าง issue ใหม่ หรือเพิ่ม comment ได้จากการส่งอีเมลเข้ามา แต่จะใช้งานได้ต้องเปิดใช้งานหัวข้อนี้ก่อน
  • Incoming email WS API key: เมื่อเปิดใช้งานหัวข้อข้างบนจะใช้ API key สำหรับฟีเจอร์ดังกล่าวด้วย โดยสามารถตั้งได้เอง หรือให้ระบบสร้างให้ก็ได้

แทบ Repositories

  • Enable SCM: เป็นการเลือกว่าต้องการเปิดใช้งาน source code management (SCM) ตัวใดบ้าง ซึ่งถ้าติดตั้งกับ bitnami ก็จะติดตั้ง Git มาให้ด้วย
  • Fetch commits automatically: เลือกถูกเพื่อให้ระบบดึง revisions ล่าสุดมาจาก repository ให้อัตโนมัติ
  • Enable WS for repository management: หัวข้อนี้ให้เปิดใช้งานเมื่อมีการติดตั้ง script สำหรับสร้าง repository ให้อัตโนมัติจาก Redmine
  • Repository management WS API key: ใช้กำหนด API key เมื่อเปิดใช้งานหัวข้อก่อนหน้านี้
  • Maximum number of revisions displayed on file log: กำหนดจำนวนสูงสุดของ revisions ที่จะให้แสดงใน log
  • Referencing and fixing issues in commit messages: ในทุกๆ ครั้งที่มีการดึงข้อมูลมาจาก repository นั้น commit messages จะถูกสแกนว่าแต่ละ commit นั้นอ้างอิงไปยัง issue id ตัวไหนบ้าง โดยอาศัยจากการใช้ keyword ที่อยู่ใน commit messages หรือจะสั่งให้อัพเดทสถานะเป็นแก้ไขแล้วก็ได้ ตัวอย่างเช่น
This commit refs #1, #2 and fixes #3

หมายถึง commit message นี้ให้อ้างอิงไปยัง issue id 1, 2 และอัพเดทสถานะ issue id 3 เป็นแก้ไขแล้ว

  • Referencing keywords: กำหนด keyword ที่จะใช้อ้างอิงไปยัง issue โดยค่าเริ่มต้นเป็น refs,references,IssueID
  • Allow issues of all the other projects to be referenced and fixed: เลือกถูกเพื่ออนุญาตให้ commit messages ของโปรเจค สามารถอ้างอิงไปยัง issue ในโปรเจคอื่นๆ ได้
    Enable time logging: เลือกถูกเพื่อเปิดการใช้งานให้สามารถอ่านระยะเวลาการทำงานจาก commit messages แล้วไปบันทึกใน issue ที่อ้างอิงถึงได้ โดยใช้ “@<time>” ระบุไว้ใน commit message เช่น Implement feature #1234 @2h
    เพื่อบอกว่าใช้เวลาในการแก้ไข issue #1234 ไป 2 ชั่วโมง
  • Activity for logged time: เป็นการกำหนดประเภทของกิจกรรมว่าต้องการให้บบันทึกว่าเป็นอะไร เมื่อมีการบันทึก log time จาก commit message
  • Fixing keywords: ใช้กำหนด keyword ในการอัพเดทสถานะของ issue ต่างๆ โดยสามารถกำหนดได้ว่าแต่ละ keyword นั้นให้ใช้ได้กับทุกๆ tracker หรือบาง tracker เท่านั้น และต้องการให้อัพเดทเป็นสถานะอะไรโดยเลือกที่ Applied status สุดท้ายสามารถกำหนดได้ว่าให้อัพเดท % Done เป็นเท่าไหร่ได้ด้วย

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

--

--