[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The official website for ASynK is at: http://asynk.io. You will find links to latest downloads, complete and latest documentaiton, announcements and other information on that website.
The source code for ASynK is hosted on Github at: https://github.com/skarra/AsynK (earlier hosted at: https://github.com/skarra/Gout) Visit the site to grab the bleeding edge development version, or to register an issue you have identified.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
You can download the latest version by visiting the downloads section of the official website at http://asynk.io/downloads/.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
You can clone the git repository by using a command such as git clone git://github.com/skarra/ASynK.git. Then run asynk.py as per instructions given in the Using ASynK, section below.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you want to synchronize to your Exchange Server you could do that from any machine or operating system that can access your Exchange server over the internet. You will need to ask your system administrators for:
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you have contacts on your own machine inside a Outlook PST file you can sycn them too. But there are a few additional dependencies:
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Keep in mind that unlike Google Contacts, CardDAV servers do not support a roll back feature. This means any ASynK bugs could potentially lead to loss of information for you. While there have been no complaints of ASynK eating up people’s data, please take your own precautions before you deploy this on your live data. The use of the --user-dir= option is also high encouraged.
At the moment the following fields are synched in both ways. More may be supported over time. Important: Fields not mentioned here will be lost in transit!
Specifically, the following are not synched:
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ASynK can parse and write BBDB files without the need for Emacs or BBDB. However, ensure you are NOT using BBDB at the time ASynK is reading/writing the database. Bad things can happen if you are not careful with this. Furthermore, note the following:
Importantly for ASynK, the file format used by V3 provides for granular time stamps with timezone information and ASynK will just work “out of the box”. There are also other important changes to the structure of the BBDB record in file format version 7.
Support is limited in the sense that the native ver 6 file format timestamps only store year, month and day. So BBDB will overwrite the granular ASynK timestamps with a yyyy-mm-dd timestamp, and your bi-directional sync will not quite work as you would like.
The above limitation can be overcome by applying the following simple patch. With this patch in place ASynK will work quite well. There is a downside, however - certain time-based search in BBDB may behave differently (search newer, search older etc. will behave differently owing to differences in timestamp format). But one would like to think the ability to do bidirectional sync outweighs this minor irritation.
commit eb6ba8d342a46d61c45b0ce4c1de7711ff011466 Author: Sriram Karra <karra.etc@gmail.com> Date: Wed May 16 18:09:50 2012 +0530 Include UTC time as part of timestamp This is a feature in file format 7 available with BBDB v3. However that is not available with the 2.x series. A detailed timestamp is needed to do a sync with a third party. The ideal way would have been to fully implement the version 7 changes on 2.36. However that involves a lot of changes and is risky - for e.g. introducing a new key name field (affix) will stretch my understanding of BBDB internals. Best to just provide a quick hack for those willing to live with it only to try ASynK or similar sync software. The obvious pitfall is that commands that work on the timestamp field (like newer or older filters and delete) will start to behave differently because a string comparison is done to check if a date is newer or older. *** You have been warned *** diff --git a/lisp/bbdb-hooks.el b/lisp/bbdb-hooks.el index 01de4f2..b9f0d9d 100644 --- a/lisp/bbdb-hooks.el +++ b/lisp/bbdb-hooks.el @@ -59,7 +59,7 @@ (defvar mh-show-buffer) -(defvar bbdb-time-internal-format "%Y-%m-%d" +(defvar bbdb-time-internal-format "%Y-%m-%d %T %z" "The internal date format.") ;;;###autoload @@ -69,7 +69,7 @@ for the given record which contains the time when it was last modified. If there is such a field there already, it is changed, otherwise it is added." (bbdb-record-putprop record 'timestamp (format-time-string bbdb-time-internal-format - (current-time)))) + (current-time) t))) ;;;###autoload (defun bbdb-creation-date-hook (record) @@ -78,7 +78,7 @@ which is the current time string." ;; hey buddy, we've known about your antics since the eighties... (bbdb-record-putprop record 'creation-date (format-time-string bbdb-time-internal-format - (current-time)))) + (current-time) t))) ;;; Determining whether to create a record based on the content of the diff --git a/lisp/bbdb.el b/lisp/bbdb.el index cc12045..dabbf05 100644 --- a/lisp/bbdb.el +++ b/lisp/bbdb.el @@ -1214,7 +1214,7 @@ from string." ;;; Address formatting. -(defcustom bbdb-time-display-format "%d %b %Y" +(defcustom bbdb-time-display-format "%d %b %Y %T %z" "The format for the timestamp to be used in the creation-date and timestamp fields. See the documentation for `format-time-string'." :group 'bbdb :type 'string) @@ -1223,11 +1223,13 @@ timestamp fields. See the documentation for `format-time-string'." "Convert a date from the BBDB internal format to the format determined by FORMAT (or `bbdb-time-display-format' if FORMAT not present). Returns a string containing the date in the new format." - (let ((parts (bbdb-split date "-"))) - (format-time-string (or format bbdb-time-display-format) - (encode-time 0 0 0 (string-to-number (caddr parts)) - (string-to-number (cadr parts)) - (string-to-number (car parts)))))) + (format-time-string (or format bbdb-time-display-format) + (condition-case err + (date-to-time date) + (error nil + (date-to-time (concat date " 00:00:00 + +0000")))) + t)) (defalias 'bbdb-format-record-timestamp 'bbdb-time-convert) (defalias 'bbdb-format-record-creation-date 'bbdb-time-convert)
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The user documentation is in the directory called doc/ in the root of the ASynK source tree. The main source file is asynk.texi in TexInfo format. HTML, PDF and Info files are available on the project home page at: http://asynk.io
If you wish to build the documentation from source, you can try the Makefile in the documentation directory, like so:
$ cd doc $ make pdf $ make # Builds all the targets $ make clean $ make distclean
The supported doc types are: ’pdf’, ’html’, ’info’, ’docbook’, and ’text’. You may have to install additional programs like makeinfo, texi2html etc. See the "Dependencies" section above.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on November 10, 2017 using texi2html 5.0.