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

Web Scraper For Liferay
Content Management & Operations
24724858
Leírás

A web content scraper for Liferay has been developed to streamline the process of migrating static content. This tool is particularly effective for content that lacks exposed or structured data, facilitating a smoother migration. By automating the extraction and conversion of unstructured content, the scraper significantly reduces the time and effort required for migration, ensuring a more efficient and organized transition to Liferay's content management system.

A web content scraper for Liferay has been developed to streamline the process of migrating static content. This tool is particularly effective for content that lacks exposed or structured data, facilitating a smoother migration. By automating the extraction and conversion of unstructured content, the scraper significantly reduces the time and effort required for migration, ensuring a more efficient and organized transition to Liferay's content management system.

DEVELOPER

Fejlesztő


Publisher Date

June 15, 2024


Deployment Method

Liferay SaaS


App Type

Cloud

Verzió

1.0.0

Támogatott verziók

2024 Q2

Resource Requirements

1 CPU , 1 GB RAM


Standard Price

Free

Help and Support


Hivatkozás megosztása

DEVELOPER
2024.06.15. 20:37
Published date
2024.06.15. 20:37
Published Date
2024.06.15. 20:37
SUPPORTED OFFERINGS
Liferay SaaS
Supported Versions
Hiba jelentkezett a sablon feldolgozása során.
The following has evaluated to null or missing:
==> channel.items  [in template "3192443#3192485#null" at line 18, column 30]

----
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 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&productSpecifications.pageSize=-1") 
27	specifications = product.productSpecifications![] 
28/> 
29 
30<div> 
31	<#if specifications?has_content> 
32		<#assign 
33			liferayVersionSpecification = specifications?filter(item -> stringUtil.equals(item.specificationKey, "liferay-version")) 
34		/> 
35 
36		<#if liferayVersionSpecification?has_content> 
37		 	<#list liferayVersionSpecification as liferayVersion> 
38				<#assign liferayVersionValue = liferayVersion.value /> 
39 
40				<#if liferayVersionValue?has_content> 
41					${liferayVersionValue}<#if liferayVersion?has_next>,</#if> 
42				</#if> 
43		  </#list> 
44		</#if> 
45	</#if> 
46</div> 
Resource Requirements
1 CPU , 1 GB RAM
Edition
Enterprise
PRICE
Free
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.