Topic: Forum navigation back arrow
kaputtnik |
Posted at: 2015-05-28, 20:20
I am looking into this... currently i try to implement it for logged in users only (it's easier than the cookie thing). But i have a question:
If the latest Posts gets replaced with "Latest unread Posts" (or "New Posts since last login"), the list will become empty, if no unread posts are there. So there is no possibility to jump quick to a topic(post) which the user might be interested in. F.e. sometimes i read only some actual topics and maybe post in it after some other posts are made. If the "Latest unread posts" is empty, i have to use the forum overview to find the topic i am interested in. Possibilitys to solve this:
Another thing that could happen: Most users are only interested in a few topics. So they could have a lot of unread posts which they aren't interested in. To such users the "Latest unread posts" is more or less useless because it shows many "unread" topics(posts). For those users the solution 2 from above would be the best i think.
I implement a button to extend the list from 5 to 20. So the list gets only larger instead of linking to another page. We will see if this is a good way to go or if a extra page is better. Any other suggestions? Top Quote |
fuchur Topic Opener |
Posted at: 2015-05-28, 21:57
Good point, I didn't think of that.
I think both solutions are ok, but as you say the second one is better for people only interested in some topics. So I'd say try that if it's not too difficult to implement. And thanks for your effort Top Quote |
wl-zocker |
Posted at: 2015-05-28, 22:07
I prefer you second proposal. The first one has the problem that there might be one unread post, but that is not the one I am interested in. I usually click on all links (they are marked as visited then, so that I have a quick overview what is new) and close the topics that do not interest me once the page has loaded. I can live with this behaviour. You could also add a "Mark as read" button next to each topic, but I fear that will be too many buttons then. I agree that a longer list is more desirable than a link to another page. I think I wrote that because a) I do not know whether is breaks the layout when the list gets very long (what happens when it is longer than 20 with your limitation?) and b) I did not know how difficult it is to implement such a functionality. But if you got it working, that's great. "Only few people know how much one has to know in order to know how little one knows." - Werner Heisenberg Top Quote |
Venatrix |
Posted at: 2015-05-29, 08:22
Well, at least I would expect this behaviour: After I clicked on a link, reading that topic, that topic is marked as read and therefore doesn’t show up in the list anymore. I think, that’s clear this far. If I have had more unread topics than could be shown in the list, the next (older, I guess) unread topic appears below the others, filling the list to max again. That’s why I would not go to 20 but to 10 topics shown in the list. And of course a "mark as read" button really would be nice, at least in the forum overview. Two is the oddest prime. Top Quote |
kaputtnik |
Posted at: 2015-05-29, 08:42
So, two for second I would implement some things with javascript. Is this a problem? Instead of a radio button i choosed for now a a dropdownbox where to choose "Latest Posts" or "Latest unread Posts". The choosen option is shown as the header. The arrow is quite ugly... Here is a screenshot of the additional elements in current state:
A longer list is just longer. If you didn't scroll down (f.e. to read the last post on a topics page) or the page is automatically scrolled (f.e. if you click on a link to a post which is at the bottom of the page) you have to scroll down manually to see all entrys in the list. @venatrix: You explained my additional thoughts There is still a lot of work. So don't expect that it is finished in a short time... Top Quote |
DragonAtma |
Posted at: 2015-05-29, 16:38
Hmm... what about changing it to something like this:
Top Quote |
kaputtnik |
Posted at: 2015-06-05, 21:06
I thought this too and spend time to a UI instead of investigating this. Currently there is no information stored which user read which post. What is stored is if a user has read a topic, not a post (how could this information be gathered?)
As described above it is currently not possible to get the latest unread posts. To do so we have to store somewhere a timestamp which could be used to calculate the latest unread posts. This timestamp has to be set, if a user loggs out (before he loggs out he could possibly have read all posts; all posts after logout are unread).
So in my opinion, cookies are bad for storing a timestamp. The other way would be to store such a timestamp for logged in users only in the database. But there are currently much importand things related to the website than changing a model. And this would be a great change and i am not sure if the benefit would justify the work. There are also some other possibilitys to find a unread post (f.e. notifications, rss-feeds, visited links). So, for now, this suggestion is, from my point of view, for now, rejected. Sorry
Because other forums do not have such a feature, it is a bad thing? It's just uncommon. If you want to follow a thread backwards, f.e.to find the latest unread post, or just want to read what the former poster has written, it is very bad to
I couldn't see any benefit if hitting the back arrow, the top of previous page is shown. Do you? In my opinion this is a nice idea. I havn't looked into the code for that, but maybe we could add an additional sign for this feature in the pagination? Top Quote |
tuggyne |
Posted at: 2015-06-05, 21:40
While cookies are certainly not perfect, I think you are substantially overstating their downsides. Many forums do use them for this purpose with little problem in practice. Deleting cookies on exit is fairly rare, and one has to expect this sort of feature degradation; 95%+ of users will not delete cookies except on very rare occasions. And deletion is not such a terrible thing, since it simply returns a user with a missing cookie to the state we're all in now. Finally, nearly all websites use cookies and relatively few users complain about them. (Data point: I run NoScript, Request Policy, and AdBlock Plus. I don't bother deleting cookies most of the time.) The timestamp to use seems simple enough: the time they last loaded a topic page, which shows the latest possible post they could have seen. This can of course be generated trivially upon serving the page. Edited: 2015-06-05, 21:40
Top Quote |
GunChleoc |
Posted at: 2015-06-06, 09:52
The problem with cookies is that I use two different computers to access Widelands. How does the forum handle showing unread forums/topics at the moment? As a first step, maybe you could write a time stamp every time a user clicks on something in the forum and store that in the database. A timestamp might already be there with the session info. There is a mod for phpBB to mark posts unread, maybe you can get some coding ideas from there. Busy indexing nil values Top Quote |
einstein13 |
Posted at: 2015-06-06, 14:37
I use 2 computers + two virtual machines (depends on what I currently do :P)
I have tried to track it down in this widelands-site part, but I've failed to understand that. http://bazaar.launchpad.net/~widelands-dev/widelands-website/trunk/view/head:/pybb/unread.py (where is it used?)
timestamp is for sure most important: newer posts than "last_visit" timestamp are for sure unread. But I think that current model of Forum & User is enough to list all unread posts. One clever query to database einstein13 |