26

Re: proper "mark as read" functionality

Rickard wrote:
sparq wrote:

Also there is one thing I would like to know: is there a reason for why "Show recent posts"
has a time limit while there is no time limit for "Show unanswered posts"?

Let's say that you log in to your account but you don't have time to read all new posts, then the posts will not be marked as unread the next time you log in. Then you can find these posts with "Show recent posts" but not if you wait to long to log in again, because of the time limit. Because of this I think it would be great to take the time limit away. But maybe there's some other reasons for keeping it?

It's the same issue. We would have to keep track of the viewing of all topics from all users. It's just not feasible from a database standpoint.

Right me if I'm wrong, but I guess you misunderstood me. I'm talking about the "Show recent posts" link that should just need a time search.

27

Re: proper "mark as read" functionality

And I suppose that's not good, right?

Its not good because its exactly the same as looking at a forum without searching at all.

But I want to ask you this: What is the advantages of defining the days to search for, I mean, it's still sorted by time, so why not just search for let's say 2 weeks no matter how old posts you are looking for?

Lets say you have a big forum and several hundreds of posts in the last 2 weeks. First of all its hell of a waste of effort producing all those results pages when they are not needed. Second, if say you have 30 pages of results of posts within the last 2 weeks do you really want to have to go through them to find the point you actully wanted to start at.

28

Re: proper "mark as read" functionality

Paul wrote:

And I suppose that's not good, right?

Its not good because its exactly the same as looking at a forum without searching at all.

But I want to ask you this: What is the advantages of defining the days to search for, I mean, it's still sorted by time, so why not just search for let's say 2 weeks no matter how old posts you are looking for?

Lets say you have a big forum and several hundreds of posts in the last 2 weeks. First of all its hell of a waste of effort producing all those results pages when they are not needed. Second, if say you have 30 pages of results of posts within the last 2 weeks do you really want to have to go through them to find the point you actully wanted to start at.

Thank you Paul for answering me wink

One more question:
If you are searching for a post that is let's say 2 days old, and you define to search for posts not older than 2 days, then you can jump to the last page in the search and start from there. Is this what you mean?

Re: proper "mark as read" functionality

Paul wrote:

Thinking about it, I'm rather surprised that nobody has produced a mod which adds time to the search criteria. On a big board it might be quite useful to say list all posts/topics in a particular forum which are less than 2 weeks old. That way if you've been away on holiday you don't have to trouble about new post indicators, you just do  a time limited search. Like I say, I'm surprised it hasn't been done as anybody who knows a bit of sql could do it easily. In fact, its probably just a cut and paste job on the existing search functions.

Actually, to make this a lot easier, maybe I will just change the parameter for "Recent posts" from show_24h to an integer so that people can change it themselves if they want to. An extension could then easily add a new search option. I'll put it on the list.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

30

Re: proper "mark as read" functionality

Sounds great Rickard! smile

Re: proper "mark as read" functionality

Rickard wrote:

Actually, to make this a lot easier, maybe I will just change the parameter for "Recent posts" from show_24h to an integer so that people can change it themselves if they want to. An extension could then easily add a new search option. I'll put it on the list.

I think this is a great idea...

Re: proper "mark as read" functionality

Rickard wrote:

Actually, to make this a lot easier, maybe I will just change the parameter for "Recent posts" from show_24h to an integer so that people can change it themselves if they want to. An extension could then easily add a new search option. I'll put it on the list.

Great idea!   I've already adjusted the "recent posts" time to be for the past 48 hours on one forum, and 72 for another.

Rob Ludlow 
www.Nifty-Stuff.com - Repository of all Stuff Nifty!
www.reviewum.com - Professor Ratings + Teacher Reviews

33

Re: proper "mark as read" functionality

There was much talk about what would be sensibel and feasable. I've been using phpBB and SMF. Now I want to switch to PunBB because SMF is not a free (GPL'd) forum.

