/o//commerce-media/accounts/-1/images/18412913?download=true
Versions Limiter
DXP App
Versions Limiter is a nonintrusive hook that allows you to limit the
number of versions of the web contents.
You only need to set the "version.limiter.max.number.of.versions property" to the number of versions you want for your portal in your portal-ext.properties file (E.g: version.limiter.max.number.of.versions=3) and restart Liferay. That's all.
Features:
- When you publish a web content it'll check the number of versions of this content and it'll only keep the last "version.limiter.max.number.of.versions" versions
- Keep only the versions of a web content that you want.
- Transparent for the end-user.
- It doesn't overwrite any Liferay class or jsp.
Benefits:
- Save disk space in your database (especially in huge portals). Along time you can reach hundreds or thousands of versions of each web content . Are you sure you need so many versions? If the answer is no, this is your hook.
- Improve the performance of your portal. If your database is smaller its performance will be better. Pure logic. Believe me, you can reduce thousands and thousands of records in some database tables.
You only need to set the "version.limiter.max.number.of.versions property" to the number of versions you want for your portal in your portal-ext.properties file (E.g: version.limiter.max.number.of.versions=3) and restart Liferay. That's all.
Features:
- When you publish a web content it'll check the number of versions of this content and it'll only keep the last "version.limiter.max.number.of.versions" versions
- Keep only the versions of a web content that you want.
- Transparent for the end-user.
- It doesn't overwrite any Liferay class or jsp.
Benefits:
- Save disk space in your database (especially in huge portals). Along time you can reach hundreds or thousands of versions of each web content . Are you sure you need so many versions? If the answer is no, this is your hook.
- Improve the performance of your portal. If your database is smaller its performance will be better. Pure logic. Believe me, you can reduce thousands and thousands of records in some database tables.
DEVELOPER
Um erro ocorreu enquanto processava o modelo.
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")
27 productSpecifications = product.productSpecifications![]
28 catalogName=product.catalogName
29/>
30
31<#if catalogName?has_content>
32 <#assign publisePages=restClient.get("/c/publisherdetailses?filter=publisherName eq '${catalogName}'" ) />
33 <#assign redirectPath="https://marketplace.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 17:39
Published date
21/11/24 17:39
Published Date
21/11/24 17:39
SUPPORTED OFFERINGS
Liferay PaaS
Supported Versions
6.2
Resource Requirements
Edition
CE
PRICE
Free
help & support
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.