# adx - addressbook.xml
adx is a minimalistic but massively web enabled address book for contact management running completely in web browser.
Features: XML based, small (~350 KB), lightweight, configurable, portable, contact tagging, geo mapping, web accounts, etc.
Export functionality: vCard download, QR code generator (can be done completely offline, no external service provider needed).
Website: https://adx.elektronengehirn.net (alternative URL if your used ad blocker wrongly blocks the adx subdomain: https://elektronengehirn.net/addressbook)
## How it works: XML =={XSLT}==> HTML
Your addressbook (XML file) is transformed in your web browser (via XSLT) to a full-featured web application (HTML).
Every web browser can do this out of the box!
## Live Demo
https://elektronengehirn.net/addressbook/addressbook.xml
## Requirements
- Any modern web browser should work (e.g. Firefox, Safari, Chrome and any other Chromium-based browser)
- If you want to use adx from local disk (file://.../addressbook.xml), you need to explicitely allow your browser local file access. See https://sourceforge.net/p/adx/wiki/Home/#important-browser-workaround-needed-for-local-usage
## Getting started with adx
DOWNLOAD, UNZIP, OPEN IN BROWSER:
1. Download latest adx_addressbook.xml_v1.XX.zip release from https://sourceforge.net/projects/adx/files/latest/download
2. Unzip the downloaded file
3. Deploy the two adx files (addressbook.xml and adx2html_phonelist.xls is all you need)
- For online usage (http(s)://.../addressbook.xml) you need to upload the two adx files addressbook.xml and adx2html_phonelist.xls to any web server or web hoster
- For local usage (file://.../addressbook.xml), you must ensure that your browser has local file access. See https://sourceforge.net/p/adx/wiki/Home/#important-browser-workaround-needed-for-local-usage
4. Open URL to addressbook.xml in a modern web browser
USAGE
- Click on a entry to show details for this contact
- Most entries in contact details are clickable (e.g. direct calling phone numbers via Skype, address lookup in Google Maps, etc.)
- To add contacts just edit addressbook.xml in a text/xml editor of your choice.
## Requirements
Any modern web browser should work (e.g. Firefox, Safari, Chrome and any other Chromium-based browser like Edge, Vivaldi, Opera, Brave, etc). All of them have support for XSLT which is needed for adx to transfrom XML to HTML.
For online usage (http(s)://...) no further requirements beside that you need to host the two files addressbook.xml and adx2html_phonelist.xsl on any web server
For local usage (file://...) most browser nowadays don't allow local file access any more out of the box. Therefore you need to configure your browser to allow local file access! See https://sourceforge.net/p/adx/wiki/Home/#important-browser-workaround-needed-for-local-usage
## How to update from a previous version of adx:
- Just replace the file 'adx2html_phonelist.xsl' with the new one from this release
- The file qrcodeUTF8.min.js can be removed (since adx v1.40 it's embedded directly into the XSL file adx2html_phonelist.xsl)
## Changelog:
1.40.2 (2023-05-19)
- Fixed major bug: linebreaks in certain contact fields broke adx javascript features
1.40.1 (2023-05-10)
- Fixed: Corrected wrong attribute name in documentation for new experimental formatting (XHTML, CSS): <misc format="xhtml">...</misc> (wrong: <misc type="xhtml">...</misc>). Only documentation is affected.
- Fixed: External Tranformation to HTML with Saxon XSLT processor (saxon-he-11.5.jar) failed in case of multiple "org" elements in one contact
1.40 (2023-05-01)
New experimental features which brings totally new use cases for adx
- BETA: Settings are now also possible directy in addressbook.xml (instead of only xsl file). Enables much easier upgrading to next version. Each addressbook file can bring its own settings.
- ALPHA: Decide yourself which contact field is shown for quick access (on right side of a contact like phone nr): you just need to apply xml attribute access="quick" e.g. <email access="quick">mail@abc.com</email>
- BETA: Use arbitrary (X)HTML formatting inside tag <misc format="xhtml">
- BETA: Bring you own CSS formatting by in adx settings, e.g. <setting name="experimental__custom_css">.myBorders { border: 2px dotted; }</setting>
- BETA: adx can be also used as some kind of µCMS (Micro Content Management System) by combining the new experimental features above
Added
- Added support for priorized contact sorting (see configuration variables "contact_sort1st_tagname", "contact_sort2nd_tagname" and so on (up to 4 possible)
- Added svg favicon for simplified (and hopefully better working) favicon approach in 2022 based on https://dev.to/masakudamatsu/favicon-nightmare-how-to-maintain-sanity-3al7
- Added new account types: boardgamegeek, libre.fm (but no icon), listenbrainz, pixelfed
- Added new account type "matrix": Enter user (@), room (#), roomid (!) or direct matrix scheme URI (see examples in XML file)
- Improved handling of generic accounts which do not have a URL (starting with "http"): Value is shown as tooltip (useful for desktop systems with mouse but probably not shown on devices with touch control)
- Added special seach by contact's id (prefix "id:" is needed) in adx search field (e.g. "id:someId") or by url parameter (e.g. "search=id:someId")
- Added logo debugging (for developing): added mechanism to find out which icon is used in different browsers showed in different areas (e.g. FavIcon, bookmarks); setting "debug" must be "YES"
Changed
- Embedded external QR Code Javascript library into adx2html_phonelist.xsl. The file "qrcodeUTF8.min.js" is not needed any more
- Updated QR Code library to latest version
Fixed
- Font sizes were not consistent on mobile browsers due to automatic font boosting/inflating
- Several issue fixed for vCard export (comas and semicolons are now escaped, missing tags in certain cases, corrected handling of variable exports_vcard_mimetype)
- Fixed invalid phone link when phone_internationalAreaCode_default was not defined in xml settings and no coutry prefix was defined for phone nr
- Fixed: Removed unnecessary line break in case of empty name tags
- Empty contacts on left side do not have the "Show/hide details" click handler any more
- Fixed complaints by W3 HTML Validator about automatic built contact's IDs (e.g. whitespaces and "=") by removing several (potentially) problematic characters
- Fixed loading adx locally via HTML: Replaced all occurrences of "DOLLAR{tag}" by "{tag}" (otherwise interpreted as expression of javascript template literal)
- Fixed loading adx locally via HTML: removed backtick occurrence (icon note for testing) as preparation to use this XSLT file as javascript template literal
- Fixed: missing Dollar char was missing when accessing showing variable variable_overwriting_by_xml in debug window
Older changelogs: https://sourceforge.net/p/adx/wiki/Changelog/
## License
BSD (Open Source)
## More infos:
- Homepage: https://adx.elektronengehirn.net
- Sourceforge project: https://sourceforge.net/projects/adx/