Len Schaller Headshot

Len Schaller


Senior Product Manager


Len has been with Itron for 13 years and has 23 years of project and product management experience in the energy and telecoms industry. He serves on the board of the Standard Transfer Association (STSA) representing Itron as a founder member. Len’s immediate focus is on migrating our existing customers to Itron’s latest generation prepayment solution so that they can upgrade all their meters before the TID Rollover event on 24 November 2024. He is also looking to grow the Itron thin prepayment base through the integration of IPMP with the Itron MDM and Head End Systems. Len holds a Masters Diploma in Electrical Engineering from the Pretoria Technikon.

Kesalahan terjadi ketika Memproses Template.
The following has evaluated to null or missing:
==> authorContentdata.items  [in template "44616#44647#183853" at line 20, column 22]

----
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: authorContentitems = authorContentdat...  [in template "44616#44647#183853" at line 20, column 1]
----
1<#-- 
2Add elements from the sidebar to define your template. Type "${" to use the 
3autocomplete feature. 
4--> 
5<#-- *Permission issue with guest user* 
6<#assign currentEntry = (request.getAttribute("LIFERAY_SHARED_LAYOUT_ASSET_ENTRY"))! /> 
7<#assign classPK = currentEntry.classPK /> 
8--> 
9 
10<#assign  
11currentURL = themeDisplay.getURLCurrent() 
12fullURLPath = currentURL?split("/") 
13urlData = fullURLPath[2] 
14removedParams = urlData?split("?") 
15friendlyURLPath = removedParams[0] 
16/> 
17 
18<#assign 
19authorContentdata = restClient.get("/headless-delivery/v1.0/structured-content-folders/148280/structured-contents?filter=friendlyUrlPath%20eq%20%27" + friendlyURLPath + "%27") 
20authorContentitems = authorContentdata.items 
21/> 
22<#if authorContentitems?has_content> 
23<#assign 
24authorContent = authorContentitems[0] 
25contentFields = authorContent.contentFields 
26categories=authorContent.taxonomyCategoryBriefs 
27authorContentData = jsonFactoryUtil.createJSONObject(authorContent) 
28friendlyURL = authorContentData.friendlyUrlPath 
29authorCategoryId = "0" 
30/> 
31 
32<#list categories as category > 
33				     <#assign authorCategoryId = category.taxonomyCategoryId /> 
34      </#list> 
35 
36 
37<span class="d-none" id="author-id">${authorCategoryId}</span> 
38</#if> 
39<script> 
40AUI().ready(function(){ 
41  const authorID = document.getElementById("author-id").innerHTML; 
42  if(authorID) { 
43	setTimeout(function(){ 
44    document.querySelector('[name="categoryId"][value="'+authorID+'"]').closest('label').click() 
45  }, 1000); 
46
47}); 
48</script>