Monday, September 26, 2016

OFBIZ Develop Begin

Share it Please
##using OFBiz old version 
http://people.cs.aau.dk/~dolog/courses/erp2007/Installing_OFBiz.pdfวันที่ 3 เริ่มฝึกพัฒนา OFBIZ เริ่มจากดูภาพ Development Flow นี้ก่อน

Screenshot from 2016-01-06 13:06:26
การเริ่มต้นจะเริ่มจากสีแดงก่อนเลย เป็นการ Entity Definition เป็นการสร้างนิยาม Entity ที่จะใช้ใน app ที่เราสร้างก่อน จากนั้น สีเขียว เป็นการสร้าง Service หรือเรียกง่ายเป็นโปรแกรม คำสั่งต่างๆ ที่รอการเรียกใช้หรือเป็น Business Logic จากนั้น สีฟ้า เป็นส่วนติดต่อกับผู้ใช้ UI การพัฒนา OFBIZ จะใช้แบบการพัฒนาแบบ MVC ทำให้การพัฒนาแยกออกเป็นส่วนๆ
จากการติดตั้งจากบทความแรกแล้วเราจะเห็นโฟเดอร์ใน OFBIZ มากมาย แต่ละโฟเดอร์มีหน้าที่ที่แตกต่างกัน ยกตัวอย่างที่ใช้อยู่บ่อยๆ
Screenshot from 2016-01-06 20:41:35
  • applications เป็นที่เก็บ app พื้นฐานของ OFBIZ
  • framework เป็น CORE ของ OFBIZ
  • hot-deploy เป็นที่เก็บ app ที่ผู้พัฒนาอย่างเราๆ สร้างขึ้น
  • specialpurpose เป็นที่เก็บ app ที่ไม่ได้พัฒนาจาก OFBIZ CORE
เอาหละเราจะมาสร้าง app ใน OFBIZ กัน การสร้าง app  จาก  OFBIZ ที่เราสร้างนั้น จะอยู่ในโฟลเดอร์ hot-deploy การสร้างเราจะใช้ คำสั่งมาช่วยในการสร้าง
คำสั่ง ./ant create-component 

จากนั้นโปรแกรมจะให้เรากรอกตามลำดับนี้
  1. ชื่อ Component หรือชื่อ app เรา
  2. ชื่อ Component source การตั้งชื่อจะขึ้นต้นด้วยตัวพิมพ์ใหญ่
  3. ชื่อ Webapp
  4. ชื่อ Permission หรือ สิทธิ์การเข้าถึง จะใช้ตัวพิมพ์ใหญ่
นิยามก่อนนะครับ component = app
ตัวอย่างการตั้งชื่อ
  • component : hello
  • component source : Hello
  • webapp : hellp
  • permission : HELLO
จากนั้น โปรแกรมจะทำการสร้าง app ให้กับเรา
ตัวอย่าง
Screenshot from 2016-01-06 21:08:43
http://people.cs.aau.dk/~dolog/courses/erp2007/Installing_OFBiz.pdf
เราจะได้โฟเดอร์ตามนี้เลยครับ โฟเดอร์ต่างๆ มีหน้าที่ของมันอยู่ตามนี้เลยครับ
  • config เก็บ config ต่างๆ รวมถึง UIlabel ด้วย จะเป็นไฟล์เก็บคำต่างๆ หลายๆ ภาษาทำให้สามารถเปลี่ยนภาษาได้
  • data เก็บไฟล์  Seed DATA  ซึ่งเป็น Object Relational Mapping (ORM) <<link>>
  • entitydef ใช้สร้าง entity หรือตาราง ซึ่งเป็น Object Relational Mapping (ORM) เช่นเดียวกัน <<link>>
  • lib เก็บไลบารีพิเศษที่จำเป็นต้องใช้ใน app นี้
  • scripe เก็บ method ที่สร้างขึ้น จะใช้ภาษา Simple_method (Mini-languages)
  • servicedef เก็บไฟล์ static service
  • sec เก็บ JAVA method
  • webapp ใช้เก็บไฟล์ที่เป็นเว็บเพจ
  • widget เก็บ widget ต่างๆ
เมื่อรู้จักความหมายของโฟลเดอร์ต่างๆ พอสมควรแล้วจากนั้นจะต้องทำการตั้งค่า permission เสียก่อน โดยการนำ path ไฟล์ HelloappSecurityPermissionSeedData.xml ซึ่งจะอยู่ในนี้ url : /home/{user}/ofbiz/hot-deploy/{conponentname}/data/{componensource}SecurityPermissionSeedData.xml เปิดหน้าตาม url นี้มา https://localhost:8443/webtools/control/EntityImportDir จะมีช่องให้กรอกอยู่ ให้นำ path ข้างต้นมาใส่
Screenshot from 2016-01-06 21:54:04แล้ว submit restart OFBIZ จะเห็น ชื่อ conponent หรือ app เราขึ้นมา ตัวอย่างนี้ได้สร้าง app Helloapp
Screenshot from 2016-01-06 21:54:51
เรามาส่งท้ายด้วย HELLO WORLD กันดีกว่า
ให้ไปที่ ->widget->{componentname}Screen.xml ให้เพิ่มคำสั่ง ที่ไฮไลท์ไว้ restart OFBIZScreenshot from 2016-01-06 22:08:43.png
เปิดขึ้นมาให้เลือกที่ app ที่เราสร้าง จะได้ ผลลัพธ์ อย่างนี้
Screenshot from 2016-01-06 22:12:07
บทความนี้ยาวเกินไปแล้วต่ออีกบทความหนึ่งนะครับ

No comments:

Post a Comment

Blogroll

About