คชสารเป็นผลิตภัณฑ์ ที่ริเริ่มสร้างสรรค์โดย กรกฎ วิริยะ แต่เพียงผู้เดียว โดยมีจุดประสงค์หลักเพื่อเผยแพร่และสามารถนำไปใช้งานได้ฟรี
คชสารเว็บเฟรมเวิร์ค ออกแบบโดยยึดหลักความเรียบง่าย ไม่ต้องการ Server ที่พิเศษ รวมทั้งมือใหม่ก็ยังติดตั้งและใช้งานได้ง่ายโดยไม่ต้องเรียนรู้มากมายนัก 
ปกติแล้ว ค่าเริ่มต้นของคชสาร สามารถสร้างแอพพลิเคชั่นอย่างง่ายได้แล้ว ดูตัวอย่างได้ใน projects

เงื่อนไขการนำไปใช้งาน

  • สามารถ ทำซ้ำ จำหน่าย จ่าย แจก ได้โดยไม่ต้องขออนุญาตก่อน
  • การทำซ้ำ จำหน่าย จ่าย แจก ต้องแสดงแหล่งที่มาเสมอ
  • บรรดาโปรเจ็คอื่นๆที่พัฒนาโดยใช้คชสาร และเป็นผลงานของผู้เขียนเอง ไม่รวมอยู่ในข้อตกลงฉบับนี้
  • การทำซ้ำ จำหน่าย จ่าย แจก เฉพาะส่วนที่พัฒนาโดยผู้อื่นให้เป็นสิทธิ์ของผู้พัฒนานั้นๆ
  • สิทธิ์ของส่วนประกอบของคชสารอื่น ที่ไม่ได้พัฒนาโดยผู้เขียนเอง เช่น CKEditor PHPMailer และ Icon Font icomoon ให้เป็นไปตามข้อตกลงของผู้พัฒนานั้นๆ
  • ผู้เขียนไม่รับผิดชอบการนำคชสารไปใช้งานใดๆ ไม่ว่าทางตรงหรือทางอ้อม และไม่ว่าจะโดยเจตนาหรือไม่ก็ตาม โดยให้เป็นดุลย์พินิจการนำไปใช้จากผู้ที่ต้องการนำไปใช้งานเอง
 
  
 
สามารถศึกษาคู่มือ และการตั้งค่าต่างๆ เพิ่มเติมได้ที่ https://www.kotchasan.com/docs/2.html  
 
ปกติแล้ว ค่าเริ่มต้นของคชสาร สามารถสร้างแอพพลิเคชั่นอย่างง่ายได้แล้ว (ดูตัวอย่างได้ใน projects/) แต่หากต้องการตั้งค่า
หรือ มีการใช้งานฐานข้อมูลร่วมด้วยสามารถทำได้ภายใต้ไดเร็คทอรี่ settings/

การตั้งค่าของคชสาร

ไฟล์สำหรับตั้งค่าของคชสารมีอยู่ 2 ไฟล์ คือ
  1. settings/config.php เป็นไฟล์สำหรับกำหนดค่าทั่วไปของคชสารเว็บเฟรมเวิร์ค
    /* settings/config.php */
    return array(
        'cache_expire' => 5
    );
    ค่ากำหนดต่างๆที่สามารถตั้งค่าได้ สามารถดูคำอธิบายได้ที่ Kotchasan/Config.php และนำมากำหนดที่ไฟล์นี้ได้เลย (ถ้าไม่มีการกำหนดค่าเป็นอย่างอื่น จะใช้ตามที่ระบุใน Kotchasan/Config.php) ยกตัวอย่างเช่น cache_expire เป็นการ กำหนดอายุของแคช (วินาที) ซึ่งถ้าไม่มีการกำหนดไว้จะมีค่าเริ่มต้นเป็น 0 นั่นหมายถึงไม่มีการใช้แคช
  2. settings/database.php เป็นการตั้งค่าฐานข้อมูล
    /* settings/database.php */
    return array(
        'mysql' => array(
           'dbdriver' => 'mysql',
           'username' => 'root',
           'password' => '',
           'dbname' => 'database_name',
           'hostname' => 'localhost',
           'port' => 3306,
           'prefix' => 'my'
        ),
        'tables' => array(
           'user' => 'users'
        )
    );
    ไฟล์นี้ใช้ในการกำหนดค่าต่างๆเกี่ยวกับฐานข้อมูล รายละเอียดต่างๆจะไปพูดถึงในหัวข้อ Database

สิทธิ์ของไดเร็คทอรี่

โดยปกติแล้ว คชสารเว็บเฟรมเวิร์ค ไม่ได้ต้องการสิทธิ์ในการเขียนไฟล์หรือไดเรคทอรี่บน Server สิทธิ์ต่างๆจะไปขึ้นกับความต้องการของแอพพลิเคชั่นที่ออกแบบ แต่ก็มีไดเรคทอรี่บางรายการที่ถูกใช้เป็นค่าปริยายของ คชสารเว็บเฟรมเวิร์ค ได้แก่
  • datas/ เป็นไดเรทอรี่หลักสำหรับเก็บไฟล์ที่อัปโหลดโดยผู้ใช้ ตลอดจน cache และ log ต่างๆ
  • language/ เป็นไดเรคทอรี่หลักสำหรับเก็บไฟล์ภาษา
ทั้งสองไดเรคทอรี่นี้หากมีการใช้งาน จะต้องตั้งค่าสิทธิ์ให้สามารถเขียนได้ด้วย
 
การติดตั้ง และ การอัปเกรด สคริปต์ต่างๆที่สร้างจากคขสาร ที่ผมแจก จะมีตัวติดตั้งให้เรียกใช้งาน สามารถติดตั้งได้ง่ายๆบน Server
ทั้งการติดตั้งและการอัปเกรด มีขั้นตอนแบบเดียวกัน (บางกรณี การอัปเกรดทำเพียงแค่เอาสคริปต์ใหม่ไปแทนที่เฉยๆ ถ้าเลขเวอร์ชั่นไม่เปลี่ยน หรือเป็นการแก้ไขเล็กๆน้อย)

 
ข้อควรระวังในการติดตั้งและอัปเกรด
  • ต้องใช้ไฟล์ล่าสุดจาก github ขึ้นไปบน Server เสมอ
  • ห้ามนำไฟล์จากที่ทดสอบ (localhost) ขึ้นไปบน Server เนื่องจากจะมีไฟล์ที่ตัวติดตั้งสร้าง และ อาจติด premission ได้
  • การติดตั้งครั้งแรกจะต้องเรียกตัวติดตั้งเสมอ โดยระบุ URL เป็น https://domain.tld/install/ โดยเปลี่ยน https://domain.tld/ ให้เป็นโดเมนรวมพาธของท่านที่ติดตั้งไว้
  • การอัปเกรด บางกรณีเท่านั้นที่จะต้องเรียกตัวอัปเกรด (ผมจะระบุไว้ใน readme หรือในบทความ ว่าต้องเรียกหรือไม่) โดยตัวอัปเกรดคือตัวเดียวกันกับตัวติดตั้ง
  • เมื่อติดตั้งเรียบร้อยแล้ว ให้ลบตัวติดตั้งออก เพื่อความปลอดภัย (install/)