From version < 17.5 >
edited by Manuel Leduc
on 2020/05/07 14:47
To version < 17.6 >
edited by Manuel Leduc
on 2020/05/07 14:49
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -105,8 +105,13 @@
105 105  
106 106  == Tasks ==
107 107  
108 -=== Rich editor integration ===
108 +|=UC|=Depends on|=Title|=Complexity|=Priority
109 +|UC1| | | |
110 +|UC2| | | |
111 +| | | | |
109 109  
113 +=== UC1. Rich editor integration ===
114 +
110 110  The rich editor must be integrated on every textarea supporting the XWiki syntax.
111 111  
112 112  * Comments
... ... @@ -114,11 +114,11 @@
114 114  
115 115  WARNING: other places?
116 116  
117 -=== Adding an auto-completion on the rich editor ===
122 +=== UC2. Adding an auto-completion on the rich editor ===
118 118  
119 119  Typing @ in the rich editor must present an autompletion of available users and groups and automatically insert the corresponding macro in the text.
120 120  
121 -=== Mention macro ===
126 +=== UC3. Mention macro ===
122 122  
123 123  The mention macro must allow to declare a mention. This macro has one field pointing to a single user or group.
124 124  
... ... @@ -128,26 +128,26 @@
128 128  
129 129  The text of the mention should be first name + last name, first name only or user login (the user defining the mention should be able to choose)
130 130  
131 -=== Mention macro settings ===
136 +=== UC4. Mention macro settings ===
132 132  
133 133  Variations points of the mention macro must be configurable in the skins administration
134 134  
135 135  [[image:image-20200507110127020.png]]
136 136  
137 -=== Mention in the syntax ===
142 +=== UC5. Mention in the syntax ===
138 138  
139 139  Mentions could be integrated as first-class entities in some syntaxes supported in the wiki, if those syntaxes has a build-in support for it.
140 140  
141 -==== XWiki/2.2 ====
146 +==== UC5.1. XWiki/2.2 ====
142 142  
143 143  (% class="wikigeneratedid" %)
144 144  In the specific context of xwiki/2.2, user mentions could be build around the notions of link to users. See the discussions on [[Link extensibility>>||anchor="HLinksextensibility"]].
145 145  
146 -==== Other syntaxes ====
151 +==== UC5.x. Other syntaxes ====
147 147  
148 148  TBD
149 149  
150 -=== Mentions history ===
155 +=== UC6. Mentions history ===
151 151  
152 152  A user must not be notified of a mention several times for the same entity (document, comment, annotation...).
153 153  
... ... @@ -159,7 +159,7 @@
159 159  
160 160  A notification is only send to individual users that have not already be notified, and to groups that have not already been notified. Only group members who have not already been notified are notified.
161 161  
162 -=== Notifications settings ===
167 +=== UC7. Notifications settings ===
163 163  
164 164  integrate settings in the configuration to activate mentions at the level of the administration and at the level of individual users.
165 165  

 

https://forum.xwiki.org/t/user-mention-in-ck-editor/843

Description

Introduction

Mentions are a structured way to reference users in the text (e.g., comments, annotations, documents).

They are usually visually distinguishable by an @ prefix followed by the identifier of a user, often in hypertext form (e.g., @mleduc).

This document first presents the specifications. Then the discussion list some topic for which no final decision has been made. Finally, the tasks section presents a more technical and fine-grained description of the tasks required for the integration of the mentions in XWiki.
Additionally, existing discussions list some discussions that are related to the topic of user mentions, and the comparison matrix present a partial view on the integration of user mentions in other wikis and social services.

Table of content

    1. Introduction
    2. Table of content
    3. Specifications
      1. Mentions Integration
      2. Notifications
        1. Notifications rules
        2. Notifications content
        3. Notifications answer
        4. Notifications settings
      3. Extensibility
    4. Discussions
      1. Requesting view rights
        1. Messaging
        2. Ad-hoc mechanism
    5. Tasks
      1. Rich editor integration
      2. UC1. Rich editor integration
      3. Adding an auto-completion on the rich editor
      4. UC2. Adding an auto-completion on the rich editor
      5. Mention macro
      6. UC3. Mention macro
      7. Mention macro settings
      8. UC4. Mention macro settings
      9. Mention in the syntax
        1. XWiki/2.2
        2. Other syntaxes
      10. UC5. Mention in the syntax
        1. UC5.1. XWiki/2.2
        2. UC5.x. Other syntaxes
      11. Mentions history
      12. UC6. Mentions history
      13. Notifications settings
      14. UC7. Notifications settings
      15. Tasks on Jira
      16. Answering to a notification from the notification
      17. Answer to a notification by email
    6. Existing discussions
      1. Links extensibility
    7. Comparison matrix

Specifications

Mentions Integration

It should be possible to add mentions to users or groups wherever XWiki syntaxes are supported.

A non-comprehensive list includes:

  • documents body
  • comments (integrate rich editor)
  • annotations (integrate rich editor)
  • textarea fields in AWM (the rich editor is a user choice in the AWM settings)
  • WARNING: other places ?

In the rich editor, it should be easy to include a mention using only the keyboard, and without having to use the macro section of the rich editor menu.

Mentions must be visually identifiable in the text, for instance, the user name or group could have a specific background color. Similarly, mentions to the current user and/or a group in which the current is must be highlighted in specific colors.

