Navigation

    Kopano
    • Register
    • Login
    • Search
    • Categories
    • Get Official Kopano Support
    • Recent
    Statement regarding the closure of the Kopano community forum and the end of the community edition

    GAB sync script under ./userscripts/createuser.d not executed when new user created

    Z-Push when using Kopano
    3
    7
    961
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • micro
      micro last edited by micro

      Hello all,

      I have realized that whenever I create I new user in Samba4 ActiveDirectory the gabsync script is not automatically executed as desired.

      I have installed and configured GAB sync as explained on this wiki:
      https://wiki.z-hub.io/display/ZP/Configuring+GAB-Sync+for+Kopano+OL+Extension

      If Z-Push is running on the same system as your Kopano, then you could also add the above script to /etc/kopano/userscripts/createuser.d to additionally run it whenever a new user has been created.

      So did I but it does not seem to work. First I created the daily cronjob:

      $ ls -lh /etc/cron.daily/z-push-gabsync

      -rwxr-xr-x 1 root root 126 Mai 21 08:52 /etc/cron.daily/z-push-gabsync
      

      $ cat /etc/cron.daily/z-push-gabsync

      #!/bin/sh
      set -e
      
      GABSYNC=/usr/share/z-push/tools/gab-sync/gab-sync.php
      
      if [ -e $GABSYNC ]; then
              $GABSYNC -a sync
      fi
      

      But the daily execution is not enough because I want to reflect a adduser oder deluser action immediately to the GAB. So initially I tried by creating a symlink to the existing script:

      $ ln -s /etc/cron.daily/z-push-gabsync /etc/kopano/userscripts/createuser.d/ && ls -lh

      -rwxr-xr-x 1 root root 429 Mai 17 09:19 00createstore
      lrwxrwxrwx 1 root root  30 Mai 28 17:11 z-push-gabsync -> /etc/cron.daily/z-push-gabsync
      

      Unfortunately this doesn’t work. I thought the reason could be the symlink so I reverted this change and created a real file (no symlink) within /etc/kopano/userscripts/createuser.d/ directory and named it 10z-push-gabsync:

      $ cat /etc/kopano/userscripts/createuser.d/10z-push-gabsync

      #!/bin/sh
      set -e
      
      GABSYNC=/usr/share/z-push/tools/gab-sync/gab-sync.php
      
      if [ -e $GABSYNC ]; then
              $GABSYNC -a sync
      fi
      

      But this doesn’t work either. The script is there of course and it’s executable:

      $ ls -lh /usr/share/z-push/tools/gab-sync/gab-sync.php

      -rwxr-xr-x 1 root root 9,2K Apr 11 19:16 /usr/share/z-push/tools/gab-sync/gab-sync.php
      

      In AD I create a new user and even when I wait 10min this new user is not shown in the global adress book. Even not when in Outlook2013 I click on KOL and the REFRESH GAB.

      By trying various stuff out I found out, that the GAB will be synced in following cases:

      a) when I execute one of those commands on my Kopano server
      kopano-admin -l or kopano-admin --details someuser

      b) when I execute the gab sync script manually by /etc/cron.daily/z-push-gabsync or /etc/kopano/userscripts/createuser.d/10z-push-gabsync or /usr/share/z-push/tools/gab-sync/gab-sync.php

      1. any user within WebApp is clicking on the GAB when clicking to compose a new message–>TO:\ field and thus the GAB will be loaded.

      In these cases the sync instantly takes place and I even can see it in the window of Outlook2013 when I leave the GAB window open (create new message, clicked on TO:\ field and viewing the GAB)

      For me it looks like the sync is triggered only when this ressource actively is “pushed” by a process like those described.

      any ideas what I am missing here ? is anything known about this behaviour?

      PS: I want to add that I also added the script to /etc/kopano/userscripts/deleteuser.d so the procedure takes please also when a user is deleted from the user directory. This works fine, too but only in the above described manner. Wanted to emphasize that, maybe you could update the wiki article so anyone could also add this script to the userscript deleteuser.d folder, too.

      Thanks to anyone in advance for shedding some light into this manner.

      1 Reply Last reply Reply Quote 0
      • fbartels
        fbartels Kopano last edited by fbartels

        what you are describing in a) and 3. is the expected behaviour. If you add a new user to the ldao source Kopano-server (this is exactly the same as it was with zarafa btw) does not automagically know that you added a user.

        If you have ˋsync_gab_realtimeˋ to true, then any user getting the gab will trigger the sync, if the setting is set to false, then a ˋkopano-cli --syncˋ will trigger it. In both cases accessing the user directly (when logging in or getting its dateils on the cli) will trigger a sync as well.

        This is also explained in the LDAP part of the manual.

        for the sake of completeness. b) gets a user list and as explained above therefore triggers the sync as well.

        Regards Felix

        Resources:
        https://kopano.com/blog/how-to-get-kopano/
        https://documentation.kopano.io/
        https://kb.kopano.io/

        Support overview:
        https://kopano.com/support/

        1 Reply Last reply Reply Quote 0
        • micro
          micro last edited by

          Hello Felix and thanks for the reply. I thought I had miss something, but so this is normal behaviour and everything seems to work fine, glad to hear that.

          One more question. As in our case, noone is using WebApp, all employees use Outlook2010 or Outlook2013. When will a sync be initiiated in this case where noone logs into WebApp and no admin is executing a kopano-cli or kopano-admin command ? will the sync take only place next day because I am using cron.daily ? Of course I could put this script into cron.hourly for example, but I want to understand the mechanism how it’s triggered.

          Thank you again and have a nice day.

          fbartels 1 Reply Last reply Reply Quote 0
          • fbartels
            fbartels Kopano @micro last edited by

            Hi @micro ,

            there is no “the server will do a sync automatically every x”, so a sync will only happen when getting a user list or at latest when the user is accessed (log in for example).

            Since you are still using the old mapi client. here opening the gab will trigger a sync as well.

            So you could add a daily/hourly cron for --sync, or you could show more people the awesome WebApp ;-)

            Regards Felix

            Resources:
            https://kopano.com/blog/how-to-get-kopano/
            https://documentation.kopano.io/
            https://kb.kopano.io/

            Support overview:
            https://kopano.com/support/

            micro 1 Reply Last reply Reply Quote 0
            • micro
              micro @fbartels last edited by

              @fbartels

              thank you, will do so (hourly.cron). Believe me or not, I tried so many things and even presentations and live demos. Now I also showed them the DeskApp, but …

              … noone want to use WebApp, they really don’t like it. They all want to work with Outlook :(

              1 Reply Last reply Reply Quote 0
              • jengelh
                jengelh Banned last edited by jengelh

                Looks like we have a bug that causes symlinks to get ignored, only processing regular files. derp :-p
                https://jira.kopano.io/browse/KC-1171

                1 Reply Last reply Reply Quote 0
                • micro
                  micro last edited by

                  thanks for your attention Jan.

                  try find -type f -xtype f maybe ? good luck and thank you.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post