Bug 55175 - Implementation of a UDM-module for portal "announcements"
Implementation of a UDM-module for portal "announcements"
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Portal
UCS 5.0
Other All
: P5 enhancement (vote)
: UCS 5.0-4
Assigned To: Florian Best
Dirk Wiesenthal
https://git.knut.univention.de/univen...
:
Depends on:
Blocks: 56156
  Show dependency treegraph
 
Reported: 2022-09-06 14:43 CEST by Torben Köhn (ext)
Modified: 2023-06-21 09:24 CEST (History)
5 users (show)

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?:
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 Torben Köhn (ext) univentionstaff 2022-09-06 14:43:34 CEST
String NotificationType = "announcement" | "event"
String NotificationFlag = "needsConfirmation" | "sticky"
String NotificationSeverity = "info" | "success" | "warn" | "danger"

Notification
- String name
- NotificationType type
- DistinguishedName[] scopes
- NotificationFlag[] flags
- NotificationSeverity severity?
- String title
- String message?
- Int startTime?
- Int endTime?

- Pespektivisch:
  - Strukturen zur Speicherung von "read"/"confirmed" Status pro User/DN
Comment 1 Torben Köhn (ext) univentionstaff 2022-09-06 15:48:52 CEST
String NotificationType = "announcement" | "event"
String NotificationFlag = "needsConfirmation" | "sticky"
String NotificationSeverity = "info" | "success" | "warn" | "danger"

Notification
- String name
- NotificationType type
- DistinguishedName[] scopes
- NotificationFlag[] flags
- NotificationSeverity severity?
- String title
- String message?
- Int startTime?
- Int endTime?

- Future scope:
  - Structures to save "read"/"confirmed" state per user/dn
Comment 2 Daniel Tröder univentionstaff 2022-09-06 16:18:58 CEST
Please write a user story for your feature request.
What should the desired change achieve?
Describe the scenario(s) that the change will improve for the user.
Also describe possible technical and non-technical requirements.
As you have already stated a technical proposition (implement this using a UDM module), please also explain the reasoning behind that.
Comment 3 Daniel Tröder univentionstaff 2023-05-26 08:15:22 CEST
Seriously - this is now planned for 5.0-4 without answering the above questions?

