An error occurred while processing the template.
The following has evaluated to null or missing:
==> ceNameDisplay  [in template "30590" at line 63, column 76]

----
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: ${ceNameDisplay}  [in template "30590" at line 63, column 74]
	- Reached through: #include "${templatesPath}/30590"  [in template "20116#20152#30571" at line 202, column 1]
----
1<#-- GET THE VIEW MODE FROM THE QUERY STRING WHEN BUTTON CLICKED ON --> 
2<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]> 
3<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]> 
4<#assign UserService = serviceLocator.findService("com.liferay.portal.kernel.service.UserService")> 
5<#assign UserLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")> 
6<#assign roleLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.RoleLocalService")> 
7<#assign userGroupRoleLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserGroupRoleLocalService")> 
8<#assign OrganizationLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.OrganizationLocalService")> 
9<#assign serviceContextThreadLocal = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"] themeDisplay = serviceContextThreadLocal.getServiceContext().getThemeDisplay()/> 
10<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
11<#assign LayoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutService")> 
12<#assign ImageLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ImageLocalService")> 
13<#assign GroupLocalServiceUtil = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
14<#assign ddlRecordLocalServiceUtil = serviceLocator.findService("com.liferay.dynamic.data.lists.service.DDLRecordLocalService")> 
15<#assign Locale = staticUtil["java.util.Locale"]> 
16<#assign jas = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
17<#global everyCurrentWhatUsersNeedToKnowItemHeading = ""> 
18<#global everyCurrentWhatUsersNeedToKnowItemSummary = ""> 
19<#global everyCurrentWhatParentsNeedToKnowItemHeading=""> 
20<#global everyCurrentWhatParentsNeedToKnowItemSummary=""> 
21<#global wpntkItemCountForPrint = ''> 
22<#global everyCurrentWhatParentsNeedToKnowItemHeadingForPrint = ''> 
23<#global risk1Label = "Sexting & Hook-ups"/> 
24<#global risk2Label = "Privacy & Security"/> 
25<#global risk3Label = "Adult Content"/> 
26<#global risk4Label = "Online Bullying"/> 
27<#global risk5Label = "Deception"/> 
28<#global risk6Label = "Predators"/> 
29<#global risk7Label = "Gambling"/> 
30<#global risk8Label = "Costs"/> 
31<#global risk9Label = "Screen-time"/> 
32<#global risk10Label = "Violence"/> 
33<#global parentGroupId = 30600 /> 
34 
35<#if themeDisplay.isSignedIn()?c == "false"> 
36    <#global isUserSignedIn = "false"> 
37<#else> 
38    <#global isUserSignedIn = "true"> 
39</#if> 
40 
41<#assign isSchool = getterUtil.getBoolean(themeDisplay.getThemeSetting("school")) /> 
42<#assign infoSignToolTip = "If the icon is green this content is different to Family Zones review, if the icon is red Family Zone have made an update and you should review Family Zones copy" /> 
43<#assign url = themeDisplay.getURLCurrent()> 
44<#global page = ""> 
45<#global page = httpUtil.getParameter(url, "page", false) /> 
46<#global appReviewSnippet = httpUtil.getParameter(url, "snippet", false) /> 
47<#assign urlTitle = .vars['reserved-article-url-title'].data> 
48<#assign journalArticleId = .vars['reserved-article-id'].data> 
49<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
50<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", articleResourcePK) > 
51<#assign featuresVocabularyId = 30231 /> 
52<#assign cyberExpertRatingVocabularyId = 30260 /> 
53<#assign ageRestrictionVocabularyId = 30487 /> 
54<#assign riskVocabularyId = 30248 /> 
55<#assign recVocabularyId = 183097 /> 
56<#assign ceRatingSafeParentId = ''/> 
57<#assign ageStartRatingSafeParentId = ''/> 
58<#assign ageEndRatingSafeParentId = ''/> 
59<#assign ageStartRatingUnsafeParentId = ''/> 
60<#assign ageEndRatingUnsafeParentId = ''/> 
61<#assign ageStartRatingBecarefulParentId = ''/> 
62<#assign ageEndRatingBecarefulParentId = ''/> 
63<#assign isSafe = ''/> 
64<#assign isUnsafe = ''/> 
65<#assign isBecareful = ''/> 
66<#assign isAgeRestrictionRestricted = ''/> 
67<#assign isAgeRestrictionUnrestricted = ''/> 
68<#global grpId = getterUtil.getLong(themeDisplay.getSiteGroupIdOrLiveGroupId()) /> 
69<#assign grp = GroupLocalServiceUtil.getGroup(grpId) /> 
70<#assign reviewedByText = grp.getExpandoBridge().getAttribute('reviewed-by-text')> 
71<#assign categoryPortletInstanceId = grp.getExpandoBridge().getAttribute('features-categoryportlet-template-id')> 
72<#assign isPrivateLayout = false /> 
73<#assign layoutSet = LayoutLocalService.getLayouts(grpId, isPrivateLayout) /> 
74<#assign vLayoutId = getterUtil.getLong(themeDisplay.getPlid())> 
75<#assign vLocale = themeDisplay.getLocale()> <#assign userId = themeDisplay.getUserId()> 
76<#assign vPlid = getterUtil.getLong(themeDisplay.getPlid())> 
77<#assign logoId = themeDisplay.getCompanyLogo() /> 
78<#assign portalURL = themeDisplay.getPortalURL()/> 
79<#assign groupFriendlyURL = grp.getFriendlyURL() /> 
80<#assign siteName = themeDisplay.getScopeGroupName() /> 
81<#assign jA =jas.getArticle(groupId,.vars['reserved-article-id'].data) /> 
82<#assign articleId=jA.getArticleId() /> 
83<#assign isSiteMember = GroupLocalServiceUtil.hasUserGroup(userId, grpId) /> 
84<#assign redirectURLafterDelete = "'/web${grp.friendlyURL}/-/web_content/${urlTitle}/${parentGroupId}'"/> 
85<#global currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
86 
87<#-- GLOBALS REQUIRED to BE DECLARED FOR ALL TEMPLATES --> 
88<#global count = ''> 
89<#global countLinks = ''> 
90<#global countWhat = ''> 
91<#global featuredImageId = ''> 
92<#global mainImageId = ''> 
93<#global countWhatUsersNeedToKnow = ''> 
94<#global countHowToGroups = ''> 
95<#global currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
96<#global hasCeAuthorSiteRole = userGroupRoleLocalService.hasUserGroupRole(userId, grpId, 'cyber-expert-author', true)/> 
97 
98<#global isAdmin = UserService.hasRoleUser(companyId, 'familyzone-administrator', userId, false)> 
99 
100<#-- CHECK FOR ADMIN AND PERMISSIONS FOR EDIT IN THE SITE--> 
101<#if isAdmin> 
102    <#global hasEditPermission = true /> 
103<#else> 
104    <#if parentGroupId == grpId> 
105        <#global hasEditPermission = false /> 
106    <#else> 
107        <#if parentGroupId == articleGroupId> 
108            <#global hasEditPermission = false /> 
109        <#else> 
110            <#global hasEditPermission = permissionChecker.hasPermission(grpId,"com.liferay.journal.model.JournalArticle",jA.getResourcePrimKey(), "UPDATE") /> 
111        </#if> 
112    </#if> 
113</#if> 
114 
115<#if hasCeAuthorSiteRole && page == "" && hasEditPermission> 
116    <#global showEditControlsToCE = true/> 
117<#else> 
118    <#global showEditControlsToCE = false/> 
119</#if> 
120 
121<#if hasCeAuthorSiteRole && page == ""> 
122 
123    <#global showCopyImageControlsToCE = false/> 
124<#else> 
125    <#global showCopyImageControlsToCE = false/> 
126</#if> 
127 
128<#assign ddlRecordSetId = 228717 /> 
129<#assign ageDDLRecordSetId = 1021140 /> 
130<#assign pNotesDDLRecordSetId = 1021134 /> 
131<#assign descriptionDDLRecordSetId = 1021128 /> 
132 
133<#-- Hide the edit icon if the user is not an fz-adminstrator--> 
134<#if !isAdmin> 
135	<style> 
136		.icon-monospaced .lexicon-icon { 
137			display:none; 
138
139		.asset-actions { 
140			display:none; 
141
142 
143		.e9-smallest-heading.ages-number { 
144			font-size: 30px; 
145			font-weight: 600; 
146			margin-top: 0; 
147			line-height: 1em; 
148
149	</style> 
150</#if> 
151 
152<#-- DETERMINE WHEN SITE IS FZ OR CE --> 
153<#if grpId = parentGroupId> 
154    <#assign isParentSite = 0 /> 
155<#elseif grpId != parentGroupId> 
156    <#assign isParentSite = 1 /> 
157<#else> 
158    <#assign isParentSite = "0" /> 
159</#if> 
160 
161<#-- DETERMINE IF ARTICLE IS FROM FZ OR CE --> 
162<#if articleGroupId == parentGroupId> 
163    <#assign pageURL = themeDisplay.getURLPortal() + '/web' + groupFriendlyURL + '/-/web_content/' + urlTitle + '/' + parentGroupId /> 
164    <#assign globalPageURL = themeDisplay.getURLPortal() + '/web' + groupFriendlyURL + '/-/web_content/' + urlTitle + '/' + parentGroupId /> 
165<#else> 
166    <#assign pageURL = themeDisplay.getURLPortal() + '/web' + groupFriendlyURL + '/-/' + urlTitle /> 
167    <#assign globalPageURL = themeDisplay.getURLPortal() + '/web' + groupFriendlyURL + '/-/web_content/' + urlTitle + '/' + parentGroupId /> 
168</#if> 
169 
170 
171<#-- FEATURE TEMPLATES --> 
172<#assign app_icon_and_title = 222920/> 
173<#assign app_title_and_reviewed = 1865463/> 
174<#assign app_icon = 1937466/> 
175<#assign app_review_edit_form_controls = 222916/> 
176<#assign app_review_util_scripts = 222912/> 
177<#assign app_store_age_rating = 183115/> 
178<#assign ce_age_recommentation = 183119/> 
179<#assign cyber_expert_list = 222906/> 
180<#assign download_options = 222902/> 
181<#assign family_zone_links = 222897/> 
182<#assign feature_post = 222893/> 
183<#assign features_list = 183131/> 
184<#assign how_familyzone_helps = 222887/> 
185<#assign how_to = 222883/> 
186<#assign known_risks_chart = 183111/> 
187<#assign known_risks_chart_2 = 1939403/> 
188<#assign lead_text = 222878/> 
189<#assign main_image = 222874/> 
190<#assign presentation_notes = 222870/> 
191<#assign quick_links = 183127/> 
192<#assign recommendation_list = 182312/> 
193<#assign related_apps = 2023782/> 
194<#assign url_title = 222866/> 
195<#assign view_app_links = 182316/> 
196<#assign what_parents_need_to_know = 222861/> 
197<#assign what_users_need_to_know = 222856/> 
198<#assign recommended_or_hazardous = 2055742/> 
199<#assign share_links = 9079383/> 
200<#assign discussion = 9824487/> 
201 
202<#include "${templatesPath}/30590" /> 
203 
204 
205<script> 
206console.log(${page}); 
207 
208console.log("admin? " + ${isAdmin?c}); 
209console.log("edit permission? " + ${hasEditPermission?c}); 
210console.log("show edit controls? " + ${showEditControlsToCE?c}); 
211</script>