วันจันทร์ที่ 23 สิงหาคม พ.ศ. 2553

Blog : Install Apache Roller on Glassfish using MySql on Windows

Pre-install task
1) Java Runtime Environment
2) MySql install
3) Glassfish install

ขั้นตอนการติดตั้ง

เตรียมข้อมูล
1) Download Apache Roller
2) แตกไฟล์ตัวติดตั้ง Apache Roller ข้อแรกไปวางไว้ใน c:\ ที่สร้างไว้ จะได้ตามนี้ C:\apache-roller-4.0.1

สร้างฐานข้อมูล
3)ให้เปิด MySql Console เพื่อไปสร้างฐานข้อมูล โดยใช้ Sql Scripts ที่ชื่อว่า createdb.sql จากที่ C:\apache-roller-4.0.1\webapp\roller\WEB-INF\classes\dbscripts\mysql
4)หลังจากที่สร้างฐานข้อมูลแล้วจะได้ ฐานข้อมูลที่ขื่อว่า rollerdb
5)ให้เปิด MySql Console เพื่อสร้างผู้ใช้งานที่ไม่ใช่ root โดยใช้ Sql Scripts ตามนี้
grant all on rollerdb.* to scott@'%' identified by 'tiger';
grant all on rollerdb.* to scott@localhost identified by 'tiger';


สร้าง JDBC Resources
5) Start Glassfish
6) ไปที่ Browser พิมพ์ http://localhost:4848 (Default >> Username : admin , Password : adminadmin )
7) ไปที่ Resources -> JDBC -> Connection Pools กด New ใส่ค่าตามนี้
Name : RollerPool
Resource Type : javax.sql.DataSource
Data Vendor : MySql
8) กด Next ใส่ค่าในส่วนของ Addtional Properties ตามนี้
Database : rollerdb
Server : localhost
User : scott
Password : tiger
9) กด Finish (ให้แน่ใจ กด Ping เพื่อทดสอบ Connection)
10) หลังจากนี้ให้สร้าง JDBC Resources จาก Connection Pools ที่ได้สร้างไว้่ โดยไปที่ Resources -> JDBC -> JDBC Resources กด New ใส่ค่าตามนี้
JNDI Name: jdbc/rollerdb
Pool Name: RollerPool (ที่สร้างไว้ก่อนหน้า)
11) กด OK

สร้างไฟล์ roller-custom.properties
12) สร้างไฟล์ roller-custom.properties บันทึกไว้ที่ C:\apache-roller-4.0.1\webapp\roller\WEB-INF\classes โดยใส่ข้อมูลตามนี้
openjpa.QueryCompilationCache=false
installation.type=manual
database.configurationType=jdbc
database.jdbc.driverClass=com.mysql.jdbc.Driver
database.jdbc.connectionURL=jdbc:mysql://localhost:3306/rollerdb
database.jdbc.username=scott
database.jdbc.password=tiger
mail.configurationType=jndi
mail.jndi.name=mail/Session

สร้าง roller.war
13) สร้าง war ไฟล์ โดยไปที่ Start -> Run -> cmd.exe หลังจากนั้น พิมพ์ cd C:\apache-roller-4.0.1\webapp\roller กด Enter
14) พิมพ์ jar cf ../roller.war * กด Enter
15) ก็จะได้ roller.war อยู่ที่ C:\apache-roller-4.0.1\webapp

เอาขึ้น Glassfish
16) เข้า Admin Console ไปที่ Browser พิมพ์ http://localhost:4848 (Default >> Username : admin , Password : adminadmin )
17) ไปที่เมนู Application กด Deploy เลือก roller.war อยู่ที่ C:\apache-roller-4.0.1\webapp
18) กด OK

ทดสอบ
20) เปิด Browser พิมพ์ http://localhost:8080/roller จะได้ตามภาพข้างล่างนี้


21) กด New New User Registration Page
22) สร้าง New User โดยกรอกรายละเอียดตามช่องต่างๆ
23) หลังจากสร้างแล้วให้ login เข้า user ที่สร้างไว้ หลังจาก login แล้วก็จะเห็นเมนู Actions ตามนี้

24) ให้กด Create new weblog
25) สร้าง New Weblog โดยกรอกรายละเอียดตามช่องต่างๆ พร้อมเลือก theme กด Create Weblog จะเห็นเมนูตามนี้

26) กด New Entry เพื่อสร้างบทความแรกกันเลย
27) ใส่ Title พร้อม Content กด Post to Weblog
28) เรียบร้อยแล้วครับ



ศีกษาเพิ่มเติม :

วันพุธที่ 18 สิงหาคม พ.ศ. 2553

Portal : Install Liferay CE bundle with Glassfish using MySql on Windows

Pre-install task
1) Java Runtime Environment
2) MySql install

ขั้นตอนการติดตั้ง

เตรียมข้อมูล
1) Download Liferay bundle with Glassfish*
2) Download Sql Script โดยเข้าไปที่ Additional files with Database Script เพื่อที่จะโหลด Liferay Portal CE GA3 SQL Scripts **
3) สร้าง Folder ชื่อ liferay ที่ C:\
4) แตกไฟล์ตัวติดตั้ง Liferay ข้อแรกไปวางไว้ใน Folder ที่สร้างไว้ จะได้ตามนี้ C:\liferay\liferay-portal-6.0.2
5) แตกไฟล์ Sql Scripts จากข้อสองไปวางไว้ใน Folder ที่สร้างไว้ จะได้ตามนี้ C:\liferay\liferay-portal-sql-6.0.5

สร้างฐานข้อมูล
6) ให้เปิด MySql Console เพื่อไปสร้างฐานข้อมูล โดยใช้ Sql Scripts ที่ชื่อว่า create-mysql.sql จากที่ C:\liferay\liferay-portal-sql-6.0.5\create
7) หลังจากที่สร้างฐานข้อมูลแล้วจะได้ ฐานข้อมูลที่ขื่อว่า lportal

สร้าง JDBC Resources
8) Start Glassfish โดยไปที่ Start -> Run -> cmd.exe หลังจากนั้น พิมพ์ cd C:\liferay\liferay-portal-6.0.2\glassfish-3.0.0\bin ต่อมาพิมพ์คำสั่ง asadmin start-domain รอจน Command start-domain executed successfully.
9) ไปที่ Browser พิมพ์ http://localhost:4848 (Default >> Username : admin , Password : adminadmin )
10) ไปที่ Resources -> JDBC -> Connection Pools กด New ใส่ค่าตามนี้
Name : LiferayPool
Resource Type : javax.sql.DataSource
Data Vendor : MySql
11) กด Next ใส่ค่าในส่วนของ Addtional Properties ตามนี้
Database : lportal
Server : localhost
User : root
Password : *****
12) กด Finish (ให้แน่ใจ กด Ping เพื่อทดสอบ Connection)
13) หลังจากนี้ให้สร้าง JDBC Resources จาก Connection Pools ที่ได้สร้างไว้่ โดยไปที่ Resources -> JDBC -> JDBC Resources กด New ใส่ค่าตามนี้
JNDI Name: jdbc/LiferayPool
Pool Name: LiferayPool (ที่สร้างไว้ก่อนหน้า)
14) กด OK

ทดสอบ
16) เปิด Browser พิมพ์ http://localhost:8080/c จะได้ตามภาพข้างล่างนี้
11) Login ด้วยค่าตามนี้
Email Address : bruno@7cogs.com
Password : bruno
12) เสร็จสมบูรณ์

