/o//commerce-media/accounts/-1/images/18587637?download=true

RTG Graph
DXP App
Analytics and Optimization
18587584
RTG Graph provides you with a powerful tool to create graphs, information graphics, diagrams, and anything else you can think of. It is based on the well-known mxGraph library that offers a feature-rich, JavaScript based editor for all diagramming purposes.

We have integrated our RTG Graph Editor closely with default Liferay features, so graphs can directly be stored in Document Library, including all its possibilities like previews, versioning, metadata management, workflows, and permissions. Created graphs can therefore be included in all areas of your portal, just like any document.

The key features of RTG Graph include:

• Comprehensive editor for diagrams of all kinds
• Fully integrated with Liferay Document Library
• Automatically created previews and thumbnails
• Export graphs into image, PDF, SVG, or XML
• Based on mxGraph
• Available in English and German

The product is continuously developed further based on our own feature list and especially customer feedback. Please feel free to contact us concerning feature requests or any other feedback.
DEVELOPER
Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> publisePages.items  [in template "3192443#3192485#null" at line 36, column 38]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign publisePage = publisePages.items  [in template "3192443#3192485#null" at line 36, column 17]
----
1<#if themeDisplay?has_content> 
2	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
3</#if> 
4 
5<#if currentURL?has_content> 
6	<#if currentURL?contains('web')> 
7		<#assign 
8			index = 2 
9			partsUrl = currentURL?split('/') 
10			siteName = partsUrl[index..index]?join('/') 
11		/> 
12	</#if> 
13</#if> 
14 
15<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
16 
17<#if channel?has_content> 
18	<#assign channelId = channel.items[0].id /> 
19</#if> 
20 
21<#if (CPDefinition_cProductId.getData())??> 
22	<#assign productId = CPDefinition_cProductId.getData() /> 
23</#if> 
24 
25<#assign 
26	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=productSpecifications") 
27	productSpecifications = product.productSpecifications![] 
28	catalogName=product.catalogName 
29/> 
30 
31<#if catalogName?has_content> 
32	<#assign publisePages=restClient.get("/c/publisherdetailses?filter=catalogName eq '${catalogName}'" ) /> 
33	<#assign redirectPath="https://marketplace-uat.liferay.com/e/publisher-details/29282497"/> 
34	 
35	<#if publisePages?has_content> 
36		<#assign publisePage=publisePages.items /> 
37			<#if publisePage?has_content> 
38						<#assign publisherDetail=publisePage[0]/> 
39			</#if> 
40	</#if> 
41</#if> 
42 
43<div> 
44	<#if productSpecifications?has_content> 
45		<#assign developerNames = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "developer-name")) /> 
46 
47		<#if developerNames?has_content> 
48			<#list developerNames as developerName> 
49				<#if publisherDetail?has_content> 
50					<a class="bg-neutral-8" href="${redirectPath}/${publisherDetail.id}"> 
51						${developerName.value} 
52					</a> 
53				<#else> 
54					<a class="bg-neutral-8" 	href="/?developer-name=${developerName.value}"> 
55						${developerName.value} 
56					</a> 
57				</#if> 
58			</#list> 
59		</#if> 
60	</#if> 
61</div> 
DEVELOPER
21/11/24 18:27
Published date
21/11/24 18:27
Published Date
21/11/24 18:27
SUPPORTED OFFERINGS
Liferay PaaS, Liferay Self-Hosted
Supported Versions
7.0
Resource Requirements
Edition
CE, EE
PRICE
Paid
help & support
SHARE LINK
Copy & Share

HTML Example

A paragraph is a self-contained unit of a discourse in writing dealing with a particular point or idea. Paragraphs are usually an expected part of formal writing, used to organize longer prose.