Bug 47265 - Support Listener integration
Support Listener integration
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: App Center
UCS 4.3
Other Linux
: P5 normal (vote)
: UCS 4.3-1-errata
Assigned To: Dirk Wiesenthal
Felix Botner
:
Depends on:
Blocks: 47315
  Show dependency treegraph
 
Reported: 2018-06-28 14:09 CEST by Dirk Wiesenthal
Modified: 2018-08-22 14:26 CEST (History)
0 users

See Also:
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:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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>