/o//commerce-media/accounts/-1/images/18601428?download=true
Schizo.io
DXP App
Schizo.io is a Liferay module that helps testers to test their Liferay
based solution. It consists of:
* A Control Panel portlet that allows an administrator to create new personas. Each persona has a JSON based data context that can be retrieved via an API.
* A Persona Sign In portlet, backed by an Application Display Template to allow an unauthenticated tester to sign in as a persona from a public page.
* An autologin hook that signs in the persona. In the process, a Liferay user is created based on the persona's details.
* An OSGI declarative service that mock implementations of services can use to return mock data based on the data context of the currently signed in persona.
* A REST interface of the service so client-side or external applications can retrieve the persona's data context remotely.
* A template context contributor so the persona's context can be read from FreeMarker article and theme templates in Liferay.
All persona profiles are stored in OSGi configuration, so they can easily be transferred between server environments and they can be centralised in source code management platforms.
Currently, Schizo.io is only available for Liferay DXP 7.1.
Schizo.io was launched at Liferay Devcon 2018 in Amsterdam.
* A Control Panel portlet that allows an administrator to create new personas. Each persona has a JSON based data context that can be retrieved via an API.
* A Persona Sign In portlet, backed by an Application Display Template to allow an unauthenticated tester to sign in as a persona from a public page.
* An autologin hook that signs in the persona. In the process, a Liferay user is created based on the persona's details.
* An OSGI declarative service that mock implementations of services can use to return mock data based on the data context of the currently signed in persona.
* A REST interface of the service so client-side or external applications can retrieve the persona's data context remotely.
* A template context contributor so the persona's context can be read from FreeMarker article and theme templates in Liferay.
All persona profiles are stored in OSGi configuration, so they can easily be transferred between server environments and they can be centralised in source code management platforms.
Currently, Schizo.io is only available for Liferay DXP 7.1.
Schizo.io was launched at Liferay Devcon 2018 in Amsterdam.
DEVELOPER
DEVELOPER
2024.11.21. 18:33
Published date
2024.11.21. 18:33
Published Date
2024.11.21. 18:33
SUPPORTED OFFERINGS
Liferay PaaS
Supported Versions
7.1
Resource Requirements
Edition
EE
PRICE
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")
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
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.