Feature #61237

Whats new in scalix web applications .

Added by Alexey Bobyr over 2 years ago. Updated over 2 years ago.

Alexey Bobyr
Scalix WEB
Target version:
Start date:
Due date:
% Done:


Estimated time:
Operation System:


This is general short or maybe not description what you can expect from Scalix web applications with next minor update ( lets say 12.8 - but there are not plans to start any other versions).
Current builds for early review you may find at
filename will be looks like


So what changed.
1. Tomcat 9 (tomcat 8 is not mainline and may receive only some security fixes), removed unused java libraries, updated all java libraries.
2. #61050 - apply web application setting without restarting tomcat. But please note that not all settings will be reloaded , so for some settings you would need to restart tomcat. Or just wait for some time, for e.g. if you changed settings for IMAP client those settings will be applied only after user session will expire and with next access under that user new imap properties will be in imap session.
3. SWA vertical layout. #61179 vertical message pane in SWA as Office265/Outlook has.

4. #60694 SWA - Replace Javascript alerts with html pop-up dialog s

5. Generic perfermance improvements
- SWA loads 5600 emails in 20seconds.
- ActiveSync - sync to device 1600 appoinments, 53 emails (with meeting request) ~ 3min+. cpu usage average 40-50% max 99-110%.
- Less overloading IMAP . Please note that during synchronizing calendaring via DAV protocol you may see high imap cpu usage it will change as soon as DAV will be stable ...
- Postgresql cpu usage is low during filling massages cache. Before it was not high 50-90% for 3-4 seconds on saving 10k emails(not all email just some parts/data that needed for better performance). Now there are no such thing cpu usage is lower or maybe I was not able to capture it.
- Memory usage you may see free memory (top command) 120Mb(tomcat started) -> 67Mb(after some work). Please note that free memory can increased to initial 120MB after sometime due sessions for users is closing after some time of inactivity to free resources.
Tomcat memory settings is JAVA_OPTS="-server -Xms500m -Xmx500m ..." , using jre 1.8.0_131. And its enough for fill caching 6k emails in Inbox and fill 1.5k appointments.
PLEASE KEEP IN MIND despite lower memory usage it does not mean that you may dramatically decrease memory. To work normally Scalix Web application requires more or less reasonable amount of available memory. You may notice that from release to release web apps works better and may use less memory, but still for big amount of emails web apps requires not very low amount of memory.
- Its not a secret that ICAl (appointment data) is stored in Postgresql for better performance so filling ICAL data for 1.6k appointments took 3-5 seconds (checked with 12.7.1 web DAV it was ~ 13 seconds) and less cpu usage. Generally speaking now this part depends on IMAP performance. From web applications part its fast enough.
6. all web applications will use common jar library to work with XML, ICAL, MAPIXML , VCard... For 3rd party developers or clients who wants to migrate from Scalix may use this library to export Contacts -> VCARD . Or use API to get Contacts as VCARD - this is not new feature in API but now VCARD has more data. Before export scalix contact to VCARD had filled limited amount of fields.

for e.g.

<?xml version="1.0" encoding="UTF-8"?>
    <email1_address_with_comment>test &lt;;</email1_address_with_comment>

this library can transform to
  # Distribution List
        PRODID:-//Scalix Java MapiXml migrator //1.0//EN
        EMAIL:sdcasdas <>
        EMAIL:sdsadas <>

        #Contact Item with all possible values 
        PRODID:-//Scalix Java MapiXml migrator //1.0//EN
        FN:prefix first middle last sufix
        EMAIL:"" <>
        EMAIL;ALTID=1:"" <>
        EMAIL;ALTID=2:"" <>
        ADR;TYPE=work:;;buisness streat;buisness stcity;buisness state;buisness zip
        ;buisness country
        ADR;TYPE=home:;;home street;home city;home state;home zip;home country
        ADR;TYPE=intl:;;other street;other city;other state;other ZIP;other country
        X-MANAGER:Mangers names goe here
        X-ASSISTANT:asssistants names....
        X-SPOUSE:spouse's name
        X-FILE-AS:last, first
        TEL;TYPE=home:home phone
        TEL;TYPE=work:buisness phone
        TEL;TYPE=fax:fax number
        TEL;TYPE=cell:mobile phone

    # Simpler contact info
        PRODID:-//Scalix Java MapiXml migrator //1.0//EN
        EMAIL:"" <>

