Cấu trúc của Portlet

Một phần của tài liệu Tìm hiểu và ứng dụng công nghệ liferay portal để xây dựng môi trường làm việc cộng tác cho các phòng ban, đơn vị (Trang 25)

4. Phương pháp tiếp cận

2.5.2. Cấu trúc của Portlet

Chúng ta có thể ví Cổng thông tin điện tử như một hệ điều hành mà trên nền nó ta xây dựng rất nhiều ứng dụng nhỏ khác nhau bởi portlet. Khi đó các

portlet nằm ở những vùng khác nhau trong một trang Cổng thông tin điện tử.

Hình 2.7 Các portlet nằm bên trong một trang Cổng thông tin điện tử

Một cửa sổ của trình duyệt khi truy cập đến một trang Cổng thông tin điện tử, chúng ta có thể thấy vùng thông tin thời tiết, vùng tin tức kinh doanh, vùng video của youtube, hay vùng tin tức thể thao,… Nếu chỉ một trong chúng được cập nhật thì những cái còn lại cũng được cập nhật theo. Những vùng thông tin đó là một portlet, các portlet có title bar, một vài nút như đóng, phóng to, thu nhỏ, lên xuống,…(Như hình 2.8).

Portlet container là chương trình quản lý các portlet, nó có nhiệm vụ khởi tạo, sử dụng và thực thi portlet..

Portal server có nhiệm vụ điều khiển các trang của Cổng thông tin lên trình duyệt web.

Hình 2.8 Các portlet trên trang iGoogle và các nút điều khiển portlet

Portlet containerportal server đều là các thành phần thiết yếu của một trang Cổng thông tin khi được triển khai trên hệ thống.

Hình 2.9 Cấu trúc của một Cổng thông tin bao gồm cả portal server và portlet container 2.5.3. Cách tạo portlet dùng NetBeans IDE

- Khởi động NetBeans IDE.

- File\New Project...\Java Web\Web Application\Next\Đặt tên project và xác định nơi lưu project đó\Next\Trong pop-up Server ta chọn Liferay Portal Server 5.1.x/5.2.x/6.x\Next\ Trong Framework tích chọn Portlet Support\Tích vào Create portlet\Tiến hành đặt tên portlet, gói đặt portlet\Finish.

- Việc sử dụng NetBeans IDE hỗ trợ người lập trình rất nhiều đối việc xây dựng portlet, nền tảng cơ bản của các trang Cổng thông tin. Tạo điều kiện thuận lợi cho người lập trình quản lý nội dung và có giao diện trực quan để lập trình portlet.

2.6. Liferay portal với môi trường làm việc cộng tácCộng tác là gì? Cộng tác là gì?

Cộng tác (Collaboration) là các cá nhân cùng nhau làm theo một mục tiêu chung và cùng nhau giải quyết vấn đề nhằm nâng cao hiệu quả, lợi ích của công việc đồng thời rút ngắn thời gian thực hiện công việc. Điều này đòi

hỏi phải có sự bằng lòng để làm rõ vấn đề và phải tuân theo các kế hoạch, luật lệ cũng như những đòi hỏi cần thiết.

Liferay portal chứa một bộ các ứng dụng cộng tác mạnh mẽ mà chúng ta có thể sử dụng để xây dựng cộng đồng người dùng cho trang web của mình. Tất cả những ứng dụng này kế thừa và phát triển từ những thế mạnh nền tảng của Liferay. Vì vậy chúng ta có thể sử dụng kết hợp các tính năng quản lý người dùng và quản lý nội dung để xây dựng một trang web đa dạng về nội dung với môi trường làm việc cộng tác.

Trước khi đi sâu vào tìm hiểu Liferay portal với môi trường làm việc cộng tác thì đầu tiên chúng ta sẽ tìm hiểu qua tổng quan cấu trúc tổ chức của một trang Cổng thông tin điện tử.

- Trang Cổng thông tin được truy cập bởi các User.

- Mỗi User có thể được tập hợp bên trong User Group (Nhóm người dùng). - Mỗi User có thể thuộc một Organization (Tổ chức).

- Các Organization có thể được nhóm trong một phả hệ nào đó. VD: Học viện ANND ← Khoa Toán-Tin ← Lớp B1TinD39.

- User, User Group, Organization có thể thuộc về một Community (Cộng đồng).

- Và một User bên trong Organization hoặc Community có thể lại thuộc về một Team (Đội), những người này được nhóm lại dựa vào một chức năng cụ thể ở trong Organization hoặc Community.

Có thể thấy, đối tượng đơn giản nhất khi chỉ là User và phức tạp hơn nhiều khi những User được nhóm lại với nhau. Việc nhóm này có thể do Administrator của trang Cổng thông tin, cũng có thể do chính User tạo ra, thậm chí thông qua vai trò là Administrator của một Organization hay Community,… mà một User nào đó có quyền làm được việc này.

Do cấu trúc tổ chức của trang Cổng thông tin điện tử khá phức tạp, các đối tượng có liên quan, tác động chồng chéo lên nhau nên chúng ta có thể mô

tả như hình 2.10. Thông qua hình vẽ sẽ giúp chúng ta dễ dàng hơn trong việc tiếp cận và nắm bắt mối liên hệ giữa các đối tượng.

Hình 2.10 Cấu trúc tổ chức của một trang Cổng thông tin điện tử

Trong hình 2.10, mỗi mũi tên được đọc là “có thể là thành viên của”. Điều này có nghĩa rằng, Organization có thể là thành viên của Community, Comunity có thể là thành viên của User Role, User có thể là thành viên của tất cả các thành phần trên.

Team được tạo trong Organization và Community, nó chỉ có tác dụng khi được tạo trong Organization và Community. User Role mà được tạo trong Organization và Community thì cũng chỉ có tác dụng trong phạm vi Organization và Community đó mà thôi.

Sau khi đã tìm hiểu qua cấu trúc tổ chức của một trang Cổng thông tin điện tử, thì ngay sau đây chúng ta sẽ đi sâu vào tìm hiểu các đối tượng đã nêu ở bên trên và những đối tượng khác có liên quan đến bộ cộng tác của Liferay cung cấp.

2.6.1. User (Người dùng)

User được hiểu là con người tự nhiên mà tài khoản của họ được dùng để đăng nhập vào hệ thống của trang Cổng thông tin. Mặc định, họ có một không gian cho riêng mình với những trang cá nhân (private pages) và công khai

(public pages), những trang này đều do chính user quản lý. Điều này rất quan trọng giúp cho user viết blog, chia sẻ lịch biểu, lưu trữ tài liệu, chia sẻ tài liệu, … Tuy nhiên user có thể bị administrator khóa hay mở tài khoản.

User được chọn lọc theo nhiều cách khác nhau, họ có thể là thành viên của Organization, Group, hay Community. User cũng được cấp các vai trò để xác định quyền (permission) của mình trong phạm vi trên cả trang Cổng thông tin, Organization, hay Community.

2.6.2. User Role (Vai trò của người dùng)

User Role được đại diện bởi phạm vi (scope) làm việc của người dùng, User Role được sử dụng để định nghĩa quyền của người dùng thông qua phạm vi làm việc của họ. Phạm vi làm việc của người dùng bao gồm: được phép làm việc đối với cả trang Cổng thông tin hay chỉ là trong Organization hoặc Community.

Có 3 loại User Role, gồm:

- Portal Role (Vai trò đối với cả trang Cổng thông tin). - Organization Role (Vai trò chỉ có phạm vi trong tổ chức). - Community Role (Vai trò chỉ có phạm vi trong cộng đồng).

Bởi vì User Role có luật áp dụng rất nghiêm ngặt nhằm đảm bảo yêu cầu bảo mật của trang Cổng thông tin nên User Role không có các trang public và private giống như Organization và Community.

User, User Group, Community hay Organization đều có thể là thành viên của User Role.

Trong Liferay portal administrator có quyền định nghĩa các User Role mới thuộc một trong ba kiểu nêu trên giúp cho việc quản lý và phân quyền User đạt hiệu quả cũng như bảo mật tốt hơn trong trang Cổng thông tin.

User Role là một đối tượng đóng vai trò vô cùng quan trọng cả về mặt quản lý nội dung lẫn quản trị người dùng trong trang Cổng thông tin. Đặc

biệt, User Role được coi như chìa khóa chính tạo nên sự thành công trong môi trường làm việc cộng tác của Liferay portal.

2.6.3. User Group (Nhóm người dùng)

User Group đơn giản chỉ là một tập hợp những người dùng tùy ý được tạo ra bởi administrator. Những người dùng này có thể là thành viên của một Community hay User Role nào đó. Việc cấp quyền không được dùng đối với User Group, tuy nhiên User Goup lại có thể được thêm User Role. Chính vì vậy mà User Group cũng không được cung cấp các trang public và private giống như Organization hay Community.

User Group rất hữu dụng khi cần giải quyết một bài toán có yêu cầu bảo mật phức tạp và các trang web tạm, thông qua trang web tạm này mà administrator có thể cấu hình cho một nhóm người dùng có những quyền giống nhau nào đó.

2.6.4. Organization (Tổ chức)

Organization là một tập hợp có hệ thống các User. Đây là một trong hai kiểu tài nguyên của Liferay portal cung cấp các trang public và private. Trong Organization có một tính năng đặc biệt tên là Location dùng để xác định chính xác cụ thể vị trí của User.

Organization rất hữu ích trong việc xác định xem đâu là nơi mà User là thành viên trong một hệ thống người dùng liên quan tới User đó. Organization có thể là thành viên của Community.

Organization trong Liferay được hiểu như một mô hình tổ chức của cuộc sống thực. Organization sử dụng đại diện cho một công ty, một tổ chức phi lợi nhuận, một trường học, một câu lạc bộ,… Một trang Cổng thông tin có thể có một hay nhiều Organization điều này phụ thuộc vào kiểu trang Cổng thông tin được xây dựng. Organization có liên quan chặt chẽ tới User Role.

2.6.5. Community (Cộng đồng)

Community là một nơi mà ở đó tập trung một số người có cùng quan điểm về một vấn đề. Ví dụ như Community Liferay là cộng đồng những người yêu thích tìm hiểu về Liferay portal, qua đó mọi người có thể trao đổi kiến thức, cùng nhau giải quyết một vấn đề khúc mắc.

Mặc định, Liferay portal gán cho mỗi User vào một Community của riêng mình có các trang public và private để họ tự mình quản lý.

Có 3 kiểu Community:

- Open (Mở) : Một Open Community cho phép User của trang Cổng thông tin tham gia hoặc rời bỏ Community bất cứ khi nào mà họ muốn thông qua thanh điều khiển (Control panel) hay portlet Community gắn vào trang Cổng thông tin mà họ đang truy cập đến.

- Restricted (Bị giới hạn) : Một Restricted Community yêu cầu User truy cập phải là thành viên của Community đó do chính administrator cho phép. User sử dụng Control panel hay portlet Community để gửi yêu cầu được làm thành viên của Community tới administrator quản trị.

- Hidden (Ẩn tính năng) : Hidden Community là Restricted Community nhưng có một số tính năng trên Control panel hay portlet Community không được hiển thị hết lên, việc ẩn những tính năng nào là do administrator của Community đó thực hiện.

Như đã nêu ở trên, Community cùng với Organization là hai kiểu tài nguyên của Liferay portal cung cấp các trang public và private.

2.6.6. Shared Calendar (Chia sẻ lịch biểu)

Portlet Calendar của Liferay là một giải pháp hoàn chỉnh đối với những công việc liên quan tới lịch công tác. Với Calendar người dùng có thể liệt kê danh sách các sự kiện, hoạt động khác nhau diễn ra trong ngày, tuần, tháng và thậm chí là cả năm. Người dùng nhận được thông báo về các sự kiện, hoạt

động thông qua email hay qua tin nhắn (message) trước khoảng một thời gian nhất định theo ý muốn và có thể cài đặt để việc thông báo lặp lại nhiều lần. Calendar cũng cung cấp tính năng import (nhập) và export (xuất) dưới dạng icalendar (.ics) khá phổ biến hiện nay.

Hình 2.11 Giao diện portlet Calendar trên trang Cổng thông tin. 2.6.7. Document Management (Quản lý tài liệu)

Document Management là một trong những nội dung quan trọng trong CMS (Hệ quản trị nội dung) mà Liferay cung cấp. Đây là trung tâm điều khiển và quản lý tài liệu của từng Organization và Community.

Thông qua portlet Document Library (Hình 2.12) và Document Library

Display (Hình 2.13), Liferay cung cấp cho nhà quản trị cũng như người dùng

Cổng thông tin một cách dễ dàng, nhanh chóng và hiệu quả nhất.

Hình 2.12 Giao diện Document Library.

Hình 2.13 Giao diện Document Library Display.

Sau khi người dùng đã đăng nhập vào trang Cổng thông tin điện tử, với mỗi tài liệu được đăng tải lên người dùng dễ dàng chỉnh sửa, cập nhật thông

tin về lịch sử các phiên bản của tài liệu này, thêm những nhận xét, đánh giá, góp ý về tài liệu (Hình 2.14).

Hình 2.14 Lịch sử các phiên bản, nhận xét, đánh giá về tài liệu.

Sự khác nhau cơ bản giữa hai portlet Document Library và Document Library Display đó là Document Library có chứa tiện ích Action giúp cho người dùng thao tác trực tiếp với tài liệu hoặc thư mục có chứa tài liệu được đăng tải lên. Ngược lại, Document Library Display thì không chứa tiện ích Action mà nhiệm vụ chính của portlet này chỉ là hiển thị chi tiết các thư mục chứa trong Document Library.

2.6.8. Workflow (Luồng công việc)

Một luồng công việc có thể được định nghĩa như một tiến trình xử lý các công việc cần phải làm mà thông tin được gửi đi thông qua các hoạt động của người tham gia tiến trình đó theo một tập hợp các quy tắc, thủ tục. Luồng công việc bao gồm một tập các bước (step) và mỗi bước lại chứa các nhiệm

vụ mà ở đó người tham gia tiến trình có thể được phân công thực hiện các công việc khác nhau như: xem lại (review), phê duyệt (approve), từ chối (reject), hay cập nhật (update).

Luồng công việc tự động là một yếu tố rất quan trọng bên trong một tổ chức bởi lẽ nó đảm bảo thông lượng và độ chính xác rất cao khi phân phối công việc hoặc nhiệm vụ. Nó hoàn thiện hơn quá trình điểu khiển tiến trình công việc với sự can thiệp tới mức thấp nhất những công việc thủ công, hạn chế lỗi trong công việc, giảm thiểu thời gian chậm trễ, và đảm bảo các nhiệm vụ được thực hiện theo đúng các chính sách và thủ tục mà tổ chức của bạn đã đặt ra. Luồng công việc tự động phân luồng và nhiệm vụ và hoạt động của nhân viên, giảm bớt thời gian hoàn thành công việc cũng như các khả năng sinh lỗi do tác động của con người tới mức ngắn nhất có thể.

Liferay Portal mặc định có tích hợp sẵn một luồng công việc được gọi là Kaleo. Luồng công việc Kaleo cho phép định nghĩa một số lượng từ đơn giản đến phức tạp các tiến trình/ luồng công việc cần phải làm, triển khai và quản lý thông qua một giao diện Cổng thông tin điện tử bằng cách định nghĩa tất cả mọi thứ bên trong một file XML duy nhất. Từ phiên bản Liferay 6.0 trở đi cũng cung cấp cơ chế tích hợp với công nghệ luồng công việc JBPM. Luồng công việc được ứng dụng trong gói Liferay Tomcat này bao gồm các thực thể Liferay sau (Hình 2.15):

- Wiki Page. - Web Content.

- Document Library Document. - Blogs Entry

- Comments.

Hình 2.15 Các thực thể Liferay trong cấu hình luồng công việc.

Có 4 portlet liên quan tới luồng công việc cho phép người dùng quản lý hệ thống luồng công việc Liferay, gồm (Hình 2.16):

- My Submissions (Sự đưa ra xem xét để quyết định). - My workflow tasks (Các nhiệm vụ luồng công việc). - Workflow Configuration (Cấu hình luồng công việc). - Workflow (Luồng công việc).

Luồng công việc mặc định trong máy được đóng gói với plug-in kaleo- web là Single Approver Workflow. Luồng công việc này yêu cầu có một sự đồng ý đối với các tin tức (asset) trước khi nó được xây dựng (published). Một trong những thuận lợi khi sử dụng công nghệ luồng công việc của Liferay là một vài vai trò được định nghĩa cụ thể trong luồng công việc sẽ được tự động sinh ra khi luồng công việc đó được triển khai. Single Approver Workflow chứa 3 vai trò (Role) với những cấp độ chịu tác động khác nhau bao gồm Community Content Reviewer, Organization Content Reviewer, và Portal Content Reviewer.

Hình 2.16 Các portlet liên quan đến luồng công việc

Như đã trình bày bên trên, mỗi luồng công việc được định nghĩa trong một file XML. Trong file XML đó, luồng công việc lại được chia thành 4 phần khóa (key part), đó là: asset, states, transitions, và tasks.

- Asset là tất cả các nội dung nhỏ đang được phê duyệt và được đồng ý trong luồng công việc đó.

- States là các giai đoạn của luồng công việc. VD: Created (Tạo), Rejected (Từ chối) hay Approved (Đồng ý).

- Transitions xảy ra giữa các state và nó cũng ngầm định những gì xảy ra đối với state sau đó.

- Tasks là các bước trong luồng công việc mà yều cầu các hoạt động của người dùng.

Thông thường thì một state thường chứa một task và dữ liệu đầu vào của người dùng từ task đó sẽ quyết định transition nào sẽ được xảy ra. Transition sẽ chuyển luồng công việc cho task tiếp theo. Vòng lặp này tiếp diễn cho đến khi state “approved” đạt được.

2.6.9. Poll (Thăm dò ý kiến)

Poll là một ứng dụng rất hữu ích khi sử dụng để thăm dò ý kiến của người dùng. Poll cho phép người dùng hay administrator tạo câu hỏi, các câu

trả lời để chọn và hiển thị tỉ lệ lựa chọn câu trả lời lên cùng trang Cổng thông

Một phần của tài liệu Tìm hiểu và ứng dụng công nghệ liferay portal để xây dựng môi trường làm việc cộng tác cho các phòng ban, đơn vị (Trang 25)

Tải bản đầy đủ (DOC)

(64 trang)
w