Concerning unread posts:
Say, I open the forum and there are 20 new posts. I start rreading and writing and then my beautiful neighbor rings at the door. When I come back I am logged off (or connection to the ISP has broken or my grandpa's dog ate the power cord). When I log in again - where are the marks of the 10 new posts I could not read in my previous session?

This makes sense and it is feasable and it is possible to code in a PHP software (although I myself could not do it). But I have seen it in function: Look at the Unread MOD in phpBB and look at the implemented function in SMF. Both were not causing any remarkable load for the mysqld in a website with 1K registered users and 130K postings in 3 years.
In both functions there were links to: "Show unread posts" (which shows all posts you haven't read) and "Show new posts" (which shows new posts since your last login.
And there was "Show answers to your posts" (which does the obvious)
The "Show unread posts" function can be tagged with a time limit (after x days the flags go away - in a FIFO way), so the amount of data would not get too large.

wobo

FSFE Fellow #359 - The Freedom of Knowledge is a Human Right

Re: proper "mark as read" functionality

I'm a huge supporter of PunBB being slim, sleek, and secure.  This is the #1, #2, and #3 reasons why I use it over all the other options.

wobo, I would love to see an extension created (for 1.3) that will have the functionality you described.  Of all the features requested on all of my forums... this is the one that is most consistently asked for.   

Nice thing (as I understand it to be) about an extension, is that if it starts to really drag down performance it can simply be unplugged, right?

Rob Ludlow 
www.Nifty-Stuff.com - Repository of all Stuff Nifty!
www.reviewum.com - Professor Ratings + Teacher Reviews

Re: proper "mark as read" functionality

wobo: The only problem I see with your suggestion is that you can't store an infinite amount of read information in someplace (say, a text field in the users table). That's why the last visit time is so nice: it reduces the amount of data we have to store by a great deal
If you have an issue with the last visit time on your forum, you can use the Mark topics as read mod and set the timeout much higher (as in to several hours)

36

Re: proper "mark as read" functionality

Smartys wrote:

wobo: The only problem I see with your suggestion is that you can't store an infinite amount of read information in someplace (say, a text field in the users table).

Not infinite but I did not see any porblems in all that time with this MOD in phpBB or the same function in SMF. When a user stays away too long or forgets to mark all unread and "uninteresting" posts as read for a while he may get a database error one day when he clicks on "Show unread posts". All he has to do then is clicking on "Mark all forums read" and he can go on. But that happened only in few cases where the user kept more than 800 or 1K or more unread flags.

That's why the last visit time is so nice: it reduces the amount of data we have to store by a great deal. If you have an issue with the last visit time on your forum, you can use the Mark topics as read mod and set the timeout much higher (as in to several hours)

No. The timeout is no help if you have a connection breakdown or you want to shutdown your laptop when you enter the plane (and leave the WiFi access area) after having read some of the new posts while waiting for boarding. It does not solve the essential problem of saving the unread marks independent from sessions:
I click on the link "Show new posts" and I see 50 or 60 posts (that's normal in our forum when I stay away for a day or a weekend). I do not have the time to read all of them, so I just read the first 10, log out, go fishing, come back in the afternoon, log in and with a click on "Show unread posts" I have my list of unread posts plus the posts that came in after I logged out.

This is working right now in SMF on my forum with 1K registered users and around 50 new posts coming in daily (worked as well with the MOD in phpBB). I did not experience any heavy load on mysqld on the server or any slowing down or anything else.

Looking at the "Unread MOD" in phpBB this functionality does not seem to be such a problem to be implemented in PunBB by an experienced PHP coder. Maybe someone could have a look at that MOD and get his ideas from there. Or he could port that MOD to PunBB. Anyhow, this function became so popular to the users that I can't offer them a forum without it. It's one of the MUST HAVEs, once you know that it exists. smile

wobo

FSFE Fellow #359 - The Freedom of Knowledge is a Human Right

Re: proper "mark as read" functionality

Erm.. FYI I did this one a while ago, before my computer blew up (unrelated blow up, lol) and I disapeared for a while. A true "read posts" does come across some problems though.

make a table "posts_(un)read" with "user_id" "topic_id"

Now choose to either add a value for each uid, every time a new pid is made, since new pid = topic_id has new post (post_unread)
or choose to add a value for uid/tid pair whenever that uid sees that tid. (post_read)

1) Is slow to make posts, and will increase the DB size as the number of inactive users increases.
2) Is fast to post, but will increase the DB size as the number of active users increases.

I've got some work to do yet before I can post this mod on punres. I'll probably go with #2 and at a later date implement a "pruning" feature that auto-magically assumes post over <Admin option> days old are read (and therefor don't need an entry in the database). Let's an admin "tune" the post_read table for their particular user group. First priority is getting the MDT mod/plugin/toolset (not really sure what to call it anymore 0.o). Expect this mod in a month from me, but if someone else wants to make it, be my guess (FYI: when I did it, I completely forgot to look in search.php... if you plan on making this, look in search.php to display searched posts are either read or unread tongue). Also, if 1.3 doesn't have this, or doesn't have a way of doing this that I like, expect a 1.3 extention big_smile tongue

[antiflameshield]PS: I didn't really read this whole thread, and I don't remember why I didn't use the Mark topics as read mod 0.o[/antiflameshield]

echo "deadram"; echo; fortune;

38

Re: proper "mark as read" functionality

deadram wrote:

Now choose to either add a value for each uid, every time a new pid is made, since new pid = topic_id has new post (post_unread)
or choose to add a value for uid/tid pair whenever that uid sees that tid. (post_read)

1) Is slow to make posts, and will increase the DB size as the number of inactive users increases.
2) Is fast to post, but will increase the DB size as the number of active users increases.

