S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 8, column 30]

----
Tip: It's the final [] step 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 channelId = channel.items[0].id  [in template "3192443#3192485#null" at line 8, column 9]
----
1<#if themeDisplay?has_content> 
2	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
3</#if> 
4 
5<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
6 
7<#if channel?has_content> 
8	<#assign channelId = channel.items[0].id /> 
9</#if> 
10 
11<#if (CPDefinition_cProductId.getData())??> 
12	<#assign productId = CPDefinition_cProductId.getData() /> 
13</#if> 
14 
15<#assign 
16	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&images.accountId=-1&nestedFields=images") 
17	productImage = product.images?filter(item -> item.tags?seq_contains("app icon"))![] 
18/> 
19 
20<#if productImage?has_content> 
21	<#assign productThumbnail = productImage[0].src?split("/o") /> 
22	<#if productThumbnail?has_content && productThumbnail?size gte 2> 
23		<#assign productThumbnail1 = "/o/${productThumbnail[1]}"!"" /> 
24	<#else> 
25		<#assign productThumbnail1 = "/o/commerce-media/default/?groupId=${scopeGroupId}" /> 
26	</#if> 
27<#else> 
28	<#if product.urlImage?has_content> 
29		<#assign productThumbnail = product.urlImage?split("/o") /> 
30		<#if productThumbnail?has_content && productThumbnail?size gte 2> 
31			<#assign productThumbnail1 = "/o/${productThumbnail[1]}"!"" /> 
32		<#else> 
33			<#assign productThumbnail1 = "/o/commerce-media/default/?groupId=${scopeGroupId}" /> 
34		</#if> 
35	<#else> 
36		<#assign productThumbnail1 = "/o/commerce-media/default/?groupId=${scopeGroupId}" /> 
37	</#if> 
38</#if> 
39 
40${productThumbnail1} 

Social Graph Light
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 62, column 30]

