Do you think I could just leave this part blank and it'd be okay? We're just going to replace the whole thing with a header image anyway, right?
You are not logged in.
Because I've had enough of the PM system we have here and I'm burning the whole thing to the ground and rebuilding it the way it should have been. To be honest, I like this PM system but behind the scenes it is buggy and the furthest thing from intuitive. I'll do my best to try and convert all existing PMs to the new system or at least archive them away somewhere but I can't make any promises. I'll be doing this starting Monday so be sure to go through your PMs and save anything that you can't stand to lose.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
Well..
Offline
Holy crap how many warnings do you have?
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
That's cute.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
Holy crap how many warnings do you have?
thats all
*EDIT*
Fake 2nd warning confirmed
Offline
Can you do this like... After Colosseum game 3 ends? I'd prefer not to make a second pm thread.
Offline
D55 has a robot that sends a message to all new users. His numbers are sorta inaccurate.
Sshhhh they don't need to know that part.
Can you do this like... After Colosseum game 3 ends? I'd prefer not to make a second pm thread.
Nope. Colosseum is actually part of the reason I'm doing this. Something has happened recently with the PMs system. I don't know what, but recently some PMs have been vanishing into the void and others have had owner mismatches. I'll try to aim for the area between rounds but hopefully this will benefit Colosseum. If I can, I'll keep the old PM system running alongside the WIP new one as long as possible.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
It's been asked exactly how the PMs system is getting remodeled. Since that person PM'd me on IRC while I was inactive and is gone now, I'm posting the reply here since it's not like it's top secret or whatever.
The main difference will be that the new PMs system will be modeled after the forums. Basically, I'm going to make PMs into private topics. Just looking at it, you might think the current system already does that. But behind the scenes, it's more closely related to the old PMs system that we had back on ee.forumify.com and eeforumify.com if you remember that at all.
For those that don't remember, the old PMs system was more like email. Messages were not linked together at all. If you send a PM to multiple people, one copy is sent to each user. If they reply, that message is also sent to the same group of people. But each message is individual and not linked in any way.
The system we have is like that. EXACTLY like that, except that on each PM, there's an extra little shared ID. If you reply to a PM, your PM will be sent out with that same shared ID. That way the system can tell which PMs belong together in one conversation thread. But this way of doing things is buggy and inefficient.
For example, every copy of every PM is sent out with a list of the people in the conversation. If that list gets messed up (which somehow has happened to Koya) then nobody can post in that PM anymore. There are a few other bugs that I know about that I won't speak of right now, but they're directly caused by the way the grouping of conversations was seemingly bolted on to an already-existing PM system.
The new system will not just LOOK like private topics, it'll be stored the same way. For every topic, there is an entry in the database with information about that topic, including an ID unique to that topic and that topic only. Each post has one entry in the database, and is labeled with the topic ID of the topic it was posted on.
This is exactly how the new system will be, but the entry for the topic will have a list of people allowed to view, to enforce the private part of this. Topics have their own entries, and each message only has one entry instead of 2 or more. Fewer single points of failure, and it's much more intuitive. It's the way the PMs system should have been done.
I feel like I rambled a little bit, so here's a tl;dr:
The system we have now has the whole "topics" thing bolted on as an afterthought and it's causing bugs. The new system will be designed from the ground up to treat PMs as actual topics.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
So will the new system allow for ludicrous amounts of users in a single PM thread?
aka towwl
Offline
Technically speaking there's no limit on the amounts of users in a PM thread now. The 6-person limit is something admins can change in our fancy little control panel here. But this new system will easily lend itself to having large amounts of users (and it will also actually be feasible to invite new users or to leave a conversation) with next to no overhead since each conversation and each PM is only created once. Send a PM to 1000 people, and the only effect is that the single list of PM receivers has 1000 people in it. No big deal.
With the current system, if we set the PM conversation limit to 1000, and you sent a PM to 1000 users, then 1000 PMs would be created in the database, each with the list of 1000 receivers contained in it, and 1000 more PMs would be created every time the thread is replied to by any one of those 1000 people, again each PM also containing the list of 1000 receivers. It's incredibly wasteful.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
Sounds cool. When the user loads the PM page, how will you list PMs they're a member of? Does it check every private thread for their ID? Or will the data hang out in the user's entry?
Offline
Technically speaking there's no limit on the amounts of users in a PM thread now. The 6-person limit is something admins can change in our fancy little control panel here. But this new system will easily lend itself to having large amounts of users (and it will also actually be feasible to invite new users or to leave a conversation) with next to no overhead since each conversation and each PM is only created once. Send a PM to 1000 people, and the only effect is that the single list of PM receivers has 1000 people in it. No big deal.
With the current system, if we set the PM conversation limit to 1000, and you sent a PM to 1000 users, then 1000 PMs would be created in the database, and a 1000 more every time the thread is replied to by any one of those 1000 people, with each PM also containing the list of 1000 receivers. It's incredibly wasteful.
So somebody could create a PM with every single user? ._.
thanks zoey aaaaaaaaaaaand thanks latif for the avatar
Offline
Sounds cool. When the user loads the PM page, how will you list PMs they're a member of? Does it check every private thread for their ID? Or will the data hang out in the user's entry?
Well my initial thought was to check every thread for their ID but that's the same exact thing I hate about the woots system. The current thought I'm entertaining is that it'll be stored in the user's entry. My other idea was having an entire table set aside for user/topic permissions, similar to what FluxBB does for group permissions over individual forums, but with only a user ID and a thread ID that they have permission to view. PMs would be listed by selecting all entries with that user's ID. Combine that with an INNER JOIN and there's your listing right there in only one query. Only "problem" is that it seems a bit unnecessary to have a whole table for that.
Different55 wrote:Technically speaking there's no limit on the amounts of users in a PM thread now. The 6-person limit is something admins can change in our fancy little control panel here. But this new system will easily lend itself to having large amounts of users (and it will also actually be feasible to invite new users or to leave a conversation) with next to no overhead since each conversation and each PM is only created once. Send a PM to 1000 people, and the only effect is that the single list of PM receivers has 1000 people in it. No big deal.
With the current system, if we set the PM conversation limit to 1000, and you sent a PM to 1000 users, then 1000 PMs would be created in the database, and a 1000 more every time the thread is replied to by any one of those 1000 people, with each PM also containing the list of 1000 receivers. It's incredibly wasteful.
So somebody could create a PM with every single user? ._.
Well we have to draw a line somewhere, but hypothetically there will be basically nothing stopping you from PMing every user. The storage requirements are linear with every added user, while with the current system the amount of space needed would increase exponentially as more people are added to the conversation. But that's all hypothetical, and with the tiny number's we're dealing with, the storage space requirements for either are insignificant. The only benefit we'll see is a tidy database with no duplicate entries.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
[ Started around 1733247745.4905 - Generated in 0.240 seconds, 11 queries executed - Memory usage: 1.61 MiB (Peak: 1.81 MiB) ]