Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add notification section to customize and reference #547

Merged
merged 3 commits into from
Jul 10, 2024

Conversation

rekt-hard
Copy link
Contributor

@rekt-hard rekt-hard commented May 9, 2023

❤️ Thank you for your contribution!

Description

closes inveniosoftware/invenio-app-rdm#2204

Adds notification documentation to the reference and customization sections.

Checklist

Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

Third-party code

If you've added third-party code (copy/pasted or new dependencies), please reach out to an architect.

Reminder

By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:

  1. You license your contribution under the same terms as the current repository’s license.
  2. You agree that you have the right to license your contribution under the current repository’s license.

@rekt-hard rekt-hard marked this pull request as ready for review May 11, 2023 10:05
Copy link
Member

@ppanero ppanero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Massive work! Thanks a lot! I have two main comments:

  • The cuzomize part talks about the notification backends and builders but does not specify what they are. While I do agree that might not be the place to do so, pointers to the respective reference sections would help on navigating it.
  • The reference sections starts already mentioning backends and builders from the first paragraph. However, those concepts have not been introduced and makes is a bit hard to follow. The end result is that all the pieces are not put together until the end. (biased opinion now...) I am more a fan of gradually introducing the concepts (i.e. in the first paragraphs you can put a one line definition to people can understand what you are talking about, then it gets fully explained later on).

docs/customize/notifications.md Outdated Show resolved Hide resolved
docs/customize/notifications.md Outdated Show resolved Hide resolved
docs/reference/notifications.md Outdated Show resolved Hide resolved
docs/reference/notifications.md Outdated Show resolved Hide resolved
docs/reference/notifications.md Outdated Show resolved Hide resolved
@rekt-hard
Copy link
Contributor Author

Thank you for taking the time to read through this 🙏
In the first paragraph, added a sentence and a link each for backends, builders and resolvers. Also addressed all other comments.

Will add a section to features-walkthrough once the UI PR is in

@kpsherva kpsherva changed the base branch from master to dev June 7, 2023 12:24
Copy link
Member

@alejandromumo alejandromumo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left minor questions

docs/customize/notifications.md Outdated Show resolved Hide resolved
docs/reference/notifications.md Outdated Show resolved Hide resolved
docs/reference/notifications.md Outdated Show resolved Hide resolved
docs/reference/notifications.md Outdated Show resolved Hide resolved
docs/reference/notifications.md Outdated Show resolved Hide resolved
@rekt-hard rekt-hard linked an issue Jun 20, 2023 that may be closed by this pull request
@rekt-hard
Copy link
Contributor Author

Notifications walk-through page

image


![Notifications Setting Menu Entry](./img/notifications/menu.png "Notification Settings Menu Entry")

For personal preferences, it is possible to completely enable or disable receiving notifications. The info on the right hand side will show the channel on which notifications will be received.
Copy link
Member

@Samk13 Samk13 Jun 20, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// Suggestion: Include the config variable name for users to set notifications on by default, overriding the current 'off' default setting.

## Configuration Values

Configuration values used in the `invenio-notifications` module can be overriden, in order to adapt instances to specific needs.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion:
Email notifications lack port in links if it's not explicitly added in either config:

SITE_UI_URL = "https://127.0.0.1:5000"
SITE_API_URL = "https://127.0.0.1:5000/api"

or cli (e.g. invenio-cli run --port 5000). The celery worker appears to struggle to read the current port value. Therefore, to me, it's a good idea if we document that specifying the port number is necessary for the proper functioning of notification links."

Copy link
Contributor

@jrcastro2 jrcastro2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Member

@zzacharo zzacharo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @rekt-hard, I will summarize here what we discussed IRL:

  • Let's split the PR to 2 based on the audience, i.e users and developers
  • I would take inspiration from the existing examples of custom fields and administration panel on how to expose the feature documentation based on a real example so users can relate and gather the information they want
  • User audience:
    • Feature walkthrough: High level overview of the notifications feature. A user should quickly understand what is this feature about, maybe with an example.
    • Customize: I think users cannot customize notifications without developing experience so I would not add a section there. If that's not the case then we can add it!
  • Developer audience:
    • Reference: I would keep only the notification classes definitions with explanations of the properties and methods if it makes sense
    • Architecture: I would explain there the notifications feature from the design perspective. For example give the dictionary of the involved entities i.e receiver, backend etc. Inspiration could be the Events handling.
    • Develop/Topic guide: I would explain there how you can build your own notification backend (if that's the case currently or omit otherwise)
    • Develop/ How to: Maybe add there how I can change the notification template or other configurable parts of the feature

We had a really nice tutorial in the past on general information on how to write documentation that personally I always go back and refresh my memory 😅 You can find it here if you think is useful for you https://inveniordm.docs.cern.ch/maintenance/documentation/.

@kpsherva kpsherva merged commit ef6cf65 into inveniosoftware:dev Jul 10, 2024
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation v12
Projects
None yet
Development

Successfully merging this pull request may close these issues.

docs: notifications
8 participants