Latest Posts

Topic: Increasing number of "Latest Posts"?

einstein13
Avatar
Joined: 2013-07-29, 00:01
Posts: 1021
Ranking
One Elder of Players
Location: Poland
Posted at: 2018-09-11, 09:59

I don't like private messages auto-deletion. For example I have several old messages and I would like to read them. They are very old from computer perspective.

Notifications are very hard ones to specify. There are many ways of doing them and every way has disadvantages. The most problematic thing here is that Widelands users aren't logging very often. Some of them have months between logs. And there is a bunch of people who log into very often, several times a day in peak.


einstein13
calculations & maps packages: http://wuatek.no-ip.org/~rak/widelands/

Top Quote
king_of_nowhere
Avatar
Joined: 2014-09-15, 18:35
Posts: 1133
Ranking
One Elder of Players
Posted at: 2018-09-11, 16:34

kaputtnik wrote:

king_of_nowhere wrote:

On the top right square, where i have my profile. There is already a "notification" there, but it is only the setting for which notifications you want sent to your email. Well, nnotifications coould be just there: it could look like "notifications (2)", and if you click on it it shows the notifications.

That needs saving the the notifications, which we have removed because the notifications spammed our database. And that happened because nobody deleted his notifications.

how about getting the best of both worlds? keeping notifications and private messages separate. notifications automatically cleanup after 2 months, private messages never delete automatically

or you could have the notifications sent by pm.

That should be doable. It should be an option then to make it configurable for the user. But i fear we will then have the same flood of pms as we had with the notifications face-plain.png . Of course we can do an automated cleanup, e.g. every notification older than 8 weeks will be deleted. But in my opinion the pms are some kind of private user data and i think we shouldn't remove them automatically.


Top Quote
einstein13
Avatar
Joined: 2013-07-29, 00:01
Posts: 1021
Ranking
One Elder of Players
Location: Poland
Posted at: 2018-09-11, 16:56

@king_of_nowhere

+1

@kaputtnik:

How much effort is needed to get back notifications? Is it worth doing it?

I can see more "latest posts" on the right. It is very good now face-smile.png . The question is: is it possible to make the number scriptable, not fixed? Some crazy algorithm to show newest posts, but not too old ones. So the Python/Django would pick last 8 posts and then decide whether to show or not all of them.


einstein13
calculations & maps packages: http://wuatek.no-ip.org/~rak/widelands/

Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 1523
Ranking
One Elder of Players
Location: Germany
Posted at: 2018-09-11, 20:53

einstein13 wrote:

How much effort is needed to get back notifications?

They are already there, but not in the way you mean :-). In principle we have to readd the model Notice and maybe some other modification. The problem is: All enabled notifications will produce a Notice. E.g.: Many users have enabled to get a notice for each new topic. Creating a topic will create a Notice for each user who has enabled this setting, regardless if he/she is active on the forums or not. So creating one topic produces approximately hundreds of Notices (we have currently 4554 registered users). Same goes for some other noticetypes.

Some history:
We used an app called django_notifications in the early days (before i get involved into the project). This app had the ability to add notifications for other models (called 'observed items'), e.g. it was possible to get notifications for changes in an wiki article. One day the django_notifications developers decided to omit this feature and changed their models in a incompatible way. So i decided to implement it as our own app and added e.g. the possibility to get informed if new map was uploaded. Without the 'observed item' ability of django_notification this wasn't possible.

Is it worth doing it?

I don't know. If the majority of users think so, we can maybe do it. To be honest: We are currently running Django 1.11 on python 2.x. Django 1.11 is the last version who supports python 2.x. So updating to the next major version of Django means converting all the website code to python 3.x. See Update Website code to use Python 3.x. For me this has a higher priority. But may be can have another solution, see below.

I can see more "latest posts" on the right. It is very good now face-smile.png . The question is: is it possible to make the number scriptable, not fixed? Some crazy algorithm to show newest posts, but not too old ones. So the Python/Django would pick last 8 posts and then decide whether to show or not all of them.

You mean scripting = javascript? Or some ajax function? Currently i think ypopezious solution is the best one. Having an extra page can also have some filters like 'Show latest posts in Forum 'Game suggestions'".

Maybe we can something like that also for the notifications? A page showing latest Posts/Maps/whatever for each subscription? I think this should be doable with some querys. Such a page can also have some filters face-smile.png


Top Quote
einstein13
Avatar
Joined: 2013-07-29, 00:01
Posts: 1021
Ranking
One Elder of Players
Location: Poland
Posted at: 2018-09-12, 17:04

You're right that we should move to python3 first. I am not sure how hard it will be. I have developed one program that was designed to work with both Python2.7.x and 3.x. It wasn't too hard, but the project was tiny comparing to Widelands. Probably most effective way would be changing Python version on our "test instance" of the website. And I know that it is not the best idea, but enabling DEBUG=True probably will help somebody like me to track down bugs face-wink.png .

And also we can make a simple functional test list. What we should do, what we should expect. Something like:

  • Forum
    • Create new thread
    • See new thread with "latest posts"
    • Create another thread
    • ...
    • Replay on the forum thread
    • Replay with special characters / emoji / smiles ( face-smile.png )
  • Maps upload
    • ...
  • IRC channel
    • ...
  • Wikipedia
    • ...
  • Polls? New info block on basic website?

For sure I can help with writing down this tests and then doing them on test instance. That would help with upgrading to other django & packages upgrades.

What do you think about that?


einstein13
calculations & maps packages: http://wuatek.no-ip.org/~rak/widelands/

Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 1523
Ranking
One Elder of Players
Location: Germany
Posted at: 2018-09-12, 21:06

einstein13 wrote:

You're right that we should move to python3 first.

face-smile.png Beside other stuff to do: I mentioned befor that i am working on the tabbed pages, but adding a GDPR took precedence over tabbed pages. So my personal tasks are:

  1. Make the needed change for full filling the GDPR
  2. Add the tabbed pages ( the branch is nearly close to ready)
  3. Work on other stuff, e.g. porting to python3

But every help for porting to Python 3 is appreciated face-smile.png

And I know that it is not the best idea, but enabling DEBUG=True probably will help somebody like me to track down bugs face-wink.png .

That's a no go, even on the alpha site. Better create your own copy of the website locally face-smile.png This can also be done on windows.

And also we can make a simple functional test list. What we should do, what we should expect. Something like:
[...]
[...]
For sure I can help with writing down this tests and then doing them on test instance. That would help with upgrading to other django & packages upgrades.

I am not very familiar with tests. My imagination to 'fabricate' possible culprits is quite small, so i am in favor of testing manually. Or do i misunderstand your proposal?

The way i would try to port to Python 3 is on an per app basis: Create a branch which only consist e.g. of the mainpage and start to port the main view and test it, then add another app (e.g. news) to the branch and port it to Python3, test it, then the wiki and test, and so on.

But thats worth another topic, or better handling this questions in the bugtracker on launchpad.


Back to the topic:
My suggestion is not that difficult to implement, IMHO, so i would vote for it face-grin.png


Top Quote