The default content of the display mention should be the first name + last name of the user. It should be possible to change the content to first name only, or to the login of the user. I don't know if it's a good idea to be able to allow to change the text of the mention for a free text (confusing, risk of link scamming...).

Mentions of removed users should still be displayed clearly, eventually identified visually that the user has been removed (which is not easy to identify in the context of AP for instance).

Notifications

Notifications rules

Mentioning a user of a group must trigger an event, eventually leading to the notification of the concerned users.

Nonetheless, users should not be notified several time for the same mention (e.g., when a document is edited and a mention to a given user was already in the document).

Notifications content

The content of a notification messages must include as much content as possible regarding the context in which the mention occurred. This content must be as specific as possible according to the type of entity in which the mention occurred.

A non-comprehensive list includes:

  • the user that made the mention
  • the type of entity in which the mention occurred
  • a direct link to the entity, e.g.,

    • the body of a document, ideally an anchor to the § where the mention occurs.
    • an anchor to a comment
    • an anchor to an annotation

Notifications answer

The most basic scenario is to click on the link in the notification and to interact with the wiki as usual

More advanced scenarios include:

  • having a form to interact with the content directly in the content of the notification created by the mention (TODO: create task)
  • being able to answer directly to mail eventually received as a notification of a mention (TODO: create task)

Notifications settings

Notifications of mentions should be integrated in the notifications settings of the wiki, using the notifications framework provided by XWiki.

Notifications must be activated by default to help users discover the new feature by receiving mentions.

image-20200507101357956.png

Extensibility

While the nominal scenario is the integration of mentions inside a XWiki instance (and its sub-wikis). The mentions features must be extensible to let extensions add new features on tops of the mentions.

The main use case of this is the integration of user mentions on ActivityPub (see https://design.xwiki.org/xwiki/bin/view/Proposal/ActivityPub).

The list of extension points should include:

  • users suggestions in the rich editor
  • an extension point on the notifications emission.

In addition, the core of the mentions must support unknown type of external users.

Discussions

Requesting view rights

If a user tries to access a document for which she does not have the read right (for instance, after being mentioned inside the given document), an action should allow to require an access to the page.

Messaging

The most basic solution is to simply send a message to the user that triggered the mentions, asking for access to the page.

Ad-hoc mechanism

A more advance solution could be to present a button that would send a query to whoever has the right to set the read right for this page.

Tasks

UCDepends onTitleComplexityPriority
UC1    
UC2    
     

Rich editor integration

UC1. Rich editor integration

The rich editor must be integrated on every textarea supporting the XWiki syntax.

  • Comments
  • Annotations

WARNING: other places?

Adding an auto-completion on the rich editor

UC2. Adding an auto-completion on the rich editor

Typing @ in the rich editor must present an autompletion of available users and groups and automatically insert the corresponding macro in the text.

Mention macro

UC3. Mention macro

The mention macro must allow to declare a mention. This macro has one field pointing to a single user or group.

The macro must be display in a distinctive and identifiable way.

Mentions to the current user and/or a group in which the current is must be highlighted in specific colors.

The text of the mention should be first name + last name, first name only or user login (the user defining the mention should be able to choose)

Mention macro settings

UC4. Mention macro settings

Variations points of the mention macro must be configurable in the skins administration

image-20200507110127020.png

Mention in the syntax

UC5. Mention in the syntax

Mentions could be integrated as first-class entities in some syntaxes supported in the wiki, if those syntaxes has a build-in support for it.

XWiki/2.2

UC5.1. XWiki/2.2

In the specific context of xwiki/2.2, user mentions could be build around the notions of link to users. See the discussions on Link extensibility.

Other syntaxes

UC5.x. Other syntaxes

TBD

Mentions history

UC6. Mentions history

A user must not be notified of a mention several times for the same entity (document, comment, annotation...).

A mapping between mentioned users (members of a group must be resolved to their individual users) and entities must be stored and used to identify the relevant notifications.

Similarly, only members present in a group prior to the group mentions should be notified.

A mapping between mentioned groups and entities must also be stored.

A notification is only send to individual users that have not already be notified, and to groups that have not already been notified. Only group members who have not already been notified are notified.

Notifications settings

UC7. Notifications settings

integrate settings in the configuration to activate mentions at the level of the administration and at the level of individual users.

image-20200507101630235.png

Tasks on Jira

Answering to a notification from the notification

When a mention link to a entity to which a user can answer (e.g., mentions and notifications), the mention must include a textarea allowing to quickly answer to the mention.

Answer to a notification by email

When a notification from a mention which a user can answer (e.g., mentions and notifications) is received by email, it should be possible to answer to the email.

The answer is then integrated as an answer in the web interface.

Existing discussions

This section collects existing discussions that are relates to concerns of interest in the context of user mentions.

Mentions in CKEditor https://forum.xwiki.org/t/user-mention-in-ck-editor/843

Links extensibility

Comparison matrix

ProductDocumentationActivityPub?Details
Mastodon yesWebfinger ids or user login for the local instance, prefixed with @.
Twitter noUser login prefixed with @
Wordpresshttps://wordpress.com/support/user-mentions/yes (by extension)User login prefixed with @
Discourse noUser login prefixed with @
Jira noUser login prefixed with @
MediaWiki  Special link format ([[User:Username]])
Drupalhttps://www.drupal.org/project/mentions Special link format ([@userlogin]). Displayed with the user login prefixed with @
Confluencehttps://confluence.atlassian.com/doc/mentions-251725350.html User login prefixed with @


 

Get Connected