portal-vlabs-display-portlet/README.md

5.3 KiB

vlabs-display-portlet

License: EUPL-1.2 Changelog Cite

The vlabs-display-portlet is a Liferay 7.4 portlet (Jakarta EE 10) for the gCube Portal that displays a configurable list of Virtual Labs (Virtual Research Environments, VREs) with their access policy and description.

Table of contents

Overview

The portlet presents up to nine Virtual Labs, typically on a gateway or landing page. For each one it shows an icon, a title linking to the VRE, a badge with the VRE access policy (open, restricted or private) and a short description taken from a Web Content article, with a "Read More" toggle for long descriptions. If the current user is already a member of the VRE, the link points directly to the VRE's private pages; otherwise it keeps the configured URL (for example a registration page).

It is a port of the Liferay 6.2 vlabs-display-portlet, with the same configuration keys, so existing preferences do not need to be migrated.

WebApp Preview

Liferay 6.2 origin

Ported from the Liferay 6.2 project vlabs-display-portlet, branch master, reference commit 006c207e99 (2023-07-25): origin/master when the port started. To list the 6.2 changes made after the port, run git log 006c207e99..origin/master in a checkout of the 6.2 repository. Full table for all components: docs/migration/mappings/lr62_source_repositories.md in the porting_liferay workspace.

Usage

Adding it to a page

The portlet is declared (in liferay-display.xml) in the Virtual Labs widget category with the title Virtual Labs Display: open Add > Widgets and look in that category. The portlet is instanceable. The exact category and title shown by Liferay 7.4 have not been verified on a running portal.

Configuration

Open the portlet's Configuration dialog:

  • Icon docId - relative URL of the default icon image (from the Liferay documents), used when a lab has no icon of its own.
  • Icon size in px - icon width in pixels (default 32).
  • For each of the nine labs:
    • Icon URL - icon of this lab (optional);
    • Name - title shown; labs with an empty title are not displayed;
    • Document Id - article id of the Web Content (in the current site) that holds the description;
    • URL of the VRE - link to the VRE; it must contain =<groupId> of the VRE site, which is used to read the access policy and check the user's membership.

Permissions

The portlet declares the administrator, guest, power-user and user roles, so it can be shown to anonymous visitors as well. Membership-dependent links are computed for the logged-in user.

Known limitations

  • The description is read from the article's content field (BASIC-WEB-CONTENT, what the upgrade produces from the 6.2 articles) or from the 6.2 static-content element. Articles with another structure show no description.
  • The module is still packaged as a WAR with Liferay 6.2-style descriptors, converted to a WAB at deploy time.

Development

Gradle is the authoritative build. From porting_liferay_cnr/:

./gradlew :modules:portal-vlabs-display-portlet:assemble   # build (WAR)
./gradlew :modules:portal-vlabs-display-portlet:deploy     # deploy to the local Liferay bundle

The deploy requires portal-gcube-shared-wrapper, portal-usermanagement-core and portal-manager-core to be deployed first (the workspace build wires this automatically). A Maven pom.xml is also present but its build currently fails; see AGENTS.md for details, project structure and conventions. Porting notes (in Italian) are in porting.md.

Documentation

  • Use of this service is described in the Wiki.

Changelog

See CHANGELOG.md.

Authors

How to Cite

If you use this software, please cite it using the metadata in CITATION.cff

License

This project is licensed under the terms specified in the LICENSE.md file.

About gCube

This software is part of the gCube Framework: an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of Virtual Research Environments by favouring the realisation of reuse oriented policies. The gCube Framework supports the development and operation of the D4Science Infrastructure.

Funding

See FUNDING.md