Menu

Hiển thị các bài đăng có nhãn liferay. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn liferay. Hiển thị tất cả bài đăng

Liferay 7: Sử dụng Item Selector

Trong phiên bản 7, Liferay đã giới thiệu rất nhiều tính năng mới thú vụ. Một trong số chúng là Item Selector. Nói một cách đơn giản, nó là một thành phần (component) cho phép người dùng chọn nhiều loại tài nguyên khác nhau (ảnh, video, bài viết,...).

Nếu ứng dụng (portlet) của bạn cần phải chọn ảnh/video/bài viết,... từ hệ thống thì Item Selector chính một lựa chọn hợp lý. Item Selector sẽ mở ra một cửa sổ (dialog) lựa chọn cho phép bạn có thể chọn nhiều loại tài nguyên khác nhau như ảnh, video, hoặc bất kỳ dữ liệu nào.

item selector

Liferay 7: Thay đổi giao diện trang quản trị

Trong thực tế, chúng ta thường quan tâm đến giao diện của người dùng cuối (end-user) nhiều hơn so với giao diện quản trị. Chính vì vậy, giao diện quản trị thường không được đầu tư nhiều công sức. Tuy nhiên, tuy từng từ dự án, những người dùng được cấp tài khoản có thể truy cập được trang quản trị (nhân viên, biên tập viên,...). Trong trường hợp này, đương nhiên là chúng ta cần cải thiện giao diện quản trị mặc định để người dùng cảm thấy hứng thú hơn khi sử dụng ứng dụng. Bài viết này sẽ hướng dẫn cách cập nhật giao diện mặc định của Liferay 7.x.

Liferay 7.2/DXP: Sử dụng SystemCheckers để theo dõi trạng thái của hệ thống

Liferay 7.2 có nhiều tính năng hay so với các phiên bản trước đó. Bài viết này sẽ giới thiệu một trong số chúng, cụ thể đó là SystemCheckers. Trong các phiên bản cũ, đôi khi hệ thống đã được khởi động xong chúng ta không thấy bất kỳ lỗi gì vì nó không được ghi ra log. Tuy nhiên, chúng ta vẫn không sử dụng được một vài service hoặc module. Ví dụ, một vài service được khai báo (Declarative Service) không thể hoạt động do thiếu tham chiếu đến các service/module khác hoặc bị tham chiếu vòng.

Liferay 7.x: Liên kết đến tài nguyên tĩnh (hình ảnh/js/css) trong portlet

Với Liferay DXP, cách thức phát triển portlet/module có sự thay đổi lớn so với các phiên bản Liferay trước đó. Trước đây, chung ta có để dễ dàng sử dụng các tài nguyên tĩnh như CSS, JS hay các hình ảnh. Các tài nguyên này được xem là một phần của các portlet. Nhưng với Liferay DXP, cách tiếp cận là hoàn toàn khác biệt. Hay xem, làm thế nào để sử dụng được các tài nguyên tĩnh trong việc phát triển portlet/module.

Liferay 7: Error while buildCSS

To day, I open my old wars project and build it with Gradle. I received the error message like this:

Was passed main parameter 'sass.append.css.import.timestamps=true' but no main parameter was defined in your arg class
:wars:announcement:buildCSS

Liferay 7: Service builder và truy vấn dữ liệu

Trong bài viết Liferay 7: Tạo một portlet mới như thế nào?, mình đã hướng dẫn cách tạo một portlet (mvc portlet) trên môi trường Liferay 7. Như bạn thấy, việc tạo mới một portlet trên môi trường Liferay 7 cũng không thực sự khó khăn và mất nhiều thời gian. Tuy nhiên, một ứng dụng không chỉ đơn giản như thế, trong bài viết này mình sẽ đi hướng dẫn cách tương tác với cơ sở dữ liệu (CSDL). Cụ thể là sẽ lấy dữ liệu từ CSDL và hiển thị lên trình duyệt.
Đồng thời, mình cũng đưa ra so sánh cách tổ chức các module, các lớp, interface của phiên bản 7 so với phiên bản 6.x (xem tại đây).

Liferay 7: How to create a new portlet?


There were many interesting features added or improved in Liferay 7. And Liferay Workspace is one of them, it is a new way to organizing our source code and recommended by Liferay. In this post, I will create a portlet by Liferay 7 default style ( it means using Liferay Workspace).
(Phiên bản Tiếng Việt - Vietnamese version)

Liferay 7: Tạo một portlet mới như thế nào?


English version
Ở bài viết trước, mình đã lược dịch lại những tính năng mà Liferay 7 cải tiến và bổ sung. Trong đó, Liferay Workspace là một tính năng mới, một cách tổ chức code mới được Liferay khuyến khích lập trình viên sử dụng. Trong bài viết này, mình sẽ tạo một portlet theo cấu hình mặc định của Liferay (tức là sử dụng Liferay Workspace), bài viết tiếp theo mình sẽ hướng dẫn cách cấu hình Liferay 7 để bạn có thể tạo ra các portlet theo phong cách cũ (phiên bản Liferay 6).

Liferay 7: Bắt đầu với Liferay 7

Mỗi lần nâng cấp phiên bản, Liferay đều có những cái rất mới mẻ và có thêm những cải tiến hay. Lần này cũng thế, phiên bản 7 với nhiều tính năng mới được trang bị và khác xa với phiên bản 6. Chúng ta hãy cùng đi cài đặt Liferay 7 và xem những tính năng mới của nó dưới con mắt của một developer nhé.

Liferay: Vòng đời của Portlet - Phương thức serveResource()


Portlet có thể gửi các nội dung động từ máy trạm tới máy chủ trong pha phục vụ tài nguyên (serve resource). Chúng ta hãy xem pha này được thực hiện trong Liferay như thế nào nhé.

Liferay: Vòng đời của Portlet - Phương thức processAction()

Pha action (hoạt động) của portlet được thực hiện trong phương thức processAction(). Nó được thực hiện bằng cách gọi một URL action. Người dùng sẽ tương tác với portlet trong pha này.

Liferay 6.2: Vòng đời của Portlet - Phương thức render()

Phương thức vòng đời render chịu trách nhiệm cho việc sinh ra nội dung (được hiển thị trên trình duyệt) của portlet. Nó được gọi khi portlet được thực thi trong pha sinh nội dung.

Liferay 6.2: Vòng đời của Portlet - Phương thức init()

Pha khởi tạo của một portlet được thể hiện bởi phương thức init(). Khi một portlet được triển khai, portlet container sẽ xoá bỏ thể hiện (instance) đã có của nó và tạo các thể hiện mới. Lúc này, phương nó sẽ gọi phương thức init().

Liferay 6.2: Giới thiệu các pha và vòng đời của portlet

Portlet thực hiện một hành động duy nhất trong mỗi chu trình thực thi. Các chu trình này được biết đến là các pha. Mỗi pha/chu trình được thể hiện bởi các phương thức tương ứng trong lớp controller (portlet class).

Liferay 6.2: Cấu hình portlet

Sau khi tạo ra một portlet, bạn hi vọng nó sẽ được sử dụng ở nhiều nơi. Đây thực sự là một hi vọng chính đáng. Tuy nhiên, nếu bạn tạo ra một portlet cứng nhắc sẽ không thể tái sử dụng được. Do vậy, trong quá trình thiết kế portlet, bạn phải đảm bảo rằng portlet của mình thực sự linh hoạt và dễ dàng tùy biến theo từng nhu cầu cụ thể.
Trong bài viết này, mình sẽ hướng dẫn các bạn cách mở rộng cấu hình portlet.

Liferay 6.2: Window popup



Window popup is a utility which was built-in Liferay Framework. Liferay itself also used this utility in many parts. For examples: Window popup appears in permission interface or portlet configurations (if you click on gear icon at top left portlet, the windows will appear which allows changing the configurations).
In general, window popup is useful in the UI design process. So, how to use it. This post will help you

Liferay 6.2: Cửa sổ popup



Cửa sổ popup là một tiện ích được tích hợp sẵn trong Liferay. Bản thân Liferay cũng sử dụng tiện ích này ở nhiều nơi. Ví dụ như trong giao diện phân quyền sử dụng (bạn click vào đường link phân quyền sẽ có một cửa sổ được bật nên để bạn chọn các quyền phù hợp), cấu hình portlet (bạn click vào các đường link cấu hình ở phía trên bên phải của mỗi portlet, sẽ có các cửa sổ được mở lên để bạn thay đổi cấu hình, giao diện, ... của portlet).
Nói chung, cửa sổ popup rất hữu dụng trong quá trình thiết kế giao diện ứng dụng. Vậy, làm thế nào có thể sử dụng được nó. Bài viết này sẽ giúp bạn.

Liferay 6.2: AlloyUI: Node and some familiar methods

AlloyUI (AUI) is an excellent UI framework. It built on top of YUI3 library that uses Bootstrap (HTML/CSS) to provide a simple API for building high scalable applications.
Liferay has integrated AUI into its framework (click here to view detail). So, good understanding and good using AUI are the necessary skills if you want to develop the application on this framework.
In this post, I will show you the most basic component of AUI. That is Node. What is a Node? How does it work? Let's discuss it.

Liferay 6.2: AlloyUI: Node và một số phương thức hay dùng

AlloyUI (AUI) là một công cụ thiết kế giao diện web mạnh mẽ. AUI là một framework được xây dựng dựa trên YUI3 (một thư viện giao diện của Yahoo!) và sử dụng Bootstrap để cung cấp một API đơn giản cho các ứng ụng có khả năng mở rộng cao.
Liferay đã tích hợp sẵn AUI vào trong hệ thống của mình (xem tại đây). Chính vì vậy, việc tìm hiểu và sử dụng tốt AUI là một việc cần thiết khi bạn muốn phát triển các ứng dụng trên framework này.
Trong bài viết này, mình sẽ giới thiệu thành phần cơ bản nhất của AUI. Đó là Node? Vậy Node là gì? Nó hoạt động như thế nào? Hãy cùng thảo luận nhé.

Liferay 6.2: Form validator

validate
Data validation is a necessary work to ensure the smooth of our applications. Fortunately, Liferay Framework has provided a powerful tool for us to do this work. This post will introduce and guide the way to validate data. Let's read it: