Bug 47265

Summary: Support Listener integration
Product: UCS Reporter: Dirk Wiesenthal <wiesenthal>
Component: App CenterAssignee: Dirk Wiesenthal <wiesenthal>
Status: CLOSED FIXED QA Contact: Felix Botner <botner>
Severity: normal    
Priority: P5    
Version: UCS 4.3   
Target Milestone: UCS 4.3-1-errata   
Hardware: Other   
OS: Linux   
What kind of report is it?: Feature Request What type of bug is this?: ---
Who will be affected by this bug?: --- How will those affected feel about the bug?: ---
User Pain: Enterprise Customer affected?:
School Customer affected?: ISV affected?: Yes
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional):
Max CVSS v3 score:
Bug Depends on:    
Bug Blocks: 47315    

Description Dirk Wiesenthal univentionstaff 2018-06-28 14:09:47 CEST
The App Center should support Listeners. These should enable App Providers to react as soon as certain LDAP objects change.
Comment 1 Dirk Wiesenthal univentionstaff 2018-07-03 11:56:37 CEST
Added integration in
  univention-appcenter 7.0.2-6A~4.3.0.201807031151

This writes contents like

{
    "command": "modify", 
    "dn": "uid=Administrator,cn=users,dc=lattjo-4-3,dc=intranet", 
    "entry_uuid": "f386de62-947d-1037-8607-3778186ddbfa", 
    "object_type": "users/user"
}

in /var/lib/univention-appcenter/listener/$appid/$timestamp.json

This relies on a very simple handler file placed in
  /usr/lib/univention-directory-listener/system/
The actual logic is in
  python/appcenter/listener.py

This was done to make updates of the listener logic simple. No need to replace any listener module (hopefully).

We still need a converter service that translates this into a UDM dictionary, puts it in the container and calls a script.
Comment 2 Felix Botner univentionstaff 2018-07-25 09:42:22 CEST
ok works, one thing, please set the listener filter and the dump dir in the actual listener file /usr/lib/univention-directory-listener/system/my-app.py.

something like 

class AppListener(AppListener):
    class Configuration(AppListener.Configuration):
        name = 'listener-test-app'
        ldap_filter = ....
        dump_dir = ....

i think that would be helpful for support in case of an error ...
Comment 3 Dirk Wiesenthal univentionstaff 2018-07-27 10:31:07 CEST
Good idea
  univention-appcenter 7.0.2-13A~4.3.0.201807271026
Comment 4 Felix Botner univentionstaff 2018-08-02 10:59:30 CEST
verify this one, qa for the whole thing on Bug #47315
Comment 5 Arvid Requate univentionstaff 2018-08-22 14:26:20 CEST
<http://errata.software-univention.de/ucs/4.3/211.html>