Ignore Topics/Mark as Read all the time/Unsubscribe topic

Started by Adish - (F.L.A.M.E.R), April 09, 2010, 10:35:23 PM

Previous topic - Next topic

Arantor

* Arantor reads that last post from him, thinks he got the negatives messed up. But yeah, if it's 'thanks' it can go.

Might have to look through that myself actually.
Holder of controversial views, all of which my own.


青山 素子

Just had to get this in:

Quote from: (F.L.A.M.E.R) on April 10, 2010, 03:59:49 PM
I suppose the advertisements it shows is coded for its own special needs. Its not a mod that is made public.

It's not even a mod. The advertising back end is OpenX and the invocation code that it generates is added right into the template file. I believe the most complicated thing is there is a variable a site page can set to change the zone that ads are counted against.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


Adish - (F.L.A.M.E.R)

Quote from: Motoko-chan on April 11, 2010, 12:58:07 PM
Just had to get this in:

Quote from: (F.L.A.M.E.R) on April 10, 2010, 03:59:49 PM
I suppose the advertisements it shows is coded for its own special needs. Its not a mod that is made public.

It's not even a mod. The advertising back end is OpenX and the invocation code that it generates is added right into the template file. I believe the most complicated thing is there is a variable a site page can set to change the zone that ads are counted against.

Never knew about it. Although I think they have the adverts switching from the personal adverts to the public adverts by OpenX. That is what is custom coded I suppose ?

- Can someone implement some feature like this please. I have my view unread replies flooded literally every day which I currently don't want to view. :(

青山 素子

Quote from: (F.L.A.M.E.R) on April 17, 2010, 07:40:33 AM
Never knew about it. Although I think they have the adverts switching from the personal adverts to the public adverts by OpenX. That is what is custom coded I suppose ?

It's the install of OpenX, not the market. No custom code, even AdSense is delivered through OpenX. The banner on the bottom of each page is hardcoded AdSense code.

* Motoko-chan used to manage all the advertisements.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


Adish - (F.L.A.M.E.R)

ooohh!!!
I get it now...:)

Thanks for expanding my knowledge over this. Was it fun managing the advertising bit :P ?

青山 素子

Quote from: (F.L.A.M.E.R) on April 17, 2010, 01:52:15 PM
Thanks for expanding my knowledge over this. Was it fun managing the advertising bit :P ?

It was interesting at times.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


Adish - (F.L.A.M.E.R)

Maybe Liroy does it now... seems simple when it is once setup'ed

Norv

Back to the OP: good idea, methinks.
I didn't see anything from previous implementations/discussions, yet. But it sounds like a very good idea and it'd be worth taking a look at what could be done, as soon as I have some time for this. (which cannot really be soon, I'm afraid)

* Norv marks the topic with this reply... to be forever in my list, heh.
(start za wars now, so I can hate it! ;D )
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

Adish - (F.L.A.M.E.R)

How about running Cron while every user logs in? Would that overload the server and burn it into ashes ? ;D

Arantor

How does running cron when a user logs in come into it?
Holder of controversial views, all of which my own.


Norv

By making SMF write into its schedule files that it needs to run in the next minute. *sagenods*
(what I just said is a horrible idea for more reasons including security, btw, I am joking)

And the task to run will be to write into the database the former post as last read, hah. So no matter which is last, it will always magically become unread.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

Arantor

I don't get why you need to invoke cron whatsoever. Y'all building a castle to put a coat hanger on.

In vbgamer/Karl's mod's thread I posted a hack that did the same thing with minimal performance pain by making sure the value injected into the last-read was 2147000000 or so ;)
Holder of controversial views, all of which my own.


Adish - (F.L.A.M.E.R)

ehh, i thought over about it, it doesn't really work the way I thought.

Below is the idea:

Well, if we are implementing something like, 'Mark specific topics as read', users can put in topic ID in a field and every time the user logs in, a cron job is ran which would mark the topic as read if they are updated. But the bad thing is, if the topic gets updated after we login, it will then show up. There could be a way to mark it as read until they logout. (Maybe constant queries being ran in the background, but this will really burn the MySQL server into ashes) After they logout, the cron job will no longer run and the queries being ran in the background will stop.

The next time they login, the same cycle continues.

Arantor

Let me explain how SMF tracks new replies.

When you read a topic the id of the last message you read (or the highest msg id on the forum if it's the last page) is inserted into the log of read topics.

If you fudge that figure, it will remain set if you do it right (like I did in the hack I was kind enough to actually publish)
Holder of controversial views, all of which my own.


Norv

Quote from: Arantor on April 19, 2010, 07:14:50 PM
I don't get why you need to invoke cron whatsoever. Y'all building a castle to put a coat hanger on.
Arantor, I was joking.

Quote from: (F.L.A.M.E.R) on April 19, 2010, 07:15:17 PM
Below is the idea:

Well, if we are implementing something like, 'Mark specific topics as read', users can put in topic ID in a field and every time the user logs in, a cron job is ran which would mark the topic as read if they are updated. But the bad thing is, if the topic gets updated after we login, it will then show up. There could be a way to mark it as read until they logout. (Maybe constant queries being ran in the background, but this will really burn the MySQL server into ashes) After they logout, the cron job will no longer run and the queries being ran in the background will stop.
Hmm. It could be done so that every time a post is made, the "ignoring ones" (members who unsubscribed) would be checked, and if you find people ignoring this, you  add this post as being the last read by them.  Just like it's currently checked who should be notified, and they are notified.
Just throwing out an idea, no more.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

Arantor

*headdesk*

You're discussing how to reimplement what has already been done, proven to work and works quite successfully, without any of the extra overheads you're talking about.

When you get five minutes, check out http://www.simplemachines.org/community/index.php?topic=240146.msg2578173#msg2578173
Holder of controversial views, all of which my own.


Norv

Leave the desk and the head apart, please. :)
They don't get along together, really.

Taking a look in a minute, then, thank you for the link.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

Norv

Ah. Hah.
I can see why you say it's hackish (it's not orthodox IMO as well, to forcefully set the maximum possible value - that messages don't get to, as the last read of that user in the respective topic), but clearly the minimum performance penalty. Might even help overall, with its notifications clearing. (it also clears email notifications for that topic)
... On second thought, this may or not be wanted, tbh. There are cases when I prefer to read news on topics by email, but I might put them on ignore to not interfere with forum experience as they currently do.

Anyway, it seems a good solution to me. Thank you for sharing.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

wynnyelle

My members complain about this problem all the time. We have bookmarks, some just choose not to use them. We also have a few hundred topics and a couple thousand posts getting created daily. It doesn't make sorting through all the newly replied to stuff easy at all, the new replies thing has become virtually unusable. Considering that SMF is designed for small AND large boards I'm surprised there isn't a built in function for this already, or at least a mod.

I second the creation of this :)

Arantor

I'm really impressed at how much work this thread has caused.

I am only going to say this one more time.

There are already two mods for this, one is on the mod site, currently maintained by vbgamer45, called Ignore Topics. In the "Support and comments for this mod", I propose a second method, it's unorthodox as mentioned above, but it does the job in an interesting and reasonably efficient way.

I even linked to my version, what... 4 posts up, and it's in the right thread right there...
Holder of controversial views, all of which my own.


Advertisement: