Welcome, this wiki is for documentation of adx.
You can find here information how adx works, tips and tricks, etc.
Table of contents:
adx (addressbook.xml) is a simple but massively web enabled address book in your web browser (no server components needed).
Supported web accounts: Skype, LinkedIn, Facebook, Xing, ebay, Flickr, Picasa, YouTube, MySpace, Twitter, Soup, ICQ, AIM, YIM, MSNIM, Jabber, Picasa, Google, Spin.de, last.fm, SourceForge, DeviantArt, identi.ca, bebo, studiVZ, qype.com, brightkite.com, hi5.com, quarterlife.com, amiestreet.com, hellotxt, etc. See [Accounts] for full list
Supported Microformats:
How it works: addressbook.xml + XSLT = HTML in your web browser
http://elektronengehirn.net/addressbook/addressbook.xml
To add contacts just edit addressbook.xml in a text editor of your choice
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 modern browser 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 details in following.
A workaround for your browser is only needed if you want to use adx locally (file://...) instead of online (http(s)://....)
With introduced restrictions to access local files in Mozilla Firefox version 68, adx does not work any more out of the box (because the opened addressbook.xml in the browser is not allowed to access the needed XSL to do the transformation to HTML). for details about restriction reasons see here.
On opening adx you will get then probably an empty browser screen and an error message on browser web Console like following:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at file:///.../adx2html_phonelist.xsl. (Reason: CORS request not http).
Workaround A:
You can also use adx locally by setting up a local web server and access adx by something like http://localhost/adx/addressbook.xml
Workaround B:
In order to be still able to run adx locally ("file://...") you can apply a workaround by changing internal Firefox config. But please be aware that disabling this security setting is at your own risk!
1. Enter about:config
as URL in Firefox
2. Set security.fileuri.strict_origin_policy
to true
. See "security.fileuri.strict_origin_policy" for more details.
Note: Setting privacy.file_unique_origin
to false
allowed also local file access but seems not to work any more since Firefox 95.
All Chromium based browsers (version 5 or newer) need a workaround if you want to use adx locally (if you use "file://..." to access adx):
Reason: Chromium's more restrictive security model for local access starting with version 5. See here for more info.
Workaround: Start browser with command line param "--allow-file-access-from-files"
In following you see two How Tos which should be similar on any other OS.
--allow-file-access-from-files
Notes:
--allow-file-access-from-files
. You can check this in Chrome by entering URL chrome://version
(see screenshot below).Following was tested with Ubuntu 11.10 - 20.04 under Gnome 3. Add needed command line parameter in file /usr/share/applications/chromium-browser.desktop:
sudo gedit /usr/share/applications/chromium-browser.desktop
Exec=/usr/bin/chromium-browser %U
with Exec=/usr/bin/chromium-browser --allow-file-access-from-files %U
If it's still not working you can doublecheck with URL chrome://version
if the parameter --allow-file-access-from-files
is listed:
Attention: This option is applied to all chromium instances started inside Gnome desktop. If you have security concerns you should start chromium directly from terminal with command line parameter chromium-browser --allow-file-access-from-files
.
Note: This change gets overwritten on each update of the browser and must be repeated. An automated way to check and update the desktop file is therefore recommended.
Workaround should be similar as described above for Chromium.
Filenames of the different browsers in /usr/share/applications/:
- Opera: e.g. opera.desktop
- Vivaldi (stable): e.g. vivaldi-stable.desktop
- Brave: e.g. brave-browser.desktop
- Google Chrome: ?
- ...
Importing contacts
- Online importer for Open Contacts (a freeware address book tool for Windows)
- Opent Contacts has itself various import possibilities which can be used as intermediate step before importing to adx. Supported import formats are Outlook, vCard, Mozilla, Eudora, CSV, LDIF and more.
- You can create your own XSLT transformator to import any XML based format to adx (e.g. based on the XSLT file from Open Contacts to adx)
Otherwise add your contacts manually to [addressbook.xml] with a text editor of your choice.
Native vCard export via adx:
Or export via Firefox browser plugins like Operator or Tails Export
How to use the vCard files:
Android phones can import easily vCard contacts (Android >= 2.1). Go to contacts in your phone and press 'menu' where you can find an import functionality from your SDCard (e.g. in 'options').
Thunderbird (version 16 as of now) has several issues on importing vCard data. The Thunderbird extension MoreFunctionsForAddressBook imports vCards much better.
Evolution Email solution can also import vCard files.
A QR code is a two-dimensional barcode which can contain vCard data. Following example contains a full contact:
A QR code can be optical read out e.g. by any device with a camera and an app (Recommendation for Android: Barcode Scanner)
adx uses a open source QR code generator library to generate the QR code completely offline. So, your contact data is not leaving your web browsor and therefore not uploaded to any server.
You can also create a XSLT document to export the contacts to the format of your choice.
You can register adx as browser search engine. Add a url template like following consisting of your addressbook.xml (works online and offline). "%s"
will be replaced by your search term.
Examples:
You need to replace the path to your addressbook.xml (works online and offline).
In Chrome this can be added very easy in Preferences -> Manage Search Engines.
Firefox integration can be done via a bookmark with above url pattern. Important is to apply a keyword for the bookmark (e.g. "adx") in order to call it from the url bar:
Once added as bookmark (here with keyword "adx") you can search from the address bar:
There are two types of settings:
For details see below.
Cookies or similar technology is not used at all.
For adjusting settings, search for "User settings" in adx2html_phonelist.xsl and edit them. In following you can find some of them (but for latest list see in adx2html_phonelist.xsl):
URL parameters cover most settings you can directly adjust on your adx web site. Example in order to show contact details by default: http://elektronengehirn.net/addressbook/addressbook.xml?showdetails=1
This is handy in order to bookmark adx with your needed settings:
Example with all URL parameters: http://elektronengehirn.net/addressbook/addressbook.xml?showdetails=1&showheader=1&showexport=1&tagfilter=Musician&searchfilter=Raph&frequencyhigh=1&frequencymedium=1&frequencylow=1&fontsize=1.1em
adx can also be directly started with text for QR code generator, e.g.: https://elektronengehirn.net/addressbook/addressbook.xml?qr=Hello%20world
Provides an easy way to encrypt your data and set user/password, e.g. if you want to publish your adx on the internet.
Two independent techniques are combined:
Protection:
Security notes:
How to setup:
Demo: https://elektronengehirn.net/addressbook/demo-https-basicauth/addressbook.xml (user: "demo", password: "httpsBasicAuth")
Basically every possibility to encrypt or protect you data on the web. E.g. OAuth, ...