Menu

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.

Java 8: Có nên sử dụng filter của Stream API

Java 8 giới thiệu rất nhiều tính năng mới. Trong đó Stream (luồng) cũng là một tính năng cực kỳ hữu ích và được sử dụng thường xuyên (kết hợp với biểu thức Lambda).

Cụ thể Stream là gì? Nó là một đối tượng mới của Java được giới thiệu từ phiên bản Java 8, giúp cho việc thao tác trên danh sách (collection) và mảng (array) trở nên dễ dàng và tối ưu hơn.

Một Stream đại diện cho một chuỗi các phần tử hỗ trợ các hoạt động tổng hợp tuần tự (sequential) và song song (parallel).

Các thao tác của Stream API

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: Đăng ký thêm loại dữ liệu vào ElasticSearch

Như chúng ta đã biết, ElasticSearch là công cụ tìm kiếm mặc định trên Liferay 7/DXP. Nó có nhiều tính năng nổi bật hơn so với Lucene trên các phiên bản Liferay cũ. Liferay sử dụng ElasticSearch cho mục đích tìm kiếm nội bộ. Ví dụ: Tìm kiếm full-tẽt, phân tích lưu trữ, auto-complete, kiểm tra chính tả, khoảng cách địa lý... Hiện tại, chung ta có thể sử dụng tất cả các tính năng này cho các Entity mà mình tạo ra bằng cách kế thừa các indexer của ElasticSearch. Bài viết này sẽ chỉ cho bạn cách dụng ElasticSearch cho các entity tự tạo.

Đăng ký thêm loại dữ liệu vào ElasticSearch

Liferay 7.x: Hiểu về Service Tracker

Như chúng ta đã biết, Liferay DXP sử dụng framework OSGi cho môi trường cộng tác giữa các đối tượng (các đối tượng ngày được xem như các services). Khai báo các dịch vụ (Declarative Services (DS) - khái niệm quan trọng của OSGi) là cách để chia sẻ các service giữa các thành phần trong hệ thống. Khi chúng ta khai báo một lớp của Java với annotation @Component thì lớp đó được xem như là một service và sẽ được sử dụng bởi các thành phần khác. Việc sử dụng annotation @Component để biến một lớp của Java thành một service thực sự dễ cài đặt và mở rộng.

Service Tracker

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.