Looks very similar to the message_private module. Maybe there are some functions that can be merged?

Comments

fox_01 created an issue.

mccrodp’s picture

Hey @fox_01, thanks again for highlighting this.

@heylookalive looks like you've done quite a body of work and the Communications Stack based off the Message Stack sounds like a great idea, especially going forward into D8. It would be good to have a chat over IRC or even email about suitability of merging, as both modules seem to provide private messaging via Message Stack.

I'm not sure if you intended on using Message UI as I saw this issue: #2564967: Where is the UI?. I am currently working on: #2489792: Port Message UI to Drupal 8 and was then going to work on #2489794: Port Message Private to Drupal 8, but I will hold off on the latter until we have a chat.

heylookalive’s picture

Morning all! @fox_01 you're right to flag this and I was aware of message_private when starting this out. Am curious how did you come across the project?

Reason I ask is because right now we're a few months away from being able to start to share this, comstack or related modules.

I'll explain the concept as briefly as possible, Comstack is built off of Message and does a few things like altering its schema to expand it and there's a particular vision for what the comstack_* modules will be doing. The aim is community based communication to compliment Harmony.

Private messaging along with notifications is key to this, though also exists friend lists and blocking in Comstack Friends (only if you need it).

comstack_pm is more there than not in terms of code so feel free to have a look around. Where it differs from message_private is that we're providing a Conversation entity which wraps the messages going between users. In addition to this there's a number of features aimed at providing Facebook/Whatsapp/iMessage grade functionality such as the concept of separate conversation histories per participant. The best way to get a sense of what we're up to is to look at the REST API documentation:

https://rawgit.com/lohi-io/comstack_pm/7.x-1.x/modules/comstack_pm_rest_...

This does a good job of showing what we'll be exposing to the world, if you look at the comstack_pm.install file's variable_dels you'll see an amount of what will be configurable - there are more to come.
https://github.com/lohi-io/comstack_pm/blob/7.x-1.x/comstack_pm.install#...

Before starting the project I did a review of message_private which looks good, I noticed a few things like threading/direct replies to specific messages, for comstack_pm I wouldn't see that ever being something I would want to pursue, and think that's more suited to public discussions and that Harmony actually lets you do out of the box.

On a different level when talking about collaboration, there's also (and this is being blunt) the fact that as separate project to message_private we can control the roadmap, decisions and features separately and move faster. Once the first version is out this is totally open to change and I'd love the community to take it and be involved.

There will be things that message_private does better than comstack_pm such as provide a UI out of the box which will be easier to alter given Drupal knowledge, and the reverse will also be true, but both very much valid projects.

So, we still don't have a UI. Over the next few months we've got two people working on an Angular app to implement the REST API provided by the comstack_pm_rest_api submodule as described by the documentation link. This will be released as a JavaScript library along with a comstack_pm_ui module. Work may or may not happen now to provide the concept of comstack_uis, plugins which would facilitate different versions of UIs for different things, but that's by the by.

Future development on the PM side of things (though not funded or in any way committed to) would be things like Read Receipts, different input methods (text being default, think Facebook messenger style Stickers or other "things").

Drupal 8, right now no plans, when the first version is out I'd happily welcome a port though I myself don't have the knowledge yet. Along with this, Harmony and other yet unrealised projects there's a lot for me with Drupal 7 still. Once that's done I can start learning D8 which looks fantastic.

I'm sure no one was expecting war and peace as a response but I'd sooner be more open than not C: @mccrodp thank you for your work on message_private, the field install bit helped me out and would happily chip you some beer money.

mccrodp’s picture

Thanks for the quick response. That all sounds good and understandable. I agree with you, the short terms goals of both projects would not suggest a merge at this stage. Most notable for me being that Comstack is focusing heavily on Harmony and D7.

As stated in the privatemsg module queue #2134735-26: Drupal 9 version of privatemsg:

I think alot of user would like a good and solid Private msg system that would just work between 2 user

With Message Private I'm looking to provide a simple private messaging solution (initially) for D8 and may backport any significant updates, such as threading, to D7.

However, I believe that a future merge could be possible, or perhaps even a migration path to Comstack if appropriate at some stage in D8. I would be open to that too once Comstack was stable and provided everything in Message Private.

It sounds like you have the manpower to make it a powerful stack for communications. So it would be great to have a discussion some time about this to see if my D8 approach can converge toward yours in anyway, keeping the possibility of a future migration open to discussion down the line. e.g. - such as your conversations wrapper v.s. #2504863: Pluggable Message Threads proposed for message_private.

I'm on IRC (@mccrodp), email or even Drupalcon Barcelona if that suited you. Thanks.

heylookalive’s picture

The Harmony mention is just where the desire came from, Harmony and Comstack are totally independent of eachother.

When I think about Drupal 8, selfishly I'd say do what Comstack does :) Reason for saying this is that as a base to build from it provides the most flexibility, Comstack PM will have a setting which will let you restrict the number of participants in a conversation. Also beyond private messaging you could use it to create something like Slack if you were determined.

D8 Private Message having the goal of 1 to 1 only sounds like it'll cripple it from an architecture point of view. I've got more faith in message_private due to the strength of message at the heart of it.

It would be good if we could talk over D8 possibilities and collaboration, sadly I'm stacked building this so it'd have to be after the initial wave of code is out. Also won't be at DrupalCon, talk didn't get approved :C Imagine I'd go to the America one.

mccrodp’s picture

D8 Private Message having the goal of 1 to 1 only sounds like it'll cripple it from an architecture point of view. I've got more faith in message_private due to the strength of message at the heart of it.

I didn't give enough of an explanation with my quote. What I meant to say is that people are looking for something quickly for D8, that simply provides solid 1 - 1 messaging. Which is what Message Private could do quite easily now with a direct port, once Message UI is ported to D8. Plus as you state, with Message at the heart of it, will allow for much more.

When I think about Drupal 8, selfishly I'd say do what Comstack does :) Reason for saying this is that as a base to build from it provides the most flexibility, Comstack PM will have a setting which will let you restrict the number of participants in a conversation. Also beyond private messaging you could use it to create something like Slack if you were determined.

haha, no problem and you may be right, but I am currently unsure how your threading alternative via Conversation wrapper works, but I will take a look.

My thinking now is that I will continue with a direct port of Message Private to D8 and then think about threads / using a Conversation wrapper to achieve "Conversations" akin to Facebook etc.

It would be good if we could talk over D8 possibilities and collaboration, sadly I'm stacked building this so it'd have to be after the initial wave of code is out. Also won't be at DrupalCon, talk didn't get approved :C Imagine I'd go to the America one.

That's a pity. Won't be at an American one anytime soon unless I'm already over there / get sponsored, so perhaps I'll contact you down the line whenever I have the above work in place and I have questions or suggestions.

Keep up the good work, chat soon.

fox_01’s picture

@heylookalive: I am constantly looking for new modules here and yours got listed there.