Moodle
  1. Moodle
  2. MDL-40483

Add allowforceUNsubscribe option to allow some users to opt out of forced forum subscription

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 2.3.7, 2.4.8, 2.5.4, 2.6, 2.6.1
    • Fix Version/s: FRONTEND
    • Component/s: Forum
    • Labels:
    • Affected Branches:
      MOODLE_23_STABLE, MOODLE_24_STABLE, MOODLE_25_STABLE, MOODLE_26_STABLE
    • Rank:
      51288

      Description

      Since Moodle 2.3, we've had a mod/forum:allowforcesubscribe option which affects who receives e-mails for a forum in 'Force subscribe' mode.

      This appears to be causing a bit of confusion, and some consternation amongst both our staff and elsewhere (e.g. MDL-38224).

      One of the nice features about force subscription mode is that it allows us to prevent students from unenrolling from a forum; however, we have to make an all-or-nothing choice for our staff to and this is less ideal. With several thousand academic staff there are bound to be differences of opinion and at present we can only set this sensibly at the site level so that those staff either do, or do not receive e-mail in force subscription forums. Either way, there is always a party which is unhappy.

      I'd like to propose a change to the way that we handle force subscriptions to ease this:

      • incorporate the changes suggest by Gilles-Philippe Leblanc in MDL-38224 and actually add all members with the allowforcesubscribe capability to the list of subscribers; and
      • add a new allowforceUNsubscribe capability to allow staff to unsubscribe at will.

      This will allow institutions to:

      • maintain the forced subscription for students; and
      • enrol staff by default but give them the option of opting out if they do not have an interest in a particular forum.

      I'd appreciate some feedback on this proposal before starting any coding.

        Activity

        Hide
        Andrew Nicols added a comment -

        Having looked around this code a little, I think that there are two ways to handle this:

        1. Create an entry for all users enrolled in a forum in the forum_subscriptions table, regardless of how they were enrolled; or
        2. add an additional table for forum_unsubscriptions; or
        3. add a field to forum_subscriptions indicating whether the user is opting in, or opting out.

        Option 1 involves adding a potentially massive amount of data to Moodle and IMO may be best avoided
        Option 2 seems like it would add a huge amount of confusion
        Option 3 seems like the best approach to me. It will require changing a small amount of code in core (~=20 lines) to be aware of the potential dual nature. The greater concern is if there are any third-party modules hooking into forum_subscriptions and doing anything with the data.

        I still think that option three is the most appropriate and least counter-intuitive. The table is there to provide metadata about a user's subscription status which could be to say that they are unsubscribed.

        Any feedback on the above would be much appreciated.

        Show
        Andrew Nicols added a comment - Having looked around this code a little, I think that there are two ways to handle this: Create an entry for all users enrolled in a forum in the forum_subscriptions table, regardless of how they were enrolled; or add an additional table for forum_unsubscriptions; or add a field to forum_subscriptions indicating whether the user is opting in, or opting out. Option 1 involves adding a potentially massive amount of data to Moodle and IMO may be best avoided Option 2 seems like it would add a huge amount of confusion Option 3 seems like the best approach to me. It will require changing a small amount of code in core (~=20 lines) to be aware of the potential dual nature. The greater concern is if there are any third-party modules hooking into forum_subscriptions and doing anything with the data. I still think that option three is the most appropriate and least counter-intuitive. The table is there to provide metadata about a user's subscription status which could be to say that they are unsubscribed. Any feedback on the above would be much appreciated.
        Hide
        Alistair Spark added a comment -

        I agree that this a significant issue.

        I would just take the inverted approach to it & the capability.

        The assumption is that by default in a forced subscribed forum, students will have the /mod/forum:allowforcesubscribe set to allow in order to be force subscribed to the forums but staff would not have /mod/forum:allowforcesubscribe set to allow since there tends to be a lot of teaching staff on a course but very few would want to be receive the emails. Currently with this setup most staff are happy because they don't receive unrequested emails; however they do not have the option to choose to receive emails.

        With the naming of /mod/forum:allowforcesubscribe , this permission comes across as Allow Moodle to Force Subscribe this user. However, if Moodle doesn't have the permission to force subscribe the user, the user should be given the option to subscribe himself.

        This does seem to have been alluded to when the /mod/forum:allowforcesubscribe was implemented but it was overlooked.

        Show
        Alistair Spark added a comment - I agree that this a significant issue. I would just take the inverted approach to it & the capability. The assumption is that by default in a forced subscribed forum, students will have the /mod/forum:allowforcesubscribe set to allow in order to be force subscribed to the forums but staff would not have /mod/forum:allowforcesubscribe set to allow since there tends to be a lot of teaching staff on a course but very few would want to be receive the emails. Currently with this setup most staff are happy because they don't receive unrequested emails; however they do not have the option to choose to receive emails. With the naming of /mod/forum:allowforcesubscribe , this permission comes across as Allow Moodle to Force Subscribe this user. However, if Moodle doesn't have the permission to force subscribe the user, the user should be given the option to subscribe himself. This does seem to have been alluded to when the /mod/forum:allowforcesubscribe was implemented but it was overlooked.

          People

          • Votes:
            3 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

            • Created:
              Updated: