Advertisement:

Author Topic: Dealbreaker: More topics may be posted, but you won't receive more email notif..  (Read 3762 times)

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Hi guys,

currently I'm migrating one community to SMF. In previous forum there was ability to subscribe to all new topics, so there is already a speed bump for the users, as they have to subscribe to all boards individually. It looks that they did, but...

I realized that there is even bigger road bump and I think if we can resolve this one, that would benefit all SMF forums, as it would much improve the activity of users. I'm talking about "More topics may be posted, but you won't receive more email notifications until you return to the board and read some of them."

So users are used to get notifications and visit forum only when they see something interesting for them, that sounds very logical. But for some reason forum software decides, to not give you more updates, unless you show up. For busy people this is not good.

Is it possible to introduce an option to set this, or perhaps solve it other ways?

Thank you!

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
I was analyzing my work flow and realized that there is even bigger problem with this approach. Let's say I get new topic notification titled "Soccer practice this Tuesday", if I'm not involved with soccer team, I will just delete that email without even opening it. So I will never see that dreaded warning "More topics may be posted, but you won't receive more email notifications".

That means several unimportant notifications prevent members from getting following notifications they really care about. This behavior should be set not by forum, but admin or even better by users.

Overall I would also suggest making it in bold for anyone to take notice.

In essence everything is about time management: I spent 5 sec. in my mailbox to decide if this piece of information has value for me, done, I don't want to go to forum to spend another 5 mins to look for something of value for me.

I hope I made the case ;)

Online Aleksi "Lex" Kilpinen

  • A Peculiar Finn
  • Lead Support Specialist
  • SMF Super Hero
  • *
  • Posts: 17,494
  • Gender: Male
  • Don't worry, I'm n00b friendly
    • Aleksi.Kilpinen on Facebook
    • aleksi-kilpinen on LinkedIn
There are options for notifications in everyone's profile, that can be used to control how they are being notified. Have you looked at those options?
A Finnish Support Specialist
 Happily running multiple SMF 2.0 installations.

How you can help SMF

"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum.
 Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Yes, but this is affected across the board, because forum makes this restriction.

This is excerpt of the Notification email:

Quote
A new topic, 'Football Camp', has been made on a board you are watching.

You can see it at

http://address.org/forum/index.php?topic=43.new#new

More topics may be posted, but you won't receive more email notifications until you return to the board and read some of them.

The text of the topic is shown below: ...

There is no option to set this behavior.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
These are my settings.

But the subscriptions are set on board view and I set to get notifications and emails. And that email part is governed by the forum.

Offline @rjen

  • Jr. Member
  • **
  • Posts: 281
  • Gender: Male
It seems you are looking for newsletters instead of notification .

My users would go nuts if they received a notification for each post added to a board.
Running SMF 2.0 with Tinyportal 1.6.0 at www.fjr-club.nl
Testing SMF 2.1 beta 4 with Tinyportal 1.6.1 at http://test2.fjr-club.nl/

Online Aleksi "Lex" Kilpinen

  • A Peculiar Finn
  • Lead Support Specialist
  • SMF Super Hero
  • *
  • Posts: 17,494
  • Gender: Male
  • Don't worry, I'm n00b friendly
    • Aleksi.Kilpinen on Facebook
    • aleksi-kilpinen on LinkedIn
These are my settings.

But the subscriptions are set on board view and I set to get notifications and emails. And that email part is governed by the forum.
Ok, that seems to have changed a bit from the times of 2.0.
But would seem like it is intentional if that text is included in the notification.
A Finnish Support Specialist
 Happily running multiple SMF 2.0 installations.

How you can help SMF

"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum.
 Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
It seems you are looking for newsletters instead of notification .

My users would go nuts if they received a notification for each post added to a board.

But your users <> my users. My users have perhaps 5 min. per day for these things and they make decisions in the mailbox. Forum should accommodate all types of users ;)

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Ok, that seems to have changed a bit from the times of 2.0.
But would seem like it is intentional if that text is included in the notification.

I'm not sure what was the rationale, but it was clearly not accounting for all circumstances. I hope now we can fix it and make forum better.

I guess it is good to have that option to withhold new topic notifications, but that clearly should be changeable, as it is not good for other communities.

Offline Kindred

  • The Mean One
  • Support Specialist
  • SMF Legend
  • *
  • Posts: 57,235
  • Gender: Male
    • Kindred-999 on GitHub
In this case, it is completely intentional.

a user asks  for notifications for a board or a topic.
there are new posts in that board or topic.
They get a notification that there have been new post(s) made in the board or topic
They will not receive any further notifications in that board or topic until they have logged into the forum at least once.

This is correct.
AFAIK, this is how SMF has always handled it.


Think about it -- if I run a forum with 20,000 users, 20 boards and 1/2 million topics (and yes, I do)
if a message got sent out EVERY TIME there was a new post, your mail server would crumple into tinfoil.
Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Think about it -- if I run a forum with 20,000 users, 20 boards and 1/2 million topics (and yes, I do)
if a message got sent out EVERY TIME there was a new post, your mail server would crumple into tinfoil.

My problem is not about notifying for every new post, but about every new Topic. Your user may subscribe only to few boards and he should be able to get notification for every new TOPIC because not every topic is important to every user, so users may disregard few notifications about not important topics and after that there would be dead silence from the forum, as nothing is going on, and there may be other important new topics for the user, some of them perhaps even time sensitive, but user will never know about them.

For this reason, it is good to make this forum behavior as setting to allow admin, or even users set it otherwise, so every new topic on the board (not every post) would be announced if admin or perhaps even user selected so.

And if you have super large forum, as admin you could disable this behavior, but other forums with different users could have this available. That would make SMF better and more flexible, not catering for a specific cohort of use cases.

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,459
    • StoryBB/StoryBB on GitHub
Fairly sure this is a bug. You have configured it correctly but I think the notification email misleads you.

Does it actually only notify on new topics? (Try using two accounts for testing purposes)

Note that using 2.1 on a production site is not recommended if you can’t debug issues that arise as it is BETA software.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
It looks to me that currently SMF 2.1 works as it was intended (although it was not the best decision as we see now). This we see from the warning included with the message itself:

"More topics may be posted, but you won't receive more email notifications until you return to the board and read some of them."

New Topic notification notifies you only about 1 or 2 new topics, after that even if there are more new topics, I would not get notifications.

I know about the Beta dangers, but it let's me use some new features I need and in return I'm participating in the development with bug reports  O:)

Offline Kindred

  • The Mean One
  • Support Specialist
  • SMF Legend
  • *
  • Posts: 57,235
  • Gender: Male
    • Kindred-999 on GitHub
hmmm.....    I could be wrong, but I believe that it only notifies you of the FIRST new topic in a watched board - and then resets the notification when you visit, so the next one will notify you...    any additional topics between the notification and the visit will not send a notification


Yes. Confirmed on my 2.0 test site.

New user added
set up notification for the "Another Board"
logged out
log in as test user
make posts in "Another Board"
test 1
test 2
test 3

email only delivers a notification of the "test 1" post


this is the expected behavior as I have always understood it.

I understand what the OP is asking for and why... but I can still see that absolutely killing the email queue of a large site.
I'm not even saying that he is wrong... I would argue that his use case is actually the edge case in this instance, however.
(same as not allowing someone to "watch/subscribe" to EVERYTHING with a single click.)

(and, Tomas, there is no function for the admin to disable the users' ability to add notifications/watched topics/boards.

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

Offline Bigguy

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 12,664
  • Gender: Male
  • Be nice, or else....
    • smfbigguy on GitHub
    • Whats Ur Beef
Well, this makes a lot of sense.(I'm being serious actually) I thought the system was broken but it's not. I understand why it is like this as well. I never knew that. Thanks Kindred.

Offline Kindred

  • The Mean One
  • Support Specialist
  • SMF Legend
  • *
  • Posts: 57,235
  • Gender: Male
    • Kindred-999 on GitHub
Confirmed.... the same thing happens on 2.1

Settings:
How frequently to tell me: Straight away
When a board I follow gets a topic, I normally want to know via...  email



Still only notified me of the FIRST new topic - and won't notify me of any more until I visit the forum.
Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Interesting, are there stats about the SMF installations, eg. what is the breakdown between large/medium/small communities. Because then it may not be an edge case after all.

I don't know if it would be difficult to add this option, but perhaps there could be an easy code hack to remove that 1 notification limit that could be applied to specific SMF file?

Or perhaps there could be an option about how many Notifications to send until stop, with the option 0 to let it work without restrictions?

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,459
    • StoryBB/StoryBB on GitHub
Then it's a bug because in the 'how frequently to tell me' dropdown there are two options.

The first relevant option says 'Straight away', the second says 'Straight away (but only for the first unread message)'.

Since you're describing the behaviour of the latter but the screenshot clearly shows the former, something is broken.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Brilliant! Thank you!  ;D ;D ;D

Edit: Although this setting ('Straight away (but only for the first unread message)'.) may be related to a post reply notifications, not the board - new topics.

Offline Illori

  • Project Manager
  • SMF Master
  • *
  • Posts: 49,991
Brilliant! Thank you!  ;D ;D ;D

does that mean this resolved your issue?

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
That hopefully means that we confirmed that it is a bug :)

Offline Illori

  • Project Manager
  • SMF Master
  • *
  • Posts: 49,991
well, did you have it set like described? if so does it work as expected?

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Yes, I included the screenshot of my settings in the first few posts. It worked as I would not expect, but it looks that it is a long standing bug.

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,459
    • StoryBB/StoryBB on GitHub
I don't think it's a long standing bug per se - because it certainly worked correctly in 2.0.

I think it's the result of the notifications UI being overhauled and not thoroughly tested.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline Kindred

  • The Mean One
  • Support Specialist
  • SMF Legend
  • *
  • Posts: 57,235
  • Gender: Male
    • Kindred-999 on GitHub
well, it definitely COULD be hacked/modded...  I don't know how easy the mod would be though.
IIRC the notification code is complicated.

Code: (In Post.php) [Select]
// Notify members of a new post.
function notifyMembersBoard

but I'm not certain form just a quick look, which variable or code to change....



Incidentally, looking though, I just realized that the admin CAN turn off the ability to set a notification/watch....
   Request notification on replies          
   Request notification on new topics
settable by group permissions.





I'm still not sure it's a bug so much as a misunderstanding -- if it's a bug, it has existed since 1.1.x, since this is the way it's worked for as long as I've used the software.  (and you say it worked correctly in 2.0, arantor - but this is the way it always worked in 2.0, to the best of my memory.)
Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,459
    • StoryBB/StoryBB on GitHub
If that was the case, what is the difference between "Instantly" and "Instantly (but only for the first unread reply)" as observable on this site?
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline Kindred

  • The Mean One
  • Support Specialist
  • SMF Legend
  • *
  • Posts: 57,235
  • Gender: Male
    • Kindred-999 on GitHub
I'm not sure... but I am fairly sure that this is the way it has been working for years, if not more.
Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
I opened the ticket at:

https://github.com/SimpleMachines/SMF2.1/issues/4869

I looked at CreatePost-Notify.php and it looks that code only foresees this one action: notify once. Could anyone suggest how to change the code, so all new topics would be notified?

Code: [Select]
// A new topic in a watched board then?
elseif ($type == 'topic')
{
$pref = !empty($prefs[$member]['board_notify_' . $topicOptions['board']]) ? $prefs[$member]['board_notify_' . $topicOptions['board']] : (!empty($prefs[$member]['board_notify']) ? $prefs[$member]['board_notify'] : 0);

$content_type = 'board';

$message_type = !empty($frequency) ? 'notify_boards_once' : 'notify_boards';
if (!empty($prefs[$member]['msg_receive_body']))
$message_type .= '_body';
}

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
I asked for a paid help:

https://www.simplemachines.org/community/index.php?topic=561416.0

I hope someone will be able to fix this bug.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Hi, guys,

really need your help  :-\

Nobody responded yet to my post here or on the github, to take this job even for the fee. I also privately contacted several SMF devs, but they don't want to take the job too. I have the feeling that it is much deeper burred in the core, so only experienced SMF devs can actually work on it.

Can anyone recommend SMF developers, so I could try to reach them out, hoping they would have reasonable price tag and that they would be able to make this fix/improvement, so whole SMF community would benefit if it would be implemented with admin/user option.

Thank you!

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,459
    • StoryBB/StoryBB on GitHub
No one is interested? Mind you, getting anyone to even acknowledge this as a bug is hard even though it clearly is.

I’d do it but given that recently I’ve had people telling me things are hard, then going mysteriously quiet when I offered a solution, so I decided not to bother actually submitting any more code to 2.1, and I certainly wouldn’t take your money without being 100% confident of it becoming core. (Honestly I probably wouldn’t take your money period, but that’s another story.)
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
I would love to see this as part of the core!

I'm between two hard places now. I migrated whole community to SMF, but because members don't get regular notifications, they are going back to old forum, so I'm in desperate need to be able finish the transition.

There is nothing wrong to be compensated for your job! ;)

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,459
    • StoryBB/StoryBB on GitHub
That’s a highly dangerous line of thought around here.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Online Aleksi "Lex" Kilpinen

  • A Peculiar Finn
  • Lead Support Specialist
  • SMF Super Hero
  • *
  • Posts: 17,494
  • Gender: Male
  • Don't worry, I'm n00b friendly
    • Aleksi.Kilpinen on Facebook
    • aleksi-kilpinen on LinkedIn
I would call it a bug, and so it's good it's already on github. Should definitely be fixed, since the UI gives an appearance of having choices, yet they do not work like one would expect them to.
A Finnish Support Specialist
 Happily running multiple SMF 2.0 installations.

How you can help SMF

"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum.
 Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

Offline Virginiaz

  • Semi-Newbie
  • *
  • Posts: 47
TomasM, I took a look at CreatePost-Notify.php and I believe I identified the exact problem:

In my copy of CreatePost-Notify.php, around or at Line 119 is the following conditional statement:

Code: [Select]
            if ($frequency > 2 || (!empty($frequency) && $data['sent']) || in_array($member, $done_members)
                || (!empty($this->_details['members_only']) && !in_array($member, $this->_details['members_only'])))
                continue;

(!empty($frequency) && $data['sent'])

^ In italics is the relevant part. 'sent' (*_log_notify in database) is changed from 0 to 1 when the user has an outstanding notification for a board/topic, and it's flipped back to 0 when they read that board/topic. The problem here is that the code assumes that ANY notification frequency under <= 2 should have the 'sent' value checked, when the only option that (I think) should have that checked is 2 - aka, "Straight away (but only for the first unread message)". The correct fix here is to make sure it checks the value of $frequency:

Code: [Select]
            if ($frequency > 2 || ($frequency == 2 && $data['sent']) || in_array($member, $done_members)
                || (!empty($this->_details['members_only']) && !in_array($member, $this->_details['members_only'])))
                continue;

I tested the above code and it fixed the problem (I reproduced the issue as I understood it). Email/alerts were issued after each new topic on watched board when user had the "Straight Away" option selected. Functionality performed as expected when the other one (unread replies only) was selected.

-

It's pretty late, and it took me a bit to familiarize myself with that file's code, so this is kind of rushed. Backup the file before you make the change, but it should be OK afaik. I'll leave it to you to figure out if there are any unforeseen issues or other complications.
« Last Edit: August 08, 2018, 02:51:38 AM by Virginiaz »

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,459
    • StoryBB/StoryBB on GitHub
Have to say at a glance, that looks legit. Needs more testing and I didn't expect it to be a huge piece of work, I'm just super bitter about contributing to SMF 2.1 these days.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Hi, Virginiaz, thank you very much for the valuable input!

About a month ago there was a commit that changed the string in question from:

Code: [Select]
if ($frequency > 2 || (!empty($frequency) && $data['sent']) || in_array($member, $done_members)
to

Code: [Select]
if (empty($frequency) || $frequency > 2 || $data['sent'] || in_array($member, $done_members)
Could you please recommend how to implement your fix for the new version of this line?

Thank YOU very much!

Offline Virginiaz

  • Semi-Newbie
  • *
  • Posts: 47
Hi, Virginiaz, thank you very much for the valuable input!

About a month ago there was a commit that changed the string in question from:

Code: [Select]
if ($frequency > 2 || (!empty($frequency) && $data['sent']) || in_array($member, $done_members)
to

Code: [Select]
if (empty($frequency) || $frequency > 2 || $data['sent'] || in_array($member, $done_members)
Could you please recommend how to implement your fix for the new version of this line?

Thank YOU very much!
If that commit goes into the final project, it means every notification frequency will be subject to the unread replies behavior. In other words, you'll never get more than one notification if you don't go back and read after each one (not sure how the 'digests' options are handled tho). It will perpetuate this same issue and maybe cause others.


-


Just do what I said in my post. Replace the code I mentioned in the first code box with the code in the second box. I explained it thoroughly.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
Thank you!

Will do, I just wanted to let you know about the new version.

Offline Virginiaz

  • Semi-Newbie
  • *
  • Posts: 47
oops, I had misread your post, I interpreted it as how to implement the changes in general, not for the new one.

Ok, I just looked up the commit you referred to, and it appears they were fixing another issue about it apparently not respecting a user's choice to not receive notifications, which they did, but it didn't fix your issue and if anything might have created another one (not entirely sure right now). Here are the new revisions:

Code: [Select]
            if (empty($frequency) || $frequency > 2 || ($frequency == 2 && $data['sent']) || in_array($member, $done_members)
 || (!empty($this->_details['members_only']) && !in_array($member, $this->_details['members_only'])))
                continue;

That ^ respects the changes made in the aforementioned commit without causing any other issues. Although I want to note that I'm not endorsing that person's changes. I don't know if what they did is correct or makes the notifications behave as expected. I'm just giving you an alternative version of my fix that works with it.

Also apologies if I came off rude before.

Offline TomasM

  • Semi-Newbie
  • *
  • Posts: 33
    • mtomas7 on GitHub
No, you were not rude, don't worry :)

I tested your original fix and it works, so for now I will not mess with the new stuff, I will try to push them a bit, so they would take a look at this issue.

Perhaps you would like to propose a commit at Github?

Online Aleksi "Lex" Kilpinen

  • A Peculiar Finn
  • Lead Support Specialist
  • SMF Super Hero
  • *
  • Posts: 17,494
  • Gender: Male
  • Don't worry, I'm n00b friendly
    • Aleksi.Kilpinen on Facebook
    • aleksi-kilpinen on LinkedIn
I am a bit confused about that commit actually, as that should never be empty I think. It should be a predefined member option.
Just thinkin "out loud" , I may be wrong too....
« Last Edit: August 09, 2018, 12:53:40 AM by Aleksi "Lex" Kilpinen »
A Finnish Support Specialist
 Happily running multiple SMF 2.0 installations.

How you can help SMF

"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum.
 Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

Offline ChristineBehm

  • Newbie
  • *
  • Posts: 1
I'm not a computer person, but I want to say THANK YOU to Virginia Z for working to fix our forum!!

Tomas very generously volunteered to put together a new forum for our group of about 100 homeschool families. After all the hours of work he gave, on top of members time in learning to navigate it, and all the hopes we had for using it, it would have be a big loss for us to accept letting it go. We can't use it, though, if we're not getting other members' posts.

Thank you, again, for your time and work to fix our forum glitch. Our families will be grateful for years to come, as we are better able to communicate, working together in our homeschool endeavors!