I don't know how this could be implemented, as I said, I'm not a coder. All the phpBB MOD needs in the database is one additional field in the user table:

ALTER TABLE phpbb_users ADD user_unread_topics TEXT;

From my experience with 1 year with that phpBB MOD and nearly 2 years with the similar but implemented function in SMF I can say that with a forum which has 1K registered users, more than 20 boards in the forum and usually 50-70 posts per day, I never experienced any slow down of performance or any significant increase of the database size which were caused by this function. By now the database has more than 130K posts and I do not see any visible performance difference to my fresh test forum with PunBB and 20 dummy posts and 5 dummy users.

wobo

FSFE Fellow #359 - The Freedom of Knowledge is a Human Right

Re: proper "mark as read" functionality

wobo: that would probably a huge serialized string and would be far less good than an extra table or two tongue

40

Re: proper "mark as read" functionality

Yes, I see. smile
I just looked at the database in SMF and there it is a table on its own with fields:

ID_BOARD  smallint(5)   UNSIGNED   Yes   0
ID_MEMBER  mediumint(8)   UNSIGNED     Yes      0 
logTime      int(10)     UNSIGNED     Yes      0
ID_MSG     mediumint(8)  UNSIGNED     Yes      0

Currently there are 6,504 lines in this table, meaning all 1104 users together have left unread marks on a total of 6504 messages out of 131,080 messages. I do a user-cleanout in spring and late automn where I clean out all users who haven't logged in for 1 year. So, the oldest marks should be a little bit older than 15 months. I could also give you the highest number of marked posts by a user if you want.

wobo

FSFE Fellow #359 - The Freedom of Knowledge is a Human Right

41

Re: proper "mark as read" functionality

I'll make the switch to punbb in a couple of weks (2-3 weeks) from now. All problems solved, except this one. Are there any new infos about it?
I think I made it clear that such a feature does NOT increase the load, does NOT increase the size of the database too much, and does NOT slow down the forum.
The feature is a much asked for feature and people who did not know about it go "Ah!" when seeing it in daily practice.

Pls think about it again. Unfortunately I am not able to code this by myself and I do not know anybody who could do it.

wobo

FSFE Fellow #359 - The Freedom of Knowledge is a Human Right

Re: proper "mark as read" functionality

It's been said that this is going to be in 1.3. There's a mod for 1.2. What more do you want?

43

Re: proper "mark as read" functionality

elbekko wrote:

It's been said that this is going to be in 1.3.

Really? Reading the last posts in thei thread it did not seem so. All I read there is that some people said it would slow down performance.

There's a mod for 1.2. What more do you want?

Oh? Where? If so, then what were we talking about in the last posts of this thread?

Sorry but your answer confuses me.

wobo

FSFE Fellow #359 - The Freedom of Knowledge is a Human Right

44 (edited by reviewum.com 2007-07-05 17:34)

Re: proper "mark as read" functionality

Yup, I (and the almost 3,000 members of my forum) are anxiously awaiting 1.3 so we can implement this much desired... nay, needed... dare I say required feature.  On a forum with almost 3,000 members and 600+ new posts per day it becomes very difficult to keep track of what is read and not read.

I'd ask how 1.3 is progressing and when it is expected to be released, but I don't want to get flamed wink

---edited to add---  Many members are telling me to go vBulletin but I'd love to stick with punbb

Rob Ludlow 
www.Nifty-Stuff.com - Repository of all Stuff Nifty!
www.reviewum.com - Professor Ratings + Teacher Reviews

45

Re: proper "mark as read" functionality

wobo wrote:

There's a mod for 1.2. What more do you want?

Oh? Where? If so, then what were we talking about in the last posts of this thread?

Found it. You meant the one which marks posts as read after the user reads them - which should be the logical behavior of a forum system in the first place. I was talking about a function where flags of unread posts are kept until the posts are actually read or "marked as read" by the user, regardless of session status.

Anyhow, about the MOD you meant: Reading the long thread I decided to go without it because it seems to collide with other equally needed MODs like subforums, private messaging, etc. I changed my live site now to MegaPun 2.0 and all is working nicely, so this seems to be the only important feature which is missing. Had a hard time to explain why PunBB uses such a non-logical system, though. But that's life as an admin, right? wink

So, everybody hopes for the best and if we can't get that, we hope for v.1.3 smile
wobo

FSFE Fellow #359 - The Freedom of Knowledge is a Human Right