elkarte / Elkarte

ElkArte Forum. A free, open source, modern discussion forum / BB
https://elkarte.github.io/Elkarte/
BSD 3-Clause "New" or "Revised" License
175 stars 61 forks source link

Private Conversations #1980

Open Vekseid opened 9 years ago

Vekseid commented 9 years ago

Vanilla does something like this, and I built a schema for this for the Phoenix project, as well as my own CMS.

Basically, PMs as they exist on most forums are an attempt to re-create e-mail in an environment completely unsuited for the task, and currently all forum software has ridiculously broken schemas for private messages. SMF's labels, phpBB's folders... MyBB doesn't even normalize the main message table, which causes all sorts of 'fun'.

A private conversation system would be vastly superior, both in terms of the database performance, and in terms of user experience. Ask members on my MyBB forum what they think of quote towers, or on my SMF forum what they think of conversation mode.

This would of course be a fairly major overhaul of the PM system, and possibly the thread/post system as well (if we decided to merge the concepts - a Private conversation basically being a thread with special access restrictions).

emanuele45 commented 9 years ago

nods

At the beginning I wanted to do it for 1.0 (and I should have an outdated branch around), but I was side-tracked by several other things. lol

For reference: http://www.elkarte.net/community/index.php?topic=282.0

Vekseid commented 9 years ago

The more I think about it - my mind also went down the 'lets make IRC on the web' path for a bit - the more I think we shouldn't differentiate private conversations and standard threads. A board is just a collection of conversations that specific usergroups have access to, after all.

emanuele45 commented 9 years ago

Yeah, in a sense. But use boards for "private" conversations may (or may not, depends on many factors) be a tricky in few ways (for example may lead to the creation of many boards) and it may have a performance impact difficult to quantify in advance (if it is what you are suggesting).

Have "private discussions" mixed with "normal" (in the Wedge-way) is not something I really like that much because it makes difficult to understand what a person can see or not (for example I could share a link to a discussion in a board just to discover that I was one of the few having access to it, additionally, at the moment, there is a clear distinction between what an admin can and cannot see, etc.)

emanuele45 commented 9 years ago

One great thing that would allow a "conversation" set up, would be to have all (or at least the most recent ones) messages of the conversation in the box below the reply page. Something I'm missing a lot right now. :yum:

Vekseid commented 9 years ago

The current PM schema really needs to die a horrible death >_>

emanuele45 commented 9 years ago

xref: http://www.elkarte.net/community/index.php?topic=282.0

emanuele45 commented 9 years ago

Since I was stuck with the theming overhaul, I started looking into this one instead. You can follow the development at: https://github.com/elkarte/Elkarte/compare/development...emanuele45:pm_refactoring?expand=1 at this moment I focused on moving around some stuff, I'll start soon breaking things badly. :stuck_out_tongue:

emanuele45 commented 9 years ago

I'm not sure I'll be able to bring that one to 1.1 beta 1, and since it involves db schema change I feel it may have to wait the next round... :(

Vekseid commented 9 years ago

Are DB schema changes out of the question?

Finally getting to a position where I can devote some proper time to this. : /

emanuele45 commented 9 years ago

Of course no, there can very well be db schema changes between versions. The idea is not to have db schema changes between the first beta and final unless it is strictly necessary. Both because it makes testing less reliable (db schema changes likely mean something big is going on, in this case, for example, the schema has to be completely messed up, so do it in the middle of the beta testing would mean reset the beta to 0) and and it would mean have to deal with lots of mixed situations when upgrading (so more complex upgrade.php, etc).

If you can spend some time on it, feel very free to do it!! Beta is planned for the beginning of September, but it could be pushed even to the end if needed. :smile: If you want I can push the code I wrote, but it's rather preliminary, more a little clean up of the current situation and probably not worth.

Vekseid commented 9 years ago

The DB schema changes I want are certainly rather major : / Was planning on trying to get to it in April but Distractions/Life happened.

emanuele45 commented 9 years ago

That's good, the current db schema doesn't work for conversations at all. ;D If you come up with something don't be shy and push it!

emanuele45 commented 8 years ago

@Vekseid did you had any chance of looking into this?

Vekseid commented 8 years ago

I've only just been able to start looking into the DB. Was a pretty hellish month.

I've come to terms with the thought of this being pushed back.