7. DAV is the biggest part of API that was changed.
- Sub folders support.
- Support delegates (if you have calendar from some another scalix user in swa under "Other Users") you will be able to add this Calendar into some Dav client. So DAV now supports other user folders .
- CardDav support. Scalix Contacts will be available via CardDav protocol.
- Currently tested and suppported clients
- Thunderbird + Lightening (,
- Thunderbird + CardBook(CardDav client for Thunderbird) (,
- KOrganizer (,
- Gnome Evolution (,
- eM Client (
- DavDroid (dav client for Android) (
Shorter version of upcoming DAV support it was rewrriten and now use less cpu usage, less memory and works much more faster.
some stats can be outdated but

Evolution full sync 3 Calendars ~1600+ appointments

[25/Oct/2018:06:24:12 -0400] "PROPFIND /api/dav/Principals HTTP/1.1" 401 2763

last request

[25/Oct/2018:06:25:25 -0400] "REPORT /api/dav/Calendars/ HTTP/1.1" 207 16865

time spent : 1 minute and 13 seconds (73 seconds)

Please note that 73 seconds its because appointment data (ICAL) was cached , your results may be different due some work (fill cache data , etc)
But in general it fast.

During the day I will provide screenshots how to configure clients and will tell about client restrictions that I found.


Screenshot_20181120_093535.png View Screenshot_20181120_093535.png 105 KB Alexey Bobyr, 11/20/2018 02:35 AM
Screenshot_20180621_095056.png View Screenshot_20180621_095056.png 12.1 KB Alexey Bobyr, 11/20/2018 02:39 AM
Screenshot.png View Screenshot.png 43.8 KB Alexey Bobyr, 11/20/2018 02:41 AM
Screenshot_20181120_080125.png View Screenshot_20181120_080125.png 35.8 KB Alexey Bobyr, 11/20/2018 02:48 AM
Screenshot_20181120_080210.png View Screenshot_20181120_080210.png 28 KB Alexey Bobyr, 11/20/2018 02:48 AM
Screenshot_20181120_080231.png View Screenshot_20181120_080231.png 41.8 KB Alexey Bobyr, 11/20/2018 02:48 AM
Screenshot_20181120_080253.png View Screenshot_20181120_080253.png 28.4 KB Alexey Bobyr, 11/20/2018 02:48 AM
Screenshot_20181120_080307.png View Screenshot_20181120_080307.png 21.1 KB Alexey Bobyr, 11/20/2018 02:48 AM
Screenshot_20181120_080449.png View Screenshot_20181120_080449.png 30 KB Alexey Bobyr, 11/20/2018 02:55 AM
Screenshot_20181120_080509.png View Screenshot_20181120_080509.png 130 KB Alexey Bobyr, 11/20/2018 02:55 AM
Screenshot_20181120_080524.png View Screenshot_20181120_080524.png 39.4 KB Alexey Bobyr, 11/20/2018 02:55 AM
Screenshot_20181120_100315.png View Screenshot_20181120_100315.png 42.6 KB Alexey Bobyr, 11/20/2018 03:09 AM
Screenshot_20181120_100331.png View Screenshot_20181120_100331.png 46.5 KB Alexey Bobyr, 11/20/2018 03:09 AM
Screenshot_20181120_100354.png View Screenshot_20181120_100354.png 98.3 KB Alexey Bobyr, 11/20/2018 03:09 AM
Screenshot_20181120_100624.png View Screenshot_20181120_100624.png 89 KB Alexey Bobyr, 11/20/2018 03:09 AM
Screenshot_20181120_100646.png View Screenshot_20181120_100646.png 73.4 KB Alexey Bobyr, 11/20/2018 03:09 AM
Screenshot_20181120_104505.png View Screenshot_20181120_104505.png 29.5 KB Alexey Bobyr, 11/20/2018 03:53 AM
Screenshot_20181120_104533.png View Screenshot_20181120_104533.png 43.5 KB Alexey Bobyr, 11/20/2018 03:53 AM
Screenshot_20181120_104545.png View Screenshot_20181120_104545.png 32.5 KB Alexey Bobyr, 11/20/2018 03:53 AM
Screenshot_20181120_104613.png View Screenshot_20181120_104613.png 30.5 KB Alexey Bobyr, 11/20/2018 03:53 AM
Screenshot_20181120_104633.png View Screenshot_20181120_104633.png 26.9 KB Alexey Bobyr, 11/20/2018 03:53 AM
Screenshot_20181120_104655.png View Screenshot_20181120_104655.png 36.2 KB Alexey Bobyr, 11/20/2018 03:53 AM
Screenshot_20181120_104723.png View Screenshot_20181120_104723.png 13.1 KB Alexey Bobyr, 11/20/2018 03:53 AM
Screenshot_20181120_104816.png View Screenshot_20181120_104816.png 31.2 KB Alexey Bobyr, 11/20/2018 03:53 AM
Screenshot_20181120_105023.png View Screenshot_20181120_105023.png 38.5 KB Alexey Bobyr, 11/20/2018 03:53 AM
Screenshot_20181120_105047.png View Screenshot_20181120_105047.png 96.9 KB Alexey Bobyr, 11/20/2018 04:07 AM
Screenshot_20181120_105112.png View Screenshot_20181120_105112.png 59.5 KB Alexey Bobyr, 11/20/2018 04:09 AM
Screenshot_20181120_111933.png View Screenshot_20181120_111933.png 7.07 KB Alexey Bobyr, 11/20/2018 04:23 AM
Screenshot_20181120_112016.png View Screenshot_20181120_112016.png 26.7 KB Alexey Bobyr, 11/20/2018 04:23 AM
Screenshot_20181120_112104.png View Screenshot_20181120_112104.png 47.5 KB Alexey Bobyr, 11/20/2018 04:23 AM
Screenshot_20181120_112124.png View Screenshot_20181120_112124.png 26.7 KB Alexey Bobyr, 11/20/2018 04:23 AM
Screenshot_20181120_112201.png View Screenshot_20181120_112201.png 19.7 KB Alexey Bobyr, 11/20/2018 04:23 AM
Screenshot_20181120_113756.png View Screenshot_20181120_113756.png 8.66 KB Alexey Bobyr, 11/20/2018 04:39 AM
Screenshot_20181120_113431.png View Screenshot_20181120_113431.png 27.2 KB Alexey Bobyr, 11/20/2018 04:39 AM
Screenshot_20181120_114823.png View Screenshot_20181120_114823.png 10.3 KB Alexey Bobyr, 11/20/2018 04:49 AM
Screenshot_20181120_114807.png View Screenshot_20181120_114807.png 14.8 KB Alexey Bobyr, 11/20/2018 04:49 AM
Screenshot_20181120_114834.png View Screenshot_20181120_114834.png 11.1 KB Alexey Bobyr, 11/20/2018 04:49 AM
Screenshot_20181120_121730.png View Screenshot_20181120_121730.png 37.6 KB Alexey Bobyr, 11/20/2018 05:20 AM
Screenshot_20181120_121740.png View Screenshot_20181120_121740.png 63 KB Alexey Bobyr, 11/20/2018 05:20 AM
Screenshot_20181120_121807.png View Screenshot_20181120_121807.png 18.3 KB Alexey Bobyr, 11/20/2018 05:20 AM
Screenshot_20181120_121824.png View Screenshot_20181120_121824.png 71.7 KB Alexey Bobyr, 11/20/2018 05:20 AM
Screenshot_20181120_122009.png View Screenshot_20181120_122009.png 36.9 KB Alexey Bobyr, 11/20/2018 05:20 AM
Screenshot_20181120_140214.png View Screenshot_20181120_140214.png 23.6 KB Alexey Bobyr, 11/20/2018 07:04 AM
Screenshot_20181120_141643.png View Screenshot_20181120_141643.png 40.1 KB Alexey Bobyr, 11/20/2018 07:20 AM
Screenshot_20181202_155831.png View Screenshot_20181202_155831.png 41.8 KB Alexey Bobyr, 12/02/2018 09:58 AM



Updated by Alexey Bobyr over 2 years ago

Gnome Evolution ( Configuring profile.
Launch Evolution . Than go to the menu Edit -> Accounts

click on "+ ADD" button and add "Collection Account"

For Evolution you may use short url to API (without Principal) in my case it was

Fill password and click on "Try again"

And you will see that Evolution found Dav resources that he can support.

click "Next"

and click "Next" or "...." to finish account creation wizard.

After some time you will see folders / appoinments /contacts / tasks


Updated by Alexey Bobyr over 2 years ago

  • Description updated (diff)

Updated by Alexey Bobyr over 2 years ago

  • Description updated (diff)

Updated by Alexey Bobyr over 2 years ago

Updated API web interface for DAV protocol its responsive and has more information as had before.

The structure of Root folders changed. Tasks moved from /api/dav/Calendars/My Calendars/ to root.
Contacts its an Dav Address-book

If another user shared with you his Calendar or other folder
after accessing /api/dav/Calendars/ you will see Principals list and you must choose for which user you want see Calendar's .

/api/dav/Principals/RFC822_EMAIL/ will give you generated VCARD for selected user. Lets say 'My Vcard'.
VCARD data fills from LDAP User attributes. as for this example I fill data for sadmin in SAC

For Folders Content-type column shows what type they have . Its Appointment or Calendar folder or simple folder with emails

the same for messages listing . Content-Type column shows type of message


Updated by Alexey Bobyr over 2 years ago

KOrganizer (

Launch KOrganizer and go to the menu Settings -> Configure KOrganizer

Click on Calendaring in first group item

Click on "Add" button and Choose "Dav groupware resource"

Enter your email and password

Choose Scalix from drop down

Enter HOST or IP

Now you test if everything is ok by pressing "Test Connection" or click on finish button.

To add second Principal in dialog(account details it will appear after successful wizard ) click "Add"

In "Remote URL" enter second Principal for my me it was

To check if you entered data correctly click on Fetch btn

For CardDav support please add new Protocol for KOrganizer account with type CardDav and
Remote URL

Close all dialogs .
And you will be able to see folders appointments etc.

Please note that CARDDAv in KOrganizer shows contacts list only when you are adding Attendee for an appointment


Updated by Alexey Bobyr over 2 years ago

Adding Calendars to the ThunderBird + Lightening ( , the same as it was.
This Client does not support DAv Groupware.
as for Thunderbird + CardBook(CardDav client for Thunderbird) ( its the same you must specify direct url to the Folder with Contacts.
But this clients has option to locate all folders during wizard dialog .
Click on menu Tools -> CardBook
right click somewhere in left panel and in menu click "New Address Book"

Choose "Remote" and click "next" btn

In URL field enter Principal collection of Contact folders . For me url is
and enter credentials and click on "Validate" button . If everything will be ok "Next" button will be clickable.

And you will list of folders which contains Contacts. You may choose what folder to add and which not needed , also as you can see you can set ReadOnly mode if needed

After all steps in CardBook wizard all folders that you choose will be in left pane.


Updated by Alexey Bobyr over 2 years ago

eM Client (

Launch EM Client. If you does not have account you will see account setup wizard , and if you want to add new account please go to the "Menu" -> "Tools" -> "Accounts" and click in "+" button.

Click on "Calendar Group" and click on "CalDav" icon(button)

Fill data. Principal url and credentials to access . In my case it was

Finish wizard and close all dialog and after that you can choose what Folder sync ...

Please note that eM Client can handle http://IP_OR_HOST/api/dav and there is no need to specify concrete Principal
and have several accounts. But when I have tried to use http://IP_OR_HOST/api/dav for an account its working as in Gnome Evolution(all folders for all principals client shows) until you close em Client.
If you close eM Client you want see folders fetched throw DAV protocol.
Does not know if it something at our side or some issue at client side or its because I'm running eM client using wine ("Wine Is Not an Emulator", application which allows run windows applications in linux OS.)

So if somebody has emClient and can check behavior for url http://IP_OR_HOST/api/dav at windows machine I would appreciate for the help.


Updated by Alexey Bobyr over 2 years ago

DavDroid (dav client for Android) (
At Android VM I used F-Droid application to install DavDroid you may install it using Play store.
For Tasks support installed "OPenTasks" application using F-Droid application . But you can install DavDroid via Play Store and when you open this application for first time it should ask you to Install "Tasks" application or do not show this message or ...

Launch DavDroid application and press "+" (add account)

Select "Login with url and user name"
username: your user
pswd : user password

and press to the "Login"

Choose account display name and press "Create account"

After that press on newly create account in account list.

Tick folders which you want to sync. and Press to the sync icon .

and after some time you will see appointments/contacts and tasks at your device fetch via DAV protocol


Updated by Alexey Bobyr over 2 years ago

Well now what is missing at this moment.
1. CardDav read only. VCARD from dav clients must be transformed to scalix format. Maybe SWA requires some additional functional to save/update contacts properly.
2. Calendar schedule inbox / outbox does not work at this moment. Its appointments that you received but have not accept them or declined. And 'outbox' its appointments that you sent to recipients but have not received reply from attendee .
3. Contacts will have special Folders "System addressbook" and "Personal addressbook" like SWA has. with ability to add custom LDAP server and fetch contacts from non scalix LDAP server. So SWA addressbook functionality will be available for DAV AddressBook.
4. DAV ACL is not implemented. for previous versions DAV ACL was in initial state. So most probably it will be the feature.

1. Old DAV urls may not work. So when customer will upgrade to that version he must inform all users to recreate calendar items in Thunderbird + Lightening (for this client its critical). For clients that use DavGroupWare folders will resync automatically at least they must.
2. To rename public folder in DAV client which looks like "Calendars (Public Folder)" user must remove '(Public Folder)' and then edit 'Calendars'. (Public Folder) added automatically. the same for subfolders "Calendars\subfolder2" need to remove "Calendars\" because it added automatically. For other user folders "Calendar (other user display name)" need remove "(other user display name)".

Adding/Updating/deleting appointments works normally for current implemention.

It seems that's all for now . Maybe I miss something but will update this ticket if it would be needed.


Updated by Alexey Bobyr over 2 years ago

New configurable options for DAV implementation is here #61239 .


Updated by Alexey Bobyr over 2 years ago

Sorry forgot to include DavDroid Contacts screenshot


Updated by Alexey Bobyr over 2 years ago

To support Tasks with DavDroid .
Please install OpenTasks before DavDroid or if you already have DavDroid than install OpenTasks(Tasks) (in F-Droid, at Play Store name can be different have not checked) and reinstall DavDroid . Please note that you have to create account for scalix DAV again.
And it will work.


Updated by Rene Blechschmidt over 2 years ago

Hi Alexey ,

Can you remove me from this Task. Thx for this information, but thats too much information ;-)


Updated by Alexey Bobyr over 2 years ago

Similar to SWA functionality . Scalix CardDav will have System Directory and Personal Directory as folders

Please note that this functionality may impact to LDAP server performance and will cause more memory usage at API side due cashing LDAP results. New configuration options for API. You can disable it if you want.

# Display "Scalix System Directory" and "Scalix Personal Directory" virtual folders in list of available
# Contacts folders. Similar to SWA functionality "Scalix System Directory" will show all users that are in System
# directory fetched from LDAP server, "Scalix Personal Directory" will show all users that are in Personal Directory
# fetched from LDAP server.

# Amount of time (in minutes) for how long we should keep LDAP entry results for CardDav 'System Directory'
# and 'Personal Directory' virtual folders.


Updated by Alexey Bobyr over 2 years ago

  • Target version changed from 13.0 to 12.8

Updated by Prakash Nikhar over 2 years ago


checked point 1 to 7 (some points are remaining to test in point no.7) observation as following:

1 Tested: OK

[root@sx1280 ~]# rpm -qa | grep scalix-tomcat

[root@sx1280 ~]# java -version
java version "1.8.0_152" 
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) Client VM (build 25.152-b16, mixed mode, sharing)
[root@sx1280 ~]#

2 # 61050 Tested: OK

3 # 61179, Tested: OK, but can we use word "Reading Pane at Bottom" instead "Horizontal Split" and "Reading Pane on the Right" instead of "Vertical split" And can add "Reading Pane Off" option if user do want see preview of mail.

4 #60694tested: Ok

5 Tested: OK
swa loads 5600 emails in 25 seconds
Active sync- 1600 appointments and 60 email meeting request ~ 5min+. cpu 45 to 60 %
Memory- free memory(tomact started) 611MB out of 1822MB no user logon, after 4 user logon 377MB free

and when all user session closed free memory increased to 981MB

my tomcat memory setting is JAVA_OPTS="-server -Xms512m -Xmx1024m -Dfile.encoding=UTF-8" 

and i using jre 1.8.0_152

6 Tested: OK
Contact, VCARD has more data comapare to earlier version.

PRODID:-//Scalix Java MapiXml migrator //1.0//EN
FN:Mr Contact Test 1 Engg
ADR;TYPE=work:;;AK Road;Mumbai;MAHARASHTRA;400000;India
ADR;TYPE=home:;;KS Road;Thane;Maharashtra;421204;India
ADR;TYPE=intl:;;PD Road;Mumbai;Maharashtra;400072;India
X-FILE-AS:Contact 1

7) DAV
Subfolder: working
Thunderbird + Lightening: found issue in lightning configuration, issue reported in #61266
Note: some test are remaining for point no. 7


Updated by Alexey Bobyr over 2 years ago

  • Status changed from New to Closed

Also available in: Atom PDF