----
Tip: It's the final [] step 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 channelId = channel.items[0].id  [in template "3192443#3192485#null" at line 62, column 9]
----
1<style> 
2	.app-container { 
3		font-size: MEDIUM; 
4
5 
6	.app-container .app-category { 
7		background-color: #e6ebf5; 
8		padding: 6px 8px 4px 
9
10 
11	.app-container .app-product-type { 
12		border-color: #2e5aac !important; 
13		color:#2e5aac; 
14		padding: 4px 8px; 
15
16 
17	@media screen and (max-width: 768px) { 
18		.app-container { 
19			font-size: small; 
20
21
22 
23	@media screen and (max-width: 576px) { 
24		.app-container { 
25			font-size: x-small; 
26
27 
28		.app-container .app-category, 
29		.app-container .app-product-type { 
30			padding: 2px 4px; 
31
32
33</style> 
34 
35<#assign 
36	PRODUCT_TYPE_CLOUD = "CLOUD" 
37	PRODUCT_TYPE_DXP = "DXP" 
38	PRODUCT_TYPE_FREE = "FREE" 
39	PRODUCT_TYPE_PAID = "PAID" 
40	VOCABULARY_PRODUCT_CATEGORY = "MARKETPLACE APP CATEGORY" 
41/> 
42 
43<#if themeDisplay?has_content> 
44	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
45</#if> 
46 
47<#assign siteName = "marketplace" /> 
48 
49<#if currentURL?has_content> 
50	<#if currentURL?contains('web')> 
51		<#assign 
52			index = 2 
53			partsUrl = currentURL?split('/') 
54			siteName = partsUrl[index..index]?join('/') 
55		/> 
56	</#if> 
57</#if> 
58 
59<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
60 
61<#if channel?has_content> 
62	<#assign channelId = channel.items[0].id /> 
63</#if> 
64 
65<#if (CPDefinition_cProductId.getData())??> 
66	<#assign productId = CPDefinition_cProductId.getData() /> 
67</#if> 
68 
69<#assign 
70	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=productSpecifications,categories") 
71	categories = product.categories![] 
72	productSpecifications = product.productSpecifications![] 
73/> 
74 
75<div class="app-container color-neutral-3 d-flex flex-wrap font-size-paragraph-small justify-content-between w-100"> 
76	<div class="d-flex"> 
77		<#if categories?has_content> 
78			<#list categories as category> 
79				<#if category.vocabulary?upper_case == VOCABULARY_PRODUCT_CATEGORY> 
80					<div class="app-category bg-neutral-8 border-radius-small mb-1 mr-2 px-1 rounded"> 
81						${category.name} 
82					</div> 
83				</#if> 
84			</#list> 
85		</#if> 
86 
87		<#if productSpecifications?has_content> 
88 
89			<#assign productTypes = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "type")) /> 
90 
91			<#list productTypes as productType> 
92				<#if productType.value?upper_case == PRODUCT_TYPE_DXP> 
93					<#assign 
94						icon = "dxp-svg" 
95						type = "DXP App" 
96					/> 
97				<#elseif productType.value?upper_case == PRODUCT_TYPE_CLOUD> 
98					<#assign 
99						icon = "cloud-svg" 
100						type = "Cloud App" 
101					/> 
102				</#if> 
103 
104				<#if type?has_content && icon?has_content> 
105					<div class="app-product-type border border-radius-small d-flex mb-1 mr-2 px-1 rounded"> 
106						<div class="app-product-type-icon mr-1"> 
107							<img alt="Icon" class="mb-1" src="/documents/d/${siteName}/${icon}" /> 
108						</div> 
109 
110						<div class="bg-neutral-8">${type}</div> 
111					</div> 
112				</#if> 
113			</#list> 
114		</#if> 
115	</div> 
116</div> 
18579231
Social Graph Light provides an overview of your business network. Recognize relationships and benefit from instant access and direct interaction.

Social Graph Light is supplied with many features to present a user’s multidimensional relationships to units, organizations, sites (communities) including Liferay direct friendships. Extend your Liferay portal to an internal (B2E) and external Network (B2C, B2B).

Features:
• Visualize and navigate your network
• Explore your connections
• Drill down to existing user and organization pages
• Instant access and immediate interaction
• Address relationships as group and communicate
• Customize easily and flexibly

Benefits:
• Time savings by direct P2P interaction provided
• Complete network landscape visualized
• Empowers collaboration
• Drastic reduction of mail traffic
• Bridging of other portals

Use Cases:
• Financial Advisory: Interactive Banking or Insurance Advisory anywhere with any means of communication.
• Money Laundering: Coordinate international governmental power, NGO associations and financial intermediaries for investigation of tax fraud.
• Terrorism-Fighting: Coordinate national and international Terrorism Fighting connecting all involved Security Forces.
• B2X Communication: Multidimensional Employee, Partner and Client Organization structures in different cooperation models.
• Military: Fixed formation or ad hoc order of battle of military units.

Languages:
• English, German

Integrated documentation (PDF):
• User’s Guide (click info button in the toolbar)
• Administrator’s Guide (at documentation link in the setup form)

Included in full version:
• Search
• Organization categories
• Implement agile organization models
• Discover organization structures

Summary:
Social Graph Light greatly reduces complexity and simplifies interaction. Come on board, access and visualize your network!!
Product combination with Social Map 2.0 also provided, please see https://web.liferay.com/en/marketplace/-/mp/application/89431785
Check full version, get Social Graph 2.0 here: https://web.liferay.com/en/marketplace/-/mp/application/86632969 Mit Social Graph Light Uebersicht über das persönliche Netzwerk gewinnen, Beziehungen erkennen und nutzen - im Schnellzugriff für direkte Interaktion.

Social Graph Light ist mit reichhaltigen Funktionen ausgestattet, um multidimensionale Beziehungen einer Person zu Einheiten, Organisationen, Sites (Gemeinschaften) und direkten Freundschaften (Liferay) anzuzeigen. Erweitern Sie Ihr Liferay Portal zu einem internen (B2E) bzw. externen (B2C, B2B) Netzwerk.

Highlights:
• Netzwerk-Visualisierung und Navigation
• Beziehungen erkunden
• Auf vorhandene Benutzer- und Organisations-Seiten wechseln
• Direkter Zugriff und unmittelbare Interaktion
• Kommunikation mit gruppenweisen oder frei ausgewählten Beziehungen
• Reichhaltige Anpassungsmöglichkeiten

Vorteile:
• Zeitersparnis durch direkte P2P-Interaktion
• Umfassende Visualisierung des persönlichen Netzwerks
• Förderung der Online-Kollaboration
• Drastische Reduzierung des Mail-Verkehrs
• Verbindung zu weiteren Portalen

Use Cases:
• Finanzberatung: Interaktive Bank- oder Versicherungs-Beratung, überall und stets mit passendem Kommunikationsmittel.
• Geldwäsche: Koordination von Regierungsstellen, NGOs und Finanzintermediären zur Ermittlung von Steuerumgehung.
• Terror-Bekämpfung: Koordination von Terrorbekämpfung durch Zusammenschluss der beteiligten Instanzen.
• B2X-Kommunikation: Multidimensionale Mitarbeiter-, Partner- und Kunden-Organisationsstrukturen in verschiedenen Zusammenarbeitsmodellen.
• Militärische Formationen: Ordre de Bataille für fixe oder ad-hoc Formationen.

Sprachen:
• Deutsch, Englisch

Integrierte Dokumentation (PDF):
• Anwender-Handbuch, via Info Schaltfläche in der Werkzeugleiste
• Administratoren-Handbuch (EN), via Link Dokumentation in der Setup-Maske

Zusätzlich in Vollversion:
• Suchen
• Organisationskategorien
• Agile Organisationsmodelle implementieren
• Organisations-Strukturen durchleuchten

Fazit:
Social Graph Light: Komplexität reduzieren - Interaktion vereinfachen. Visualisieren Sie Ihr Netzwerk, jetzt!
Produkt-Kombination mit Social Map 2.0 ebenso möglich, siehe unter https://web.liferay.com/de/marketplace/-/mp/application/89431785
Die Vollversion wird im Marketplace unter https://web.liferay.com/de/marketplace/-/mp/application/86632969 angeboten.
DEVELOPER
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 18, column 30]

----
Tip: It's the final [] step 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 channelId = channel.items[0].id  [in template "3192443#3192485#null" at line 18, column 9]
----
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/> 
29 
30<div> 
31	<#if productSpecifications?has_content> 
32		<#assign developerNames = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "developer-name")) /> 
33 
34			<#if developerNames?has_content> 
35		  		<#list developerNames as developerName> 
36					<div class="bg-neutral-8">${developerName.value}</div> 
37		  		</#list> 
38			</#if> 
39	</#if> 
40</div> 
DEVELOPER
13/09/17 00:00
Published date
January 9, 2018
Published Date
13/09/17 00:00
SUPPORTED OFFERINGS
Self-Hosted, Self-Managed
Supported Versions
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 22, column 30]

----
Tip: It's the final [] step 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 channelId = channel.items[0].id  [in template "3192443#3192485#null" at line 22, column 9]
----
1<#assign 
2	VOCABULARY_PRODUCT_CATEGORY = "MARKETPLACE LIFERAY VERSION" 
3/> 
4 
5<#if themeDisplay?has_content> 
6	<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
7</#if> 
8 
9<#if currentURL?has_content> 
10	<#if currentURL?contains('web')> 
11		<#assign 
12			index = 2 
13			partsUrl = currentURL?split('/') 
14			siteName = partsUrl[index..index]?join('/') 
15		/> 
16	</#if> 
17</#if> 
18 
19<#assign channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${scopeGroupId}'") /> 
20 
21<#if channel?has_content> 
22	<#assign channelId = channel.items[0].id /> 
23</#if> 
24 
25<#if (CPDefinition_cProductId.getData())??> 
26	<#assign productId = CPDefinition_cProductId.getData() /> 
27</#if> 
28 
29<#assign 
30	product = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/"+ channelId +"/products/"+ productId +"?accountId=-1&nestedFields=categories") 
31	categories = product.categories![] 
32/> 
33 
34<div class="app-container color-neutral-3 d-flex flex-wrap font-size-paragraph-small justify-content-between w-100"> 
35	<div class="d-flex"> 
36		<#if categories?has_content> 
37			<#function getVersions(version)> 
38				<#return version.vocabulary?upper_case == "MARKETPLACE-LIFERAY-VERSION"> 
39			</#function> 
40 
41			${categories?sort_by("name")?reverse?filter(getVersions)?map(version -> version.name)?join(", ")} 
42		</#if> 
43	</div> 
44</div> 
Resource Requirements
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 18, column 30]

----
Tip: It's the final [] step 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 channelId = channel.items[0].id  [in template "3192443#3192485#null" at line 18, column 9]
----
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	specifications = product.productSpecifications![] 
28/> 
29 
30<div> 
31	<#if specifications?has_content> 
32 
33		<#assign 
34			specificationCPUs = specifications?filter(item -> stringUtil.equals(item.specificationKey, "cpu")) 
35			specificationRAMs = specifications?filter(item -> stringUtil.equals(item.specificationKey, "ram")) 
36			 cpuQuantity = "" 
37				  memoryQuantity = "" 
38		/> 
39 
40		<#if specificationCPUs?has_content> 
41		 	<#list specificationCPUs as cpu> 
42				<#assign cpuQuantity = cpu.value /> 
43 
44				<#if cpuQuantity?has_content> 
45					${cpuQuantity} 
46					<#if cpuQuantity?eval gt 1> 
47						CPUS 
48					</#if> 
49 
50					<#if cpuQuantity?eval lt 2> 
51						CPU 
52					</#if> 
53				</#if> 
54		  	</#list> 
55		</#if> 
56 
57		<#if specificationRAMs?has_content> 
58		  	<#list specificationRAMs as ram> 
59				<#assign memoryQuantity = ram.value /> 
60 
61				<#if cpuQuantity?has_content && memoryQuantity?has_content >, </#if> 
62 
63				<#assign memoryQuantity = ram.value /> 
64 
65				<#if memoryQuantity?has_content> 
66					${memoryQuantity} GB RAM 
67				</#if> 
68		  	</#list> 
69		</#if> 
70	</#if> 
71</div> 
Edition
CE, EE
PRICE
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> channel.items[0]  [in template "3192443#3192485#null" at line 18, column 30]

----
Tip: It's the final [] step 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 channelId = channel.items[0].id  [in template "3192443#3192485#null" at line 18, column 9]
----
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/> 
29 
30<div> 
31	<#if productSpecifications?has_content> 
32		<#assign priceModels = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "price-model")) /> 
33 
34		<#if priceModels?has_content> 
35		  	<#list priceModels as priceModel> 
36				<div class="bg-neutral-8">${priceModel.value}</div> 
37		  	</#list> 
38		</#if> 
39	</#if> 
40</div> 
help & support
Terms & Conditions
SHARE LINK
Copy & Share Link

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.