สำหรับท่านที่ยังไม่เคยเล่น Alfresco อย่างละเอียด คงต้องขออธิบายเพิ่มเติมเล็กน้อยก่อนนะครับ การใช้งาน Alfresco ผ่านทาง Web UI นั้นจะมีการเข้าถึง และใช้งานอยู่ 2 ส่วนหลักๆ คือ Alfresco Explorer กับ Alfresco Share โดยหน้า Explorer นั้นเอาไว้สำหรับการใช้งาน Alfresco ในรูปแบบของระบบจัดการเอกสารบน Alfresco ทั่วๆ ไป ส่วน Share นั้นจะเป็นหน้าที่ไว้สำหรับการทำงานแบบ Collaborate โดยผู้ใช้สามารถสร้าง (ก่อนหน้านี้ส่วนของ Alfresco Share จะถูกเรียกว่า Alfresco Site)

และ Alfresco ได้แยก UI ของทั้ง 2 ส่วนนี้ออกจากกัน โดยถ้าหากเรา log in เข้าใช้งาน Alfresco ผ่านทาง Alfresco Explorer ในหน้า log in จะมี drop down ให้เราเลือกภาษาสำหรับการเข้าใช้งาน Alfresco


Continue reading

โดยทั่วไปหลังจากติดตั้ง Alfresco เสร็จเรียบร้อยแล้ว เมื่อเราเข้าไปดูที่ Repository บน Alfresco จะพบว่าพื้นที่ หรือ path ที่เราเข้าไปนั้น จะถูกกำหนดตามค่า default ของ Alfresco (root path) แต่หากเราต้องการที่จะเปลี่ยนตำแหน่งของ root path บน Alfresco เพื่อให้เวลาคลิกเลือก Repository แล้ว ไปเริ่มต้นที่ path ที่เราต้องการนั้นก็สามารถทำได้ โดยจากตัวอย่างที่ตั้งขึ้นมานี้ ต้องการจะกำหนดให้โฟลเดอร์ AlfrescoThailand ให้เป็น default path สำหรับการเข้าไปใช้ Repository บน Alfresco

เริ่มต้นโดยการสร้างโฟลเดอร์ชื่อว่า AlfrescoThailand ไว้ที่ root path

ลองดูที่โฟลเดอร์ AlfrescoThailand นะครับ โดยให้คลิกที่ View Details

Continue reading

InfluxDB นั้นสามารถทำ Cluster หลายๆ Node เพื่อช่วยกันทำงานได้ แต่ยังอยู่ในช่วยพัฒนาซึ่งจะ stable มากขึ้นใน major version 0.9 หรือ 0.10 การทำงานของ Cluster ใน InfluxDB นั้นจะมี Shards หรือจะเรียกว่าตัวแจกจ่ายข้อมูลไปแต่ล่ะ Node ถ้าต้องการให้ข้อมูลแจกจ่ายไปแต่ล่ะ node นั้นต้องแยก Shards space ให้มากกว่า 1 โดยขั้นตอนการตั้งค่า cluster ในแต่ล่ะ node มีดังนี้ ในตัวอย่างจะใช้ 2 host คือ influx1 เป็น host master ip 192.168.56.118 และ influx2 เป็น host node ที่จะไป Join กับ host master

ที่เครื่อง host influx1 เปิดไฟล์

sudo vim /opt/influxdb/shared/config.toml

แก้ไขดังนี้


Continue reading

Hugo เป็น CMS ขนาดเล็กพัฒนาจากภาษา Go ไม่มีการเชื่อมต่อฐานข้อมูลใช้ไฟล์ TOML และ Markdown เป็นหลัก การเพิ่มหน้าเว็บหรือเนื้อหาในรูปแบบ post ต้องใช้ไฟล์ทั้งหมด และทุกครั้งที่มีการเปลี่ยนแปลง content ของเว็บไซต์ Hugo จะสร้างหน้าเว็บในรูปแบบ html ออกมาให้ ทำให้การแสดงผลเว็บไซต์ทำงานได้อย่างรวดเร็ว การติดตั้ง Hugo ต้องใช้ Go และไฟล์เนื้อหาของเว็บที่คุณต้องการ

เราสามารถลดความยุ่งยากในการติดตั้ง Go และ Hugo ได้ โดยใช้ Docker Image ชื่อ redlinemobi/docker-hugo วิธีการใช้งานก็สั่ง run ก็ง่ายๆ แบบนี้

docker run -d -P --name hugoblog redlinemobi/docker-hugo


Continue reading

ครั้งที่แล้วได้ทดลองใช้งาน Docker Swarm ไปบ้างแล้ว ครั้งนี้มาลองดูวิธีการใช้แบบอื่นๆ บ้าง หากคุณยังไม่ได้ติดตั้ง Swarm และผูก Docker Cluster ไว้ให้ตามอ่านเนื้อหาในครั้งก่อน เมื่อผูก cluster เรียบร้อยแล้ว มีทางเลือกในการใช้งานกับ cluster 2 แบบ คือ

  • ใช้งานผ่าน swarm โดยใช้ docker แบบปกติ
  • ใช้งานผ่าน swarm โดยใช้ docker-compose

การใช้งาน 2 วิธีนี้สามารถใช้งานร่วมกันได้ หากคุณใช้ docker แบบปกติสั่ง run container คุณสามารถกำหนด constraint หรือ affinity ร่วมด้วยได้ เช่น ต้องการใช้ compose ช่วยในการ deploy web หรือ scale web ก็สามารถทำได้


Continue reading

Do Install Button เป็นบริการ deploy application บน DigitalOcean แบบง่ายๆ โดยเอา code จาก GitHub ไป deploy การใช้งานก็ง่ายมาก เพียงแค่สร้างไฟล์ config ที่ระบุขนาดของ Virtual Machine ระบบปฏิบัติการที่ต้องใช้ และ build step ในการ deploy ลองดูตัวอย่าง Node.js App ง่ายๆ กัน


Continue reading

ช่องทางในการนำเข้าเอกสารไปยัง Alfresco ทำได้หลายวิธี อย่างเช่น นำเข้าผ่านทางหน้า Alfresco Explorer หรือการนำเข้าทาง Alfresco Share แต่อีกวิธีหนึ่งที่จะมาแนะนำกันวันนี้ คือการนำเข้าผ่านทาง Mail Client การนำเข้าข้อมูลผ่านทาง Mail Client ไปยัง Alfresco เราสามารถเลือกใช้ Mail Client ได้ทั้ง Mozilla Thunderbird หรือจะเป็น MS Outlook ก็สามารถทำได้ โดยทั่วไปแล้วผู้ใช้จะมีความเชี่ยวชาญในการใช้งานระบบ Mail Client เป็นอย่างดี ดังนั้นการ Integrate ระบบ Alfresco เข้ากับ Mail Client จะทำให้สะดวกสำหรับการใช้งานของผู้ใช้ โดยเราสามารถทำในส่วนนี้ได้ผ่านทาง protocol ที่ชื่อว่า IMAP

การใช้งาน Mail Client ร่วมกับ Alfresco ต้องมีการ Set up 3 ส่วน ด้วยกันคือ

  • การ configuration ที่ Alfresco Server
  • การ configuration ที่ Alfresco Share
  • การ configuration ที่ Mail Client


Continue reading

ครั้งที่แล้วได้แนะนำการใช้งาน Docker Machine ไปหลายครั้งบน Public Cloud หลายค่าย เช่น Azure, Rackspace, DigitalOcean เป็นต้น แนะนำการผูก Docker Cluster โดนใช้ Docker Swarm และใช้งาน Service Orchestration โดยใช้ Docker Composer กันไปแล้ว ครั้งนี้จะมาแนะนำการใช้งานร่วมกันทั้ง 3 Service

เริ่มจากสร้าง Cluster และ Swarm Master บน DigitalOcean

docker run swarm create


Continue reading

เอกสารที่เราเก็บไว้บน Alfresco นั้น อาจจะมีความเกี่ยวข้องกันในแต่ละเอกสาร เช่น ใบเสร็จรับเงิน ก็มีความสัมพันธ์กับใบแจ้งหนี้ หรือเอกสารสัญญา ก็อาจจะมีความสัมพันธ์กับเอกสารนำเสนอโครงการ โดยหากเราต้องการกำหนดว่าเอกสารที่เรากำลังใช้งานอยู่นี้ มีความสัมพันธ์กับเอกสารฉบับอื่นๆ เพื่อง่ายต่อการค้นหาในภายหลัง โดยตัวอย่างที่ผมจะแนะนำนี้ จะเป็นการเพิ่มในส่วนของ Document Information เพื่อกำหนดรายละเอียดในส่วนนี้ ซึ่งรูปตัวอย่างด้านล่าง จะแสดงให้เห็นว่าหลังจากทำตามตัวอย่างในบทความนี้เสร็จเรียบร้อย จะสามารถเข้าไปดูในส่วนของ Document Information ได้ว่ามีเอกสารใดที่เกี่ยวข้องบ้าง


Continue reading

CouchDB คือ document-oriented database ที่สามารถ queried และ indexed โดยการทำ MapReduce ผ่าน JavaScript โดย CouchDB จะใช้งานผ่าน RESTful JSON API ซึ่งจะทำให้เราสามารถเรียกจากที่ไหนก็ได้โดยผ่าน HTTP protocal ที่สำคัญไม่ต้องมี Driver ให้วุ่นวายปวดหัว ความสามารถของ CouchDB มีดังนี้

  • เป็นฐานข้อมูลเชิงเอกสารที่มีการเรียกใช้ผ่าน JSON API RESTful
  • การจำลองการตรวจสอบความขัดแย้งสองทิศทางและความละเอียด
  • สามารถ Query และ Index ได้โดยการใช้ Javascript
  • สามารถทำ replication โดยใช้วิธี bi-direction
  • สามารถจัดการปัญหาเรื่องการ conflict ของ data
  • เพิ่มเติมแก้ไข field ได้ทันที
  • เหมาะสำหรับการใช้งานเว็บที่มีโครงสร้างหลวม

ในบทความนี้เราจะมาเรียนรู้เกี่ยวกับวิธีการดูแลรักษา (Miantenance) ด้านประสิทธิภาพสำหรับ CouchDBกัน


Continue reading