Upload
martin-leyrer
View
169
Download
4
Embed Size (px)
Citation preview
ICONUK 2016
Martin Leyrer, IBM Austria
London, 2016-09-15
Feed me, Seymour! Supplemental User Data For IC Profiles
Martin Leyrer - IBM
● IBM Collaboration Solutions IT-Specialist with IBM Austria
● ICS product stack since 1995
● IBM e-mail: [email protected]
● E-mail: [email protected]
● Twitter: http://www.twitter.com/leyrer
● Facebook: https://www.facebook.com/leyrer
● Blog: http://www.leyon.at
Department For Environment Food & Rural Affairs (D E F R A)
State Veterinary Service, Animal Health OfficeHadrian House, Wavell Drive
Rosehill Industrial EstateCarlisle, CA1 2TBUnited Kingdom
GB Technical ServicesUnit W7a
Warwick House18 Forge Lane
Minworth Industrial ParkMinworth
Sutton Coldfield B76 1AHUnited Kingdom
Technote #1698402
An enhancement request for increasing the limit has been raised under APAR LO33688 for
development consideration for a future release.
Former Technote #1968915
db2 "ALTER TABLE EMPINST.EMPLOYEE ALTER COLUMN
PROF_PHYSICAL_DELIVERY_OFFICE SET DATA TYPE VARCHAR(64)"
profiles_tdi.properties
country_table_csv_separator=;country_table_csv_file=isocc.csv
department_table_csv_separator=;department_table_csv_file=deptinfo.csv
organization_table_csv_separator=;organization_table_csv_file=orginfo.csv
workloc_table_csv_separator=;workloc_table_csv_file=workloc.csv
isocc.csv
...gb;Great Britain
gd;Grenadage;Georgia
gf;French Guyanagh;Ghanagi;Gibraltar
gl;Greenland...
profiles_functions.js
function func_country2lower(fieldname) { var result = work.getString("c");
result = result.toLowerCase(); return result;}
map_dbrepos_from_source.properties
...calendarUrl=null
countryCode={func_country2lower}courtesyTitle=null
...
workloc.csv
lookupcode;addr1;addr2;city;state;zip
007;"76/78 Upper Ground";"South Bank";"Lambeth";"Greater London";”SE1 9PZ”
042;”Obere Donaustraße 95”;;”Vienna”;”Vienna”; “1020”
ProfileDetails.ftl
<@util.renderProperty ref="workLocationCode" dataId="workLocation" dataKey="city"nlsKey="label.workLocation.city" hideIfEmpty=true ;ref, dataId, dataKey, nlsKey, nlsBundle>…
</@util.renderProperty><@util.renderProperty ref="workLocationCode"
dataId="workLocation" dataKey="state"nlsKey="label.workLocation.state" hideIfEmpty=true ;ref, dataId, dataKey, nlsKey, nlsBundle>...
ProfileDetails.ftl
<@util.renderProperty ref="workLocationCode"dataId="workLocation" dataKey="address1"nlsKey="label.workLocation.address1"
hideIfEmpty=true; ref, dataId, dataKey, nlsKey,nlsBundle><@util.renderValue ref=ref dataId=dataId
dataKey=dataKey/>,</@util.renderProperty>
ProfileDetails.ftl
<@util.renderProperty ref="workLocationCode"dataId="workLocation" dataKey="address2"nlsKey="label.workLocation.address2"
hideIfEmpty=true; ref, dataId, dataKey, nlsKey,nlsBundle><@util.renderValue ref=ref dataId=dataId
dataKey=dataKey/>,</@util.renderProperty>
ProfileDetails.ftl
<@util.renderProperty ref="workLocationCode"dataId="workLocation" dataKey="postalCode"nlsKey="label.workLocation.address1"
hideIfEmpty=true;ref, dataId, dataKey, nlsKey, nlsBundle><@util.renderValue ref=ref dataId=dataId
dataKey=dataKey/></@util.renderProperty>
orginfo.csv
lookupcode;name
23;"Chaos Computer Club"23;"h2g2"360;”IBM”
"RkReÜAÜG";"Rinderkennzeichnungs- und Rindfleischetikettierungsüberwachungsaufgabe
nübertragungsgesetz"
deptinfo.csv
lookupcode;name
42;"Local Planning Department, Subdivision Alpha Centauri"
43;"Sirius Cybernetics Corporation Marketing Department"
ProfileDetails.ftl
<@util.renderProperty ref="deptNumber" dataId="department"dataKey="departmentTitle"nlsKey="label.departmentDisplayValue" hideIfEmpty=true;
ref, dataId, dataKey, nlsKey, nlsBundle><@util.renderValue ref=ref dataId=dataId
dataKey=dataKey/> <br/> </@util.renderProperty>
Although deptNumber is listed in the documentation, the field is actually not
defined in profiles-types.xml.
=> It will never display on UI.
Profiles-type.xml
<property><ref>workLocationCode</ref><updatability>read</updatability><hidden>false</hidden>
</property> <property>
<ref>deptNumber</ref> <updatability>read</updatability> <hidden>false</hidden> </property>
businessCardInfo.ftl
<@util.renderProperty ref="orgId" dataId="organization" dataKey="organizationTitle" nlsKey="label.organizationTitle" hideIfEmpty=true ; ref, dataId, dataKey, nlsKey, nlsBundle> <@util.renderValue ref=ref dataId=dataId dataKey=dataKey/>, </@util.renderProperty>
businessCardInfo.ftl
<@util.renderProperty ref="deptNumber" dataId="department" dataKey="departmentTitle" nlsKey="label.departmentDisplayValue" ; ref, dataId, dataKey, nlsKey, nlsBundle> <@util.renderValue ref=ref dataId=dataId dataKey=dataKey/> <br/> </@util.renderProperty>
businessCardInfo.ftl
<@util.renderProperty ref="workLocationCode" dataId="workLocation" dataKey="address1"
nlsKey="label.workLocation.address1" hideIfEmpty=true ; ref, dataId, dataKey, nlsKey, nlsBundle><@util.renderValue ref=ref
dataId=dataId dataKey=dataKey/>,</@util.renderProperty><@util.renderProperty ref="workLocationCode"
dataId="workLocation" dataKey="address2" nlsKey="label.workLocation.address2" hideIfEmpty=true ; ref, dataId, dataKey, nlsKey, nlsBundle><@util.renderValue ref=ref
dataId=dataId dataKey=dataKey/>,</@util.renderProperty>
businessCardInfo.ftl
<<@util.renderProperty ref="workLocationCode" dataId="workLocation" dataKey="postalCode" nlsKey="label.workLocation.address1" hideIfEmpty=true ; ref, dataId, dataKey, nlsKey, nlsBundle><@util.renderValue ref=ref dataId=dataId dataKey=dataKey/></@util.renderProperty>
SearchResults.ftl
<@util.renderProperty ref="deptNumber" dataId="department" dataKey="departmentTitle"
nlsKey="label.departmentDisplayValue" ; ref, dataId, dataKey, nlsKey, nlsBundle>
<div class='bidiAware'> <@util.renderValue ref=ref dataId=dataId
dataKey=dataKey/></div>
</@util.renderProperty>
SearchResults.ftl
<@util.renderProperty ref="workLocationCode" dataId="workLocation" dataKey="address1"
nlsKey="label.workLocation.address1" hideIfEmpty=true ; ref, dataId, dataKey, nlsKey,
nlsBundle><div class='bidiAware'>
<@util.renderValue ref=ref dataId=dataId dataKey=dataKey/>,
</@util.renderProperty>
SearchResults.ftl
<@util.renderProperty ref="workLocationCode" dataId="workLocation" dataKey="address2"
nlsKey="label.workLocation.address2" hideIfEmpty=true ; ref, dataId, dataKey, nlsKey,
nlsBundle><div class='bidiAware'>
<@util.renderValue ref=ref dataId=dataId dataKey=dataKey/>,
</@util.renderProperty>
SearchResults.ftl
<@util.renderProperty ref="workLocationCode" dataId="workLocation" dataKey="postalCode"
nlsKey="label.workLocation.address1" hideIfEmpty=true; ref, dataId, dataKey, nlsKey, nlsBundle>
<@util.renderValue ref=ref dataId=dataId dataKey=dataKey/>
</@util.renderProperty>
Mapping user profile attributes to report dimensions
<userAttributesMappings><!--<mapping metricsName="attribute1"
profilesName="com.ibm.snx_profiles.base.countryCode"/><mapping metricsName="attribute2"
profilesName="com.ibm.snx_profiles.base.orgId"/><mapping metricsName="attribute3"
profilesName="com.ibm.snx_profiles.base.title"/>-->
<mapping metricsName="attribute1" profilesName="com.ibm.snx_profiles.base.countryCode"/><mapping metricsName="attribute2" profilesName="com.ibm.snx_profiles.base.workLocationCode"/>
<mapping metricsName="attribute3" profilesName="com.ibm.snx_profiles.ext.customAttribute"/>
</userAttributesMappings>
Draw a Blank in ProfileDetails.ftl
<@util.renderProperty ...><@util.renderValue ref=ref dataId=dataId dataKey=dataKey/>, </@util.renderProperty>
Questions?
117
Martin Leyrer
IT-Specialist at IBM Austria
E-mail: [email protected]
Twitter: http://www.twitter.com/leyrer
FB: https://www.facebook.com/leyrer
Blog: http://www.leyon.at
Slideshare:http://www.slideshare.net/Martin.Leyrer
Links
● Falsehoods programmers believe about addresses: https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/
● Country Codes - ISO 3166: http://www.iso.org/iso/country_codes
● Customizing Profiles: http://www.ibm.com/support/knowledgecenter/SSYGQH_5.5.0/admin/customize/c_admin_profiles_customizing.html
● CodesConnector: http://www.ibm.com/support/knowledgecenter/en/SSYGQH_5.5.0/admin/admin/t_admin_profiles_using_codes_connector.html
● Technote #1698402: Some users cannot be populated as PROF_PHYSICAL_DELIVERY_OFFICE limited to 32 characters: http://www-01.ibm.com/support/docview.wss?uid=swg21698402