ID card portlet

An error occurred while processing the template.
The following has evaluated to null or missing:
==> person  [in template "14406#14456#2584331" at line 2, column 31]

----
Tip: If the failing expression is known to be 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: ${person.getFullName()}  [in template "14406#14456#2584331" at line 2, column 29]
----
1<div class="name-title-container"> 
2    <h1 class="person-name">${person.getFullName()}</h1> 
3    <span class="title">${translations.getTranslation(locale, person.getTitle())}</span> 
4</div> 
5<div class="person-info"> 
6    <div class="info"> 
7        <div class="expertise"> 
8            <#if localizedExpertiseList?has_content> 
9                <div class="info-row"> 
10                    <span class="info-label"><@liferay.language key="valvira-person-card-label-expertise"/></span> 
11                    <span class="info-value">${localizedExpertiseList}</span> 
12                </div> 
13            </#if> 
14        </div> 
15        <div class="contact-info"> 
16            <#if person.getPhone()?has_content> 
17                <div class="info-row"> 
18                    <span class="info-label"><@liferay.language key="valvira-person-card-label-phone"/></span> 
19                    <span class="info-value">${person.getPhone()}</span> 
20                </div> 
21            </#if> 
22            <#if obfuscatedEmail?has_content> 
23                <div class="info-row"> 
24                    <span class="info-label"><@liferay.language key="valvira-person-card-label-email"/></span> 
25                    <span class="info-value">${obfuscatedEmail}</span> 
26                </div> 
27            </#if> 
28            <#if person.getFax()?has_content> 
29                <div class="info-row"> 
30                    <span class="info-label"><@liferay.language key="valvira-person-card-label-fax"/></span> 
31                    <span class="info-value">${person.getFax()}</span> 
32                </div> 
33            </#if> 
34        </div> 
35        <#if person.getAdditionalInfo()?has_content> 
36            <div class="additional-info"> 
37                <div class="info-row clearfix"> 
38                    <div class="info-label"><@liferay.language key="valvira-person-card-label-additionalinfo"/></div> 
39                    <div class="info-value">${person.getAdditionalInfo()}</div> 
40                </div> 
41            </div> 
42        </#if> 
43    </div> 
44</div>