เพิ่มเติม ลบ Sample Data ออก
หล้งจากเสร็จสิ้นการติดตั้งแล้ว จะสังเกตุเห็นว่ามี Sample Data ของ 7cogs มาให้ด้วย ถ้าเราอยากจะถอนออก ทำตามนี้
1) Stop Glassfish โดยไปที่ Start -> Run -> cmd.exe หลังจากนั้น พิมพ์ cd C:\liferay\liferay-portal-6.0.2\glassfish-3.0.0\bin ต่อมาพิมพ์คำสั่ง asadmin stop-domain รอจน Command stop-domain executed successfully
2) สร้าง Folder ชื่อ lportal ที่ C:\liferay
3) เข้าไปที่ C:\liferay\liferay-portal-6.0.2\glassfish-3.0.0\domains\domain1\applications ย้าย
Folder sevencogs-hook, sevencogs-mobile-theme และ sevencogs-theme ไปไว้ที่ C:\liferay\lportal
4) เข้าไปที่ C:\liferay\liferay-portal-6.0.2\data\hsql ย้ายไฟล์ lportal.properties และ lportal.script ไปวางไว้ที่เดียวกัน C:\liferay\lportal
5) หลังจากนั้น Start Glassfish ใหม่อีกครั้ง
6) เปิด Browser พิมพ์ http://localhost:8080/c จะได้ Liferay แบบไม่มี Sample Data ตามภาพข้างล่างนี้
7) หลังจากลบ sample data แล้วต้อง Login ด้วยค่าตามนี้
Email Address : test@liferay.com
Password : test

* Liferay : Liferay vesion 6.0.2 with Glassfish 3.0.0
** Liferay Sql Scripts : Liferay-portal-sql-6.0.5

วันจันทร์ที่ 26 เมษายน พ.ศ. 2553

SAP : Add your own button on alv toolbar

Question:

อยากจะเพิ่มปุ่มของเราเอง เข้าไปเพิ่มใน Toolbar ที่เป็นของ ALV ในโปรแกรมที่เราเขียน

Solution:

  1. เข้า TCode SE80 เปิด function group SAPLKKBL ไปที่ GUI Status แตกรายการ เลือกที่ STANDARD_FULLSCREEN คลิกขวาเลือก copy ตามภาพข้างล่าง


  2. หลังจากกดเลือก copy แล้วจะมี dialog windows ขึ้นมาถามว่าจะให้ copy ไปที่ program ไหนชื่อ status ว่าอะไร ซึ่งเราควรสร้าง program ไว้ก่อนแล้ว หลังจากใส่ข้อมูลก็กด copy


  3. หลังจากนั้นก็ใส่ข้อมูลเกี่ยวกับ ชื่อ status, menu bar และ menu ปล่อยไว้ตามนั้น กด copy ต่อไปได้เลย


  4. เป็นอันว่า copy เสร็จเรียบร้อย มี message แจ้งตามภาพ


  5. หลังจากนั้น ไปที่ program ของเรา เพื่อลงทะเบียนใช้ GUI Interface ที่ได้ copy ไว้ โดยไปที่ Editor เขียนคำสั่ง SET PF-STATUS 'ZTESTALVTB_STANDARD' ('ZTESTALVTB_STANDARD' เป็นชื่อที่ตั้งไว้ตอน copy) จากนั้นให้ดับเบิ้ลคลิกที่คำว่า 'ZTESTALVTB_STANDARD' ถ้ามี dialog windows ขึ้นมาให้ถาม save program ก็กด save หลังจากนั้นก็จะเข้าสู่หน้าจอในการปรับเปลี่ยน GUI Interface ดังรูป

  6. จากนั้นก็เพิ่ม ส่วนที่เป็นของเราเพิ่มเข้าไป กด Save พร้อม Active แล้วลอง Run รายงาน ก็จะได้ GUI Interface ที่เป็นของเดิมของ alv กับส่วนที่เราเพิ่มเข้าไป ดังรูป





สามารถดูตัวอย่างเำพิ่มเติมได้ตามรายชื่อ program ต่อไปนี้



ค่าที่เราสร้างขึ้นใน GUI Interface ต้องมีการดักจับ Event ซึ่งถ้าเราเรียก function เพื่อใช้ ALV เราก็ต้องเพิ่ม


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = xxxx
IT_FIELDCAT = xxxx
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_SAVE = xxx
TABLES
T_OUTTAB = ITAB_ALV
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.



*&------------------------------------*
*& Form USER_COMMAND
*&------------------------------------*
FORM USER_COMMAND USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN 'xxxx'.

ENDCASE.
ENDFORM.

*&------------------------------------*
*& Form SET_PF_STATUS
*&------------------------------------*
FORM SET_PF_STATUSs USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZTESTALVTB_STANDARD'.
ENDFORM.