-
Improvement
-
Resolution: Fixed
-
Minor
-
3.6
-
MOODLE_36_STABLE
-
MOODLE_36_STABLE
-
MDL-63282_master -
Scope:
This issue assumes the work in This issue can proceed without the group-linking work.MDL-63280 is complete so we have conversations linked to course groups (the ability to do so).
- Update the backend APIs for messaging search as follows (We ONLY want to update search_* functions - so things like search_contacts and search_messages. The get_ functions are different and should have been handled in
MDL-63280):- Results should reflect the 'site-wide messaging' admin setting .
- If site-wide is disabled, results restricted to only those users sharing courses with the current user.
- If site-wide is enabled, results show any users
- FOLLOW UP MDL: Limit users returned based on user visibility in the site/course.
- Users included, regardless of personal messaging privacy settings - this only comes into play when we want to initiate a conversation (or contact request) with someone - so we don't need to factor it in to search criteria, thankfully.
- Should be able to search for:
- Users who I don't have a conversation with (match user's first / last name / any existing fields we match on already), returning user
- Names of users who I do have a conversation with (match user's first / last name), returning messages the user sent
- Contents of messages in conversations I'm a part of, returning messages
- When returning users, inclusion of relevant information about the person
- whether a contact or not (may already be present - need to check)
- When returning messages, Inclusion of relevant information relating to the message
- conversation details:
- course name (if applicable) - depending on how
MDL-63280has been implemented, there may be a generic way to get 'relevant details' of what a conversation has been linked to - check there first!! - group name (if applicable) - depending on how
MDL-63280has been implemented, there may be a generic way to get 'relevant details' of what a conversation has been linked to - check there first!! Is the conversation a favourite? (Blocked byWe don't need to show this.MDL-63213for now)
- course name (if applicable) - depending on how
- Name of the user who created the message
- Message time
- conversation details:
We need to allow filtering by conversation, to facilitate searching for messages within a conversation.SeeMDL-63681for conversation searching.
- Results should reflect the 'site-wide messaging' admin setting .
We also need to create a new web service aggregating the above search methods into a single call which can be made by the front end.Let's focus on getting the required information in the existing service first, before we worry about this. The current prototype UI works with the existing services, but just needs some additional information.- Web service implementation should make considerations for lazy loading / batching.
- Deprecation of old search search APIs and web services, where no longer applicable.
This issue has a wide scope, so may be better split into several smaller issues.
- blocks
-
MDL-63303 Messaging: UI: Base version of new UI for 3.6
-
- Closed
-
-
MDL-63288 Messaging: Extend user search API to properly check user visibility in course/site
-
- Closed
-
-
MDL-63307 Messaging: UI: Add 'searching within a conversation' feature to the new UI
-
- Closed
-
- has to be done before
-
MDL-63911 Adapt behat tests to new group messaging functions and UI
-
- Closed
-
-
MDL-63912 Deprecate search_users and search_users_in_course in api.php
-
- Closed
-
-
MDL-63681 Messaging: Allow searching within a conversation
-
- Closed
-
-
MDL-63858 Improve message_search_users queries from performance perspective
-
- Closed
-
-
MDL-63859 Improve permissions checks in message API
-
- Closed
-
- is blocked by
-
MDL-63213 Make conversations favouritable
-
- Closed
-
-
MDL-63279 Messaging: Add admin setting for toggling site-wide messaging
-
- Closed
-