Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add autoconfigure feature for Kolab users #232

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

Conversation

fjl5
Copy link

@fjl5 fjl5 commented May 25, 2018

When using Outlook as a Kolab client, the average user will expect new calendars and address books to show in Outlook without manual intervention. This pull request adds such a feature: It is only enabled if the registry key HKEY_CURRENT_USER\Software\CalDavSynchronizer\AutoconfigureKolab is set to 1, so CalDavSynchronizer will not change its default behaviour. Setting this key would typically be done by the Sysadmin when installing CalDavSynchronizer and/or setting up the Kolab IMAP account. A trivial kolab.reg file to add the key would be:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\CalDavSynchronizer]
"AutoconfigureKolab"=dword:00000001

Features added

  • Autoconfigure happens when outlook (re)starts:
    • Create outlook folders and sync profiles for every new CalDAV / CardDAV resource (resources without a synchronization profile). Existing sync profiles are not changed.
    • Rename existing outlook folders when the CalDAV / CardDAV resource is no longer available. We don't delete the folder as it might contain new data from the user (client side).
  • Kolab can share the GAL (global address list) as a read-only CardDAV resource:
    • In this case, only sync from server to client.
    • Use the GAL as default address list. This only happens on newly detected GALs, so the user can still change that setting.
  • Add free/busy URL to Outlook settings. Please note that by default, Kolab only provides this data to local networks.

Achim Leitner and others added 7 commits April 12, 2018 18:15
- Only active if the registry key "HKEY_CURRENT_USER\Software\CalDavSynchronizer\AutoconfigureKolab" is set to "1"
- On every Outlook start, searches for new Kolab resources. Creates both folder and synchronization profile.
- On every Outlook start, searches for obsolete Kolab resources. Removes the synchronization profile and renames the outlook folder to "... Deleted (date)".
…ew address books are visible as address list
@aluxnimm
Copy link
Owner

Thank you very much, we will test this and integrate it but will take some time.

Achim Leitner added 7 commits May 30, 2018 20:11
- Set the Outlook folder's description to explain Read-only / read-write resourcres
- Use custom icons for synchronized folders
- Detect CalDAV default calendar according to RFC 6638 (Scheduling Extensions)
- We can't rename the Outlook default folder, but at least set the folder description
- When deleting a CalDAV default resource that is synced to the Outlook default folder, move alle entries to al "... Deleted" folder and move that folder to the trash folder.
- If there is a CalDAV default calender and the outlook default calendar is not synced, and the CaldDAV default folder used to be synced to an Outlook subfolder: change the sync setting to sync both default folders.
- Let the initial sync process start after autoconfigure
- Only try autoconfigure if we have an IMAP account
- In Autoconfigure mode, remove alls sync profiles without an outlook folder
- Catch more errors and improve logging, use GenericComObjectWrapper
- Don't sync reminders on shared and read-only resources. Q&D implementation:
  detect shared calendars by name (starts with "shared" or opening parentheses)
- Don't try to iterate over non-existing server resource lists
- Gracefully handle 'unable to create folder' situations
- Add fallback for situations where outlook does not allow names with dots
- Don't show dialog boxes on autoconfigure as this delays add-in initialization
- Improve debug / info / error log
- Remove dead code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants