User settings can be adjusted for each adx xml file (e.g. addressbook.xml) indivdually.
Please use adx version 1.50 or newer.
XML Structure for user settings in adx xml file:
<addressbook>
<settings>
<setting name="example_setting">exampleValue</setting><!-- Description -->
...
</settings>
<!-- contacts -->
</addressbook>
Note: All settings can be also applied globally in adx2html_phonelist.xsl (but must be reapplied on each new adx version)
Each setting in the example below is optional and shows the default value (in most cases).
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="adx2html_phonelist.xsl"?>
<addressbook id="test for user settings">
<settings>
<setting name="headline_text">My address book</setting>
<setting name="anniversary_output_format">YYYY-MM-DD</setting><!-- e.g. DD.MM.YYYY for german date format-->
<setting name="anniversary_highlightUpcoming">YES</setting>
<setting name="phone_protocol">skype:</setting><!-- default is "tel:" -->
<setting name="accounts_skype_showAsQuickAccess">YES</setting>
<setting name="details_expanded_default">NO</setting>
<setting name="exports_show_default">NO</setting>
<setting name="photo_show">YES</setting>
<setting name="comment_show">NO</setting>
<setting name="grouping_show_default">high,medium</setting>
<setting name="contacts_sorting">YES</setting>
<setting name="map_href">https://www.google.com/maps/search/?api=1&query=</setting>
<setting name="map_geo_href">https://www.google.com/maps/search/?api=1&query={latitude},{longitude}</setting>
<setting name="debug">NO</setting>
</settings>
<!-- one dummy contact -->
<contact id="id"><forename>Forename</forename><middlename>Middlename</middlename><surname>Surname</surname><title>Title</title><displayname>1:1 Dummy</displayname><nickname>Nickname</nickname><adr type="home"><street>HomeStreet 1</street><postalcode>1111</postalcode><city>HomeCity</city><state>HomeState</state><country>HomeCountry</country></adr><geo name="" format="latitude;longitude">41.694588;44.810597</geo><geo name="" format="what3words">myth.folk.cure</geo><phone use="home">+49 089 / 1-10173</phone><phone use="home" type="mobile">+49 175 / 1-10173</phone><phone use="home" type="fax">+49 089 / 1-10173 - 744</phone><email use="home">email@home.com</email><website display="">www.website.com</website><birthday>1900-01-23</birthday><nameday>12-21</nameday><anniversary type="DummyAnniversary">1950-01-24</anniversary><photo/><tag>YourCustomTag</tag><tag>adx:frequency=high</tag><tag>xfn:rel=friend met</tag><misc type="misc" format="xhtml" access="quick"><b>Example to show how every xml tag is mapped to the web view.</b></misc><misc type="misc" format="xhtml" access="quick"><b>By using the xml tag name for the values (1:1) you can</b></misc><misc type="misc" format="xhtml" access="quick"><b>easily see which xml tag is used, e.g. <i><misc>misc</misc></i></b></misc><misc>misc</misc><org idref="">Org</org><orgunit>Orgunit</orgunit><position>Position</position><website type="work">www.org.com</website><comment type="CommentTypeOne">Comment One</comment><comment type="CommentTypeTwo">Comment Two</comment></contact>
</addressbook>
See below the list of all supported user settings.
If you want to disable user settings in adx xml files (addressbook.xml), you can disable it in file adx2html_phonelist.xsl by changing following variable from "$YES" to "$NO"
<xsl:variable name="variable_overwriting_by_xml" select="$NO"/>
Documentation generated from adx version (for 1.50)
Headline of addressbook
Examples
<setting name="headline_text">My address book</setting>
<setting name="headline_text">My contacts</setting>
Type: string
Tags: visualization
Shows/hides headline on loading adx
Supported Values
<setting name="headline_show_default">YES</setting>
<!-- Default value -->
<setting name="headline_show_default">NO</setting>
Description: After adx was loaded the headline can be shown/hidden on demand by menu item "Header "
Tags: visualization
Highlights upcoming birthdays in red
Supported Values
<setting name="anniversary_highlightUpcoming">YES</setting>
<!-- Default value -->
<setting name="anniversary_highlightUpcoming">NO</setting>
Description: The closer the birthday the more the contact name will become a red font
Tags: Visualization
Defines output format of anniversary fields.
Examples
<setting name="anniversary_output_format">YYYY-MM-DD</setting>
<setting name="anniversary_output_format">DD.MM.YYYY</setting>
<!-- Default value -->
Description: Following tokens can be used: "YYYY", "MM", "DD" (e.g. YYYY-MM-DD, DD.MM.YYYY); Caution: the birthday in the input xml file must be always formatted as folowing: "YYYY-MM-DD"
Type: string
Tags: Visualization
Defines if the menu bar at top is shown or hidden.
Supported Values
<setting name="menu_show">YES</setting>
<!-- Default value -->
<setting name="menu_show">NO</setting>
Description: You can not toggle the menu bar once adx was loaded. If hidden you might miss some functionality accessible from the menu bar. Note: for µCMS you might want to hide the menu
Tags: Visualization, Functional, µCMS
Opacity of menu bar.
Examples
<setting name="menu_opacity">0.9</setting>
<!-- Default value -->
<setting name="menu_opacity">1.0</setting>
Description: Default value: 0.9 (slight transparency); Values between 0.8 (slight transparency) and 1.0 (no transparency) are recomended.
Type: number between 0.0 (not visible) and 1.0
Tags: Visualization, Deprecated, ReplaceByCSS
Enables/disables shadow of menu bar on top of the page
Supported Values
<setting name="menu_shadow">YES</setting>
<!-- Default value -->
<setting name="menu_shadow">NO</setting>
Tags: Visualization, Deprecated, ReplaceByCSS
If set to NO then the contact headers are not clickable to toggle details.
Supported Values
<setting name="details_toggle_enabled">YES</setting>
<!-- Default value -->
<setting name="details_toggle_enabled">NO</setting>
Description: Important: This means you can control if the details are permanently shown/hidden only via setting "details_expanded_default".
Note: For µCMS this setting might be relevant.
Tags: Visualization, Functional, µCMS
Defines if the contact details (left side) are expanded (YES) or collapsed (NO) by default after adx started.
Supported Values
<setting name="details_expanded_default">YES</setting>
<setting name="details_expanded_default">NO</setting>
<!-- Default value -->
Description: This setting is not permanent and can be changed by user. Exception: if setting "details_toggle_enabled" is set to NO, this setting is permanent.
Tags: Visualization, Functional
Defines if the export links (QR, vCard) left from contact header are visible by default.
Supported Values
<setting name="exports_show_default">YES</setting>
<setting name="exports_show_default">NO</setting>
<!-- Default value -->
Tags: Functional
Can be adjusted for better integration in your operating system when you download a vCard (default value: text/vcard)
Examples
<setting name="exports_vcard_mimetype">text/vcard</setting>
<!-- Default value -->
<setting name="exports_vcard_mimetype">text/plain</setting>
Tags: Functional, Expert
If enabled, phone numbers get a an according phone icon as prefix.
Supported Values
<setting name="phone_icons_show">YES</setting>
<setting name="phone_icons_show">NO</setting>
<!-- Default value -->
Tags: Visualization
If defined a phone number's leading zero (e.g. 0123456) will be replaced by phone_internationalAreaCode_default (e.g. for "+49" it will become +49123456)
Examples
<setting name="phone_internationalAreaCode_default">+49</setting>
<setting name="phone_internationalAreaCode_default">0049</setting>
Description: This setting may become convenient if you want to convert automatically all national phone numbers into international phone numbers (e.g. 0123456 -> +49123456).
Limitations:
1. All national phone numbers in your addressbook needs to be in same country (otherwise you will call into a wrong country)
2. Will not work if you have phone numbers which are already in international format starting with zero (e.g. 0049123... would become +49049123 which is invalid)
Tags: Functional, Expert, Experimental
Protocol used when you click on a phone number (e.g. tel:)
Examples
<setting name="phone_protocol">tel:</setting>
<!-- Default value -->
<setting name="phone_protocol">callto:</setting>
Description: Meaningful values: "tel:", "callto:", etc; see also https://css-tricks.com/the-current-state-of-telephone-links/
Tags: Functional, Advanced
If enabled, skype accounts are shown on the contact's right side (quick access area) for quick initiating of of skype calls (w/o need to expand the contact details)
Supported Values
<setting name="accounts_skype_showAsQuickAccess">YES</setting>
<!-- Default value -->
<setting name="accounts_skype_showAsQuickAccess">NO</setting>
Tags: Functional
If enabled, the contact's photo is shown.
Supported Values
<setting name="photo_show">YES</setting>
<!-- Default value -->
<setting name="photo_show">NO</setting>
Tags: Visualization
Defines saturation (color) of contact's account icons.
Examples
<setting name="accounts_icon_saturation_basic">10%</setting>
<!-- Default value -->
<setting name="accounts_icon_saturation_basic">50%</setting>
<setting name="accounts_icon_saturation_basic">100%</setting>
Description: Can be used for removing color from account icons (example value: 10%). See also setting "accounts_icon_saturation_groupHover"
Type: percentage
Tags: Visualization
Defines saturation (color) of contact's account icons when hovering the icon group.
Examples
<setting name="accounts_icon_saturation_groupHover">50%</setting>
<setting name="accounts_icon_saturation_groupHover">60%</setting>
<!-- Default value -->
<setting name="accounts_icon_saturation_groupHover">70%</setting>
Description: See also setting "accounts_icon_saturation_basic"
Type: percentage
Tags: Visualization
Defines which of the adx frequency groups (high, medium, low) are shown by default after adx start-up.
Examples
The values "high", "medium" and "low" can be used as single values or as comma separated list
<setting name="grouping_show_default">high,medium</setting>
<!-- Default value -->
<setting name="grouping_show_default">high,medium,low</setting>
<setting name="grouping_show_default">high</setting>
<setting name="grouping_show_default">medium</setting>
<setting name="grouping_show_default">low</setting>
Description: Note: Each contact can be assigned to exactly one adx frequency group. Assignment is done by the tag "adx:frequency=..."(e.g. <tag>adx:frequency=high</tag>). Supported values: high, medium, low, none
Type: Comma separated list of "high", "medium", "low"
Tags: Visualization
Formatting of contact groups separator
Examples
<setting name="grouping_separator_borderStyle">dashed</setting>
<!-- Default value -->
<setting name="grouping_separator_borderStyle">dotted</setting>
<setting name="grouping_separator_borderStyle">solid</setting>
<setting name="grouping_separator_borderStyle">none</setting>
Description: This formatting applies to the small part of middle vertical line between contact fequency groups (high, medium, low). Possible values: all CSS border styles.
Type: All CSS border styles like "dashed", "dotted", "solid", etc
Tags: Visualization, Deprecated, ReplaceByCSS
Folksonomy (see Wikipedia, http://microformats.org/wiki/rel-tag).
Examples
<setting name="folksonomy_href">http://adx.elektronengehirn.net/tags/{tag}</setting>
<!-- Default value -->
<setting name="folksonomy_href">http://www.flickr.com/photos/tags/{tag}</setting>
<setting name="folksonomy_href">http://upcoming.yahoo.com/tag/{tag}</setting>
<setting name="folksonomy_href">http://technorati.com/tag/{tag}</setting>
<setting name="folksonomy_href">http://kitchen.technorati.com/contacts/tag/{tag}</setting>
<setting name="folksonomy_href">http://www.amazon.com/tag/{tag}</setting>
<setting name="folksonomy_href">http://yedda.com/questions/tags/{tag}</setting>
<setting name="folksonomy_href">http://www.youtube.com/results?search_query={tag}</setting>
Description: Template for non-functional folksonomy URL. {tag} will be replaced by the value of <tag></tag>
Tags: Semantic, Advanced, Experimental, Outdated?
Defines web map service provider used for addresses (e.g. Google Maps, Open Street Map, Bing Maps, Qwant Maps).
Examples
<setting name="map_href">https://www.google.com/maps/search/?api=1&query=</setting>
<setting name="map_href">https://www.openstreetmap.org/search?query=</setting>
<!-- Default value -->
<setting name="map_href">https://www.bing.com/maps/default.aspx?q=</setting>
<setting name="map_href">https://www.qwant.com/maps?q=</setting>
Description: You can define the URL template for map web services used for addresses of the contacts. You may pick one of the examples or choose another. The contact's address is appended after the URL template and opened in browser.
Tags: Functional, Advanced
Define web map service provider used for geo information (latitude, longitude). E.g. Google Maps, Open Street Maps, ...
Examples
Open Street Map
<setting name="map_geo_href">https://www.openstreetmap.org/?mlat={latitude}&mlon={longitude}&zoom=18&layers=M</setting>
Google Maps
<setting name="map_geo_href">https://www.google.com/maps/search/?api=1&query={latitude},{longitude}</setting>
Marker is shown for geo coordinates. See also: https://developers.google.com/maps/documentation/urls/get-started#search-action and https://stackoverflow.com/questions/1801732/how-do-i-link-to-google-maps-with-a-particular-longitude-and-latitude/52943975
Google Maps (directions)
<setting name="map_geo_href">https://www.google.com/maps/dir/?api=1&destination={latitude},{longitude}</setting>
Starts Google Maps in travel mode to get directions. Optional parameter for travel mode, e.g. "travelmode=bicycling". See also: https://developers.google.com/maps/documentation/urls/get-started#directions-action
Google Maps (Street View)
<setting name="map_geo_href">https://www.google.com/maps/@?api=1&map_action=pano&viewpoint={latitude},{longitude}</setting>
Starts Google Maps in Street View mode. See also: https://developers.google.com/maps/documentation/urls/get-started#street-view-action
iOS Google Maps
<setting name="map_geo_href">comgooglemapsurl://maps.google.com/?q=@{latitude},{longitude}</setting>
Open Google Maps in iOS (status: seems not to work!?). See https://developers.google.com/maps/documentation/urls/ios-urlscheme
Bing Maps
<setting name="map_geo_href">https://www.bing.com/maps/?v=2&cp={latitude}~{longitude}&lvl=17&dir=0&sty=h&q={latitude},{longitude}</setting>
Quant Maps
<setting name="map_geo_href">https://www.qwant.com/maps/place/latlon:{latitude}:{longitude}</setting>
HERE WeGo Maps
<setting name="map_geo_href">https://share.here.com/l/{latitude},{longitude}</setting>
See also https://developer.here.com/documentation/deeplink-web/dev_guide/topics/share-location.html
Known issue: TITLE can not be used as the URL does not work if geo name is not defined in adx.
Google Earth
<setting name="map_geo_href">https://earth.google.com/web/@{latitude},{longitude}</setting>
Issue: view is too close to the ground!? How to zoom out?
geo: protocol
<setting name="map_geo_href">geo:{latitude},{longitude}</setting>
E.g. for Android to open in Google Maps App (geo intent).
On a Desktop OS (like Linux, Windows) the browser may ask/open it in an own Desktop application.
There's also a param for z=[zoom] which can be hardcoded or should be omitted, e.g.: geo:{latitude},{longitude}?z=10)
geo: protocol with marker
<setting name="map_geo_href">geo:{latitude},{longitude}?q={latitude},{longitude}</setting>
geo: protocoal alternative with marker. See also https://stackoverflow.com/a/41634648
geo: protocol with marker and label
<setting name="map_geo_href">geo:{latitude},{longitude}?q={latitude},{longitude}({name},{name})</setting>
geo: protocoal alternative with marker and label/name. See also https://stackoverflow.com/a/41634648
Description: URL template for geo information (available parameters usable in the URL: "{latitude}", "{longitude}" and "{name}"). See examples.
Tags: Functional, Advanced
Defines default parameters used for integration into browser's search engine. See https://sourceforge.net/p/adx/wiki/Home/#integrate-adx-in-browser-search-firefox-option-1
Examples
<setting name="browser_searchengine_parameters">showdetails=0</setting>
<setting name="browser_searchengine_parameters">showdetails=1</setting>
<setting name="browser_searchengine_parameters">showdetails=1,showexport=1,showheader=1,frequencyhigh=1,frequencymedium=1,frequencylow=1</setting>
<!-- Default value -->
Description: Web browsers may auto-detect adx's HTML search form and provide the possibility to add adx as search engine. Several URL parameter can be defined as comma separated parameters (key-value-pairs, 1=true, 0=false):
- showdetails
- showexport
- showheader
- frequencyhigh
- frequencymedium
- frequencylow
Tags: Functional, Advanced
Link to customized logo used in adx
Examples
Any URL to an image
<setting name="logo_href">https://adx.elektronengehirn.net/adx_128.png</setting>
PNG with 128x128 pixel
With data URI you can embed it directly in addressbook xml file
<setting name="logo_href">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0AQMAAAAHA5RxAAAAA1BMVEUAlP+fVZ1JAAAAG0lEQVR4Ae3BAQ0AAADCIPunNsc3YMQBAAAABxDgAAFDAkEZAAAAAElFTkSuQmCC</setting>
simple logo with blue as only color to keep the example small (as PNG with 180x180 pixel)
Favorite icon as URL
<setting name="logo_href">https://adx.elektronengehirn.net/favicon.ico</setting>
**Image as relative path to addressbook xml file **
<setting name="logo_href">images/mylogo.png</setting>
Description: URL to logo shown at the bottom and used for various icons in web browser (bookmarking, tab icon, etc); Same image formats supported as the browser (e.g. PNG, GIF, JPG, SVG, ICO, etc). Possible values: URL to image or embedded as URI Data
Tags: Visualization
Link to customized logo with protection zone for bigger sizes (> 48x48 pixel). This is used for apple-touch logos with sizes 60x60 pixel and higher
Examples
With data URI you can embed it directly
<setting name="logo_href_protectionzone">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0AQMAAAAHA5RxAAAABlBMVEXr9/8AlP/F2nihAAAAKElEQVR4Ae3IMQEAQAgEoG/wlW2uuxFOGHlX8Xur6Pfee++99957gg2pkn/y1kKi7AAAAABJRU5ErkJggg==</setting>
simple square logo in blue surrounded by grey protection zone (180x180 pixel)
Any URL to an image
<setting name="logo_href_protectionzone">https://adx.elektronengehirn.net/adx_128.png</setting>
PNG with 128x128 pixel
Your image as relative path
<setting name="logo_href_protectionzone">mylogo_withprotectionzone.png</setting>
Description: If you're unsure just use the same value as for setting "logo_href"
Tags: Visualization, Deprecated?
Customize the link when users clicks on logo at footer
Examples
<setting name="logo_footer_link_href">https://elektronengehirn.net/addressbook</setting>
<!-- Default value -->
<setting name="logo_footer_link_href">https://mywebsite.com</setting>
Tags: Functional
Debugging, e.g. for develop
Supported Values
<setting name="debug">YES</setting>
<setting name="debug">NO</setting>
<!-- Default value -->
Description: If enabled there's an additional item in menu and icon debugging at bottom
Tags: Functional
Controls if contacts are sorted (YES) or listed in the same order as in the xml file (NO)
Supported Values
<setting name="contacts_sorting">YES</setting>
<!-- Default value -->
<setting name="contacts_sorting">NO</setting>
Description: if set to YES, the settings variable "contacts_sorting_*" (1st, 2nd, 3rd, 4th) variables can be used to define the prioritized sort order based on contact fields
Notes:
- Contact sorting happens always within the groups defined by adx:frequency (high, medium, low)
- for µCMS: set to NO to preserve your own order.
Tags: Functional, µCMS
Selection of sorting field (tagname) with priority 1 (highest)
Examples
<setting name="contacts_sorting_1st">displayname</setting>
<!-- Default value -->
<setting name="contacts_sorting_1st">nickname</setting>
<setting name="contacts_sorting_1st">forename</setting>
<setting name="contacts_sorting_1st">surname</setting>
Empty for no further sorting
Description: See also settings "contacts_sorting" for enabling/disabling sorting. See the overall 4 "contacts_sorting_*"
Tags: Functional
Selection of sorting field (tagname) with priority 2.
Examples
<setting name="contacts_sorting_2nd">nickname</setting>
<!-- Default value -->
Description: See also settings "contacts_sorting" for enabling/disabling sorting. See the overall 4 "contacts_sorting_*"
Tags: Functional
Selection of sorting field (tagname) with priority 3.
Examples
<setting name="contacts_sorting_3rd">surname</setting>
<!-- Default value -->
Description: See also settings "contacts_sorting" for enabling/disabling sorting. See the overall 4 "contacts_sorting_*"
Tags: Functional
Selection of sorting field (tagname) with priority 4 (lowest).
Examples
<setting name="contacts_sorting_4th">forename</setting>
<!-- Default value -->
Description: See also settings "contacts_sorting" for enabling/disabling sorting. See the overall 4 "contacts_sorting_*"
Tags: Functional
If set to YES, Inside tag <misc format="xhtml">...</misc> all (X)HTML tags/attributes are preserved which can be used for formatting (see examples below).
Warning: Also javascript is possible (see example below) which may be a security issue if you don't trust the editor of your addressbook xml file.
Supported Values
If set to NO, no (X)HTML tags/attributes inside tag <misc format="xhtml">...</misc> will be preserved. Only the pure text is preserved:
<setting name="experimental__formatting_misc_enabled">NO</setting>
<!-- Default value -->
If set to YES, all (X)HTML tags/attributes inside tag <misc format="xhtml">...</misc> will be preserved:
<setting name="experimental__formatting_misc_enabled">YES</setting>
See examples below how to use formatting inside <misc format="xhtml">...</misc>
Examples
Several (X)HTML Formattings incl a link
<misc format="xhtml"><b>bold</b>, <i>italic</i>, <s>strike</s> and a <a href="https://eff.org">link</a></misc>
Linebreaks
<misc format="xhtml">Text with <br/> linebreak</misc>
Don't forget to close every tag to ensure well-formed XML!
Predefined CSS classes for text formatting
<misc format="xhtml"><span class="primary">primary</span>, <span class="info">info</span>, <span class="warning">warning</span>, <span class="error">error</span></misc>
Supported CSS classes: primary, secondary, info, warning, danger, alert, error, success and fail.
Apply own CSS styles
<misc format="xhtml"><span style="border: 1px solid"> text with border </span></misc>
Javascript injection
<misc format="xhtml"><a href="#" onclick="javascript:alert('javascript injection successful. Be aware that this may be a security issue!');">javascript injection</a></misc>
Tags: Visualization, Functional
Examples
<setting name="experimental__custom_css">.formattedtag a:hover { color: #cc7253; }</setting>
<setting name="experimental__custom_css">.formattedtag $InsertYourTagHere {color: blue}</setting>
Type: Define your custom CSS for adx
Tags: Visualization, Experimental
Shows/hides contact's <comment> permanently</comment>
Supported Values
<setting name="comment_show">YES</setting>
<setting name="comment_show">NO</setting>
<!-- Default value -->
Description: See also setting "comment_expand_default"
Tags: Functional, Experimental
Conrtols if the contact's <comment> is expanded/collapsed by default after adx start-up</comment>
Supported Values
<setting name="comment_expand_default">YES</setting>
<setting name="comment_expand_default">NO</setting>
<!-- Default value -->
Description: Pre-requisite: setting "comment_show" must be YES (otherwise the comment is not shown at all)
Tags: Functional, Experimental