Please point me to a project description or a responsible person who can explain what UDM / our IDM can possibly have to do with UI notifications.
Comment 5 Daniel Tröder univentionstaff 2023-06-02 08:37:37 CEST
(In reply to Florian Best from comment #4)
> MR: https://git.knut.univention.de/univention/ucs/-/merge_requests/776

Thanks for the link.
But it only shows the implementation and its limitations.
I am still missing the _reasoning_ and the _requirements_ for it.
@Dirk can you shed some light here?
Comment 6 Daniel Tröder univentionstaff 2023-06-02 08:41:52 CEST
There is no user story and there are no acceptance criteria here or in the MR.
REOPEN: it's impossible to resolve or QA a task without US or AC.
Comment 7 Dirk Wiesenthal univentionstaff 2023-06-02 10:21:49 CEST
The announcement feature has already been discussed, refined and implemented by SWP. This bug is now used to just backport it to UCS. It was requested by a project.
Comment 8 Daniel Tröder univentionstaff 2023-06-02 15:37:43 CEST
Why is it so difficult to answer my questions?

* Where is the documentation? I don't see anything below `doc/manual`.

* Where are the requirements / epic / bugzilla | gitlab issues that lead to this MR?


I WILL keep reopening this bug, until there is enough information here, that a future developer, that follows the git commit message '... Bug #55175' here, has a chance to understand why that code exists, what it's supposed to do, what is a feature and what not etc.
Comment 9 Florian Best univentionstaff 2023-06-09 14:43:41 CEST
The Portal Announcements including some changes from the upstream repository have been merged into UCS 5.0-4:

univention-portal (4.0.10-1)
05f64bf7ecf4 | refactor(portal): align with upstream
4b469cfec160 | refactor(portal-backend): changed method api and naming of local variables in PortalReloaderUDM._write_image
0d75dad7e753 | test: Avoid dependency on univentionunittests
7377d4fc575d | feat(portal-server): leave out Host header when session cookie does not carry port information
3e234eaec0c8 | refactor(portal-backend): change logging to stdout exclusively in container
1e789c266f86 | refactor(portal-server): extract request handlers from main script into individual Python modules
3b6a2ea2ca7a | refactor(portal-frontend): Use "icon_url" instead of "logo_name"
3a6abcb9d84d | Revert "REST endpoint"
eeb199d1a059 | REST endpoint
299b6feb1a54 | feat(portal): introduce announcements for portal

Changelog:
fe24a1bf29e0 | Changelog Bug #55175
Comment 10 Daniel Tröder univentionstaff 2023-06-09 15:16:39 CEST
- No developer docs
- No user docs
- Not even a link that explains where or what "upstream" is
Comment 11 Florian Best univentionstaff 2023-06-09 15:28:40 CEST
(In reply to Daniel Tröder from comment #10)
> - No developer docs
We don't have developer docs for 99%-100% of our changes - I don't know what you would expect and what would be useful here. It's also not my job to provide that. You can find further developer information in the ADR's and issues of the SouvAP team.  

> - No user docs
We don't have any portal user documentation. We only have a small piece of Portal Administration doc in http://docs.software-univention.de/manual/5.0/de/central-management-umc/portal.html#central-portal - but this is missing many features, as well.

> - Not even a link that explains where or what "upstream" is

upstream is https://git.knut.univention.de/univention/components/univention-portal/ - that's common knowledge in the other teams, decided by Ingo and mentioned many times in our Dev-Meetings.
Maybe you can fill issues there for things you are missing?
Here you can find 29 issues for the announcement feature: https://git.knut.univention.de/univention/components/univention-portal/-/issues/?sort=created_date&state=all&search=announcement&first_page_size=100

→ This bug is only about cherry-picking the current work status, just like all the quarters before we did this since two years. e.g. Bug #54633. Why didn't you ask for user storied, docs, etc there?
Comment 12 Daniel Tröder univentionstaff 2023-06-12 08:40:17 CEST
(In reply to Florian Best from comment #11)
> (In reply to Daniel Tröder from comment #10)
> > - No developer docs
> We don't have developer docs for 99%-100% of our changes
That's bad, but no excuse.
It's not much work for the current developers to add useful information for future developers to a README or simply this bug.
But missing information causes future developers a lot of work, asking and guessing around.

> - I don't know what you would expect and what would be useful here.
Hints on functional and non-functional requirements, pitfalls, TODOs etc.
Information that will help a future developer that comes here for the first time.
And if there is nothing to say, then it's not a big deal to say just that. But it makes it clear for everybody, that it was not forgotten.
.. for example that when a group is renamed, that members of that group won't see future announcements, because the group won't be renamed in the portals/announcement object. Maybe that's OK, but I think it's worth mentioning.

I would *at least* expect this issue to mention the name of the new UDM module!!
→ portals/announcement
Now people searching Bugzilla can find this issue.

> It's also not my job to provide that.
Yes it is.

> You can find further developer information in the ADR's and issues of the SouvAP team.  
That is exactly what I have been asking for the whole time.
Those should be linked to either here in the bug or in the packets README.

> > - No user docs
> We don't have any portal user documentation. We only have a small piece of
> Portal Administration doc in
> http://docs.software-univention.de/manual/5.0/de/central-management-umc/
> portal.html#central-portal - but this is missing many features, as well.
Those are the exact docs I am missing the user documentation on this new feature in.
("User" is in this case the operator.)
Those docs even explain how to change the CSS - why would they not explain how to use the announcement feature?

> > - Not even a link that explains where or what "upstream" is
> 
> upstream is
> https://git.knut.univention.de/univention/components/univention-portal/ -
> that's common knowledge in the other teams, decided by Ingo and mentioned
> many times in our Dev-Meetings.
- "common knowledge in the other teams" is the opposite of knowledge sharing!
- Nobody writes down all links that are ever mentioned in some meetings. That's why we have READMEs.
- Future developers don't know about things mentioned in some past meetings. That's why we have READMEs.
- ProfS and Support also search information.

> Maybe you can fill issues there for things you are missing?
> Here you can find 29 issues for the announcement feature:
> https://git.knut.univention.de/univention/components/univention-portal/-/
> issues/?sort=created_date&state=all&search=announcement&first_page_size=100
Unfortunately, we don't have a process established yet, where I know how or even if I can create work for the SWP project.
But I know, what is required in the UCS product: maintainability and user documentation.
And I am pretty sure that both PM and the Support will say: "If it's a supported feature, it must be documented."

So I am reopening this until that point has been cleared.
Clarification results can be:
- that the docs are written,
- that the PM decides that no docs are required,
- that the PO decides that there will be a follow-up issue.
- ...
The result should be documented in a comment in this bug.

> → This bug is only about cherry-picking the current work status
What do you mean by "only cherry-picking"?
This bug introduces a whole new feature to the UCS product and it adds a whole new module to a core UCS component (UDM)!
Something that will have to be maintained and supported for years.

> just like all the quarters before we did this since two years. e.g. Bug #54633.
OMG - that bug is even worse! Thanks for pointing it out.
Just because something was done badly before, it's no reason to continue to do it badly.

> Why didn't you ask for user storied, docs, etc there?
I simply didn't see it before, but I saw this one and reacted.
Comment 13 Dirk Wiesenthal univentionstaff 2023-06-19 12:50:19 CEST
The UDM module works, which was the scope of this bug.

We are missing documentation, I will create a bug for that (5.0-4)

I do see some caveats like missing "Edit mode" integration, I will coordinate with SWP
Comment 14 Dirk Wiesenthal univentionstaff 2023-06-19 12:50:58 CEST
Code: OK
Manual tests: OK
Update: OK
Frontend: OK
Comment 15 Philipp Hahn univentionstaff 2023-06-21 09:24:42 CEST
UCS 5.0-4 has been released:
 https://docs.software-univention.de/release-notes/5.0-4/en/

If this error occurs again, please use the 'Clone This Bug' option.