/o//commerce-media/accounts/-1/images/28171222?download=true
Run an automated checklist for your systems health. This checklist can help to detect unusual or unsupported setups, as well as systems restored in a different environment. Notable features include:
- Running VerifyProperties for your version at runtime
- Check the age of your installation, takes your preference of LTS or not into account (some of these features DXP-specific, desired age configurable)
- User Password Hashing checks, including a configurable sample amount of users to be checked for using an up-to-date hashing configuration strength
- Checks for correct configuration of boolean and numeric properties
- Detects if a backup is restored on a different system - e.g. when PRD is restored in UAT, which might require an admin to make sure to reconfigure other aspects too (e.g. Client Extensions, Data Providers, Web Hooks).
- Detect proper configuration of redirection rules for accessed host names
- Shows the remaining Premium Support period (DXP-only) and alerts you at a configurable time before it runs out and others
- Allows you to specify the minimum number of nodes that you expect to be live in a healthy cluster
- Check validity of certificates of systems that you connect to - e.g. through Client Extensions, Data Providers, Web Hooks or a manually configured additional list of hosts
- Optional "relaxed" settings for development systems (host names need to be explicitly specified for these tests to run) to make your development experience smoother
- Detects if your search index is out-of-date and needs to be reindexed (by sampling the number of indexed users)
- Detects if you're running an unsupported configuration (e.g. HSQL or Elasticsearch-Sidecar)
- Detects if your server started with incomplete components (smoke-test, beta) and needs a restart to be fully available
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 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>
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.