Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration with Mattermost #3202

Closed
jancborchardt opened this issue Jan 23, 2017 · 53 comments
Closed

Integration with Mattermost #3202

jancborchardt opened this issue Jan 23, 2017 · 53 comments
Labels
1. to develop Accepted and waiting to be taken care of enhancement integration

Comments

@jancborchardt
Copy link
Member

jancborchardt commented Jan 23, 2017

Reopening here since we who switched to Nextcloud are still very interested in Mattermost integration. :)

Original issue opened by @menelic:

I requested owncloud integration over at mattermost (free and open self hosted slack alternative - with more features than slack itself) - this became one of their most popular feature requests. https://mattermost.uservoice.com/forums/306457-general/suggestions/9950943-integration-with-owncloud#comments .Now they have responded - they want to do it and are asking for support from the oc community:

Thanks to everyone who upvoted this, can we have the community’s help breaking this feature into smaller parts that can be written into tickets?

It seems there’s:

    Ability to “Choose a file” from OwnCloud instead of hard drive.
    Add a preview of files referenced in conversations with hyperlinks to files hosted on OwnCloud
    Something about webhooks, we’re not sure we understand

Can we have help from the OwnCloud community understanding what’s the first step?

@jancborchardt @coreyhulen @it33 maybe you could get together on this?

cc @LukasReschke @karlitschek @JakobReiter since you were active on the original issue.


💸 Donate to help make this happen! 😃
Bountysource

@jancborchardt jancborchardt added enhancement good first issue Small tasks with clear documentation about how and in which place you need to fix things in. labels Jan 23, 2017
@jancborchardt
Copy link
Member Author

The first task would be Link Previews similar to Dropbox link preview. For anyone who wants to make a start. :) cc @nextcloud/javascript

@jancborchardt
Copy link
Member Author

cc @furai @schiessle from the other Mattermost issue :)

@harcesz
Copy link

harcesz commented May 11, 2017

if this is done I'd be able to move my NGO from Slack, is there a way I could help kickstart it? (other than coding)

@Laykou

This comment has been minimized.

1 similar comment
@chief-nerd
Copy link

+1

@jancborchardt
Copy link
Member Author

You can support this either by

Please consider donating to support! :) @harcesz @Laykou @JakobReiter everyone ❤️

@siteleas

This comment has been minimized.

@hubearth
Copy link

This integration is a must, but I think it covers two project.

  1. to use nextcloud as a backend for mattermost file storage
  2. to enable mattermost user to easyly get a link a file/folder that is stored on nextcloud.

In my own opinion, the second one is more useful, since most of the file that we share on mattermost are already on nextcloud. The logic would be

  1. add a field to users so that mattermost user would have nextcloud (or owncloud) credentials
  2. allow connection/browsing through webdav
  3. add a button in messages so that you can open a webdav connection instead of a simple file browser.
  4. generate the link depending on the nextcloud credentials.

@jancborchardt
Copy link
Member Author

@hubearth since no one picked this up yet and you are a developer interested in the project, would you be interested getting this started? :) We are happy to help you in case of any questions, either here on in our IRC channel #nextcloud-dev. 🎉

@ShamimIslam
Copy link

I believe both projects are useful. If nextcloud is the backend for mattermost, it allows for synchronization to all parties based on a folder where the mattermost content would be stored. You could conceivably share your mattermost folder for your project to your team and they would all automatically receive updates if they were synchronizing. We are hobbling ourselves with just thinking of mattermost as being the vehicle for sending the files. For users that use mattermost, we would send a link that is internal to the backend. For users that are external, we would send a shortcut link like we do when sending email. When uploading the files, mattermost would auto-sync between users as needed based on folders used. While I do agree that item 2 is easier to do, adapting for item 1 is harder i item 1 is not defined - where would the files be stored in the nextcloud account? Who would own them? Where would we go? I think we could do it in either order. I'm just concerned it might be lead to more issues to do the backend storage second. Open to other thoughts.

Along these lines - are there any class diagrams yet for nextCloud? I can't get into helping without understanding what we have and there are so many different entry points, that without reading all the code (long process) it's hard to navigate.

Thanks.

@natrius

This comment has been minimized.

@lapineige
Copy link

lapineige commented Feb 26, 2018

Indeed adding Nextcloud as the backend storage would be great and ease a lot users' experience while sharing files (while not adding an extra layer of complexity ("Is that file on mattermost or nextcloud ?") and maybe storage doubles).
It would be much appreciated ! 🙂

While I do agree that item 2 is easier to do, adapting for item 1 is harder i item 1 is not defined

Can you recap which one correspond to which idea ? (I'm not sure to understand)

where would the files be stored in the nextcloud account? Who would own them? Where would we go? I think we could do it in either order. I'm just concerned it might be lead to more issues to do the backend storage second. Open to other thoughts.

I have a solution in mind, to me (note: I don't know anything about Nextcloud code & so on) it seems to be the simplest to put in place :

  1. A new account is created (automatically or not), let's call it Mattermost File Sync during this example.
    It's purpose is to be Mattermost's "backend storage", so it could be reduced as its minimum purpose (storing file, no other apps, no other rights).

  2. On Matterside, when a file is uploaded, it connects to Nextcloud using Mattermost File Sync account (via WebDAV ?). Then it uploads the file here.
    To avoid creating a big mess when lots of users and/or channel are present, I guess there could have a specific directory for each channel.

  3. [Extra feature, not sure if it's doable] : any link to a Nextcloud file that is in Mattermost File Sync directory (and thus owned by user Mattermost File Sync) can have a preview (imported from Nextcloud's preview ?) and a direct link the file in Nextcloud

  4. Mattermost's files repositories are shared with Nextcloud users (with the internal nextcloud function).
    I suppose it would be easier to let Nextcloud's admin(s) set up the group(s) that have the right to access to a [Channel storage repository], and then configuring the integration tool to share the directory with those groups.
    For instance, you have a Mattermost channel called Project 1. You create a Nextcloud group called Project 1 team. Then any file uploaded in Mattermost channel Project 1 is stored in Mattermost File Sync account, in the folder Project 1. And this folder is shared with any user in Project 1 team group.

This make the storage part + sharing kind of simple and mainly automatised (except user's integration in groups, but well, there is no cross account creation in Mattermost and Nextcloud so it's a manual step anyway).

What do you think ?

@lapineige
Copy link

Note: as far as I understand (by reading this, point 6) this is partly doable right now by configuring file storage to [Some location] and mounting [Some location] as an external storage in Nextcloud.

@marinpurgar
Copy link

Going to take a look at this since my customers requested it and it is tagged as "good first issue", stay tuned ...

@nextcloud-bot nextcloud-bot added the stale Ticket or PR with no recent activity label Jun 20, 2018
@MozzieAU
Copy link

Hi Folks,

Im still keen to see Nextcloud integration with Mattermost. As an extra thought, I wonder also if it would be possible to integrate Collabora into Mattermost and Nextcloud. This would permit seamless editing of documents being worked upon by teams.

Happy to pitch in a bounty but I ned to know what kind of sum would be required to actually eliver the complete solution.

Ray

@nextcloud-bot nextcloud-bot removed the stale Ticket or PR with no recent activity label Aug 27, 2018
@hanzei
Copy link

hanzei commented Dec 16, 2018

Hey guys,

I might work on this feature as I'm interested in both Nextcloud and Mattermost.
But for me the use cases aren't quite clear. Could some please create a list of use cases/user stories for this? Please don't consider the technical difficulties while creating these.

@MozzieAU
Copy link

MozzieAU commented Dec 21, 2018 via email

@lapineige
Copy link

For my part I'd like to be able to share the storage between Mattermost and Nextcloud (for instance, a specific folder in Nextcloud that store the files that people put in Mattermost) to avoid doubles and the need to search for a file in Nextcloud and Mattermost (for instance to get the latest version).

Having the ability in Mattermost to link to a Nextcloud file, or to search for it, would be a great addition.

@miguelsan
Copy link

My suggestion from this point on would be to either integrate Zulip or extend Nextcloud Talk with some kind of first-class channels, markdown, history search and notifications for an "easy" first go.

I just don't currently know the internals of each one and the actual feasibility of each proposal, so that must be it from me for now.

@PackElend
Copy link

Hello,
may I comment this too?
As there are so many open source chat apps out there with different commercial models or completely free, I would suggest that Nextcloud concentrates to create bridges to the other apps such as Mattermost or Zulip and continue the story what was begun with the rocket.chat intergration.
The folks behind those projects are doing only this and Nextcloud has too many other things on the to-do list.

@miguelsan
Copy link

@PackElend Nice, I hadn't seen that Rocket.Chat is working with Nextcloud. That might be a game changer and put this issue under a very different perspective.

But only if the collaboration goes further. Because until now this is all there is:

The integration is now ready and is public from today. [It] allows users to post files from Nextcloud directly into a chat channel, enabling seamless integration between chat and file handling. [...] More integrations, that go even further than this latest iteration, are in development.

Let's wait and see, right?

@tech348712013870132
Copy link

Is there any easy to deploy integration available yet to connect nextcloud folder updates with a mattermost channel via a plugin/webhooks?

@biva
Copy link

biva commented Jan 23, 2020

Hello, I propose a very specific integration Nextcloud Deck / Mattermost in nextcloud/deck#1474. Do you think it could be a good idea @jancborchardt ? Would anybody be ready to help? Indeed, I don’t have a lot of skills in this matter 😦
Thanks!

@PackElend
Copy link

PackElend commented Jan 23, 2020 via email

@orbnetde
Copy link

We added some bounty to this. Let's hope this will speed up the integration.

@PenguinzTech
Copy link

Lemme know if I can provide some help... I have a few use cases for this :)

@salatfreak
Copy link

I've started developing a Nextcloud app to integrate Mattermost into the Nextcloud interface and I'm looking for developers to join me. The integration is supposed to synchronize users and groups from Nextcloud to Mattermost and automatically login users to Mattermost when the app is opened.
Integration preview
I've shared some further details in the Nextcloud forum.
Here is my first version of a Mattermost plugin that allows for the automatic login and a bash script that demonstrates how Nextcloud would use it.

@jancborchardt
Copy link
Member Author

@salatfreak very cool! Do you want to publish that app on https://apps.nextcloud.com ? :)

Also, not sure if everyone saw the new Matterbridge integration? https://nextcloud.com/blog/bridging-chat-services-in-talk/

cc @gary-kim @eneiluj

@miguelsan
Copy link

Hey, thanks for the tip, @jancborchardt, Matterbridge is hot!

I can foresee this issue being closed soon. And afterwards Talk feature set getting extended for more awesomeness...

@salatfreak
Copy link

@salatfreak very cool! Do you want to publish that app on https://apps.nextcloud.com ?

I would be open to do so but currently the integration can only work when tampering with Mattermosts response headers and ideally blocking some API requests too in a reverse proxy. This would be confusing for people installing the App and expecting it to work out of the box.

@biva
Copy link

biva commented Jul 1, 2021

Of what @kinkycat91 ?

@salatfreak your idea is cool: did you make any progress?

We use Mattermost a lot and the integration with Nextcloud would definitely make sense. I think Nextcloud cannot do everything and Mattermost is already a very good open-source solution, which already integrates a Kanban board (Focalboard https://github.com/mattermost/focalboard and https://mattermost.com/blog/project-management-with-mattermost-and-focalboard/).

I don't understand every consequence of such a strategic decision, but does it really make sense to develop Talk and/or Deck while Mattermost is already very advanced?

In the same logic as partnering/integrating Office solutions (notably OnlyOffice), I really think that users would benefit from a better integration of Mattermost and Nextcloud.

@PenguinzTech
Copy link

PenguinzTech commented Jul 6, 2021 via email

@p-jo
Copy link

p-jo commented Sep 2, 2021

Hi @salatfreak this sounds great, would a donation help or do we need to find a new developer to make your plug-ins production ready?

@PenguinzTech
Copy link

PenguinzTech commented Sep 2, 2021 via email

@leoniscsem
Copy link

I could also donate to this effort, as operating Mattermost is critical for our business. I can imagine, if we bring this topic up over at the Mattermost forum, there might be more people willing to contribute.

@salatfreak
Copy link

salatfreak commented Nov 2, 2021

@p-jo @kp3nguinz @leoniscsem Unfortunately I won't be able to work on this in the near future. I might start working on it again in a couple of months, as my organization could still use it. Hooking up Nextcloud and Mattermost with an LDAP server (using e. g. Mattermost-LDAP) and embedding Mattermost with the External Sites App might be a good first step though.

@PenguinzTech
Copy link

PenguinzTech commented Nov 9, 2021 via email

@biva
Copy link

biva commented Jan 19, 2022

@kp3nguinz May I suggest to check YunoHost as well, who is looking for a solution as well to integrate LDAP and Mattermost? YunoHost-Apps/mattermost_ynh#58

@CarlSchwan CarlSchwan removed the good first issue Small tasks with clear documentation about how and in which place you need to fix things in. label Feb 7, 2022
@kdojeteri
Copy link

hi, any news on this front? I'm willing to contribute to this project.

@PenguinzTech
Copy link

PenguinzTech commented Jul 5, 2022 via email

@CarlSchwan
Copy link
Member

Closing since this is not related to the core product and can be developed as a separate app similarly to https://apps.nextcloud.com/apps/riotchat

@biva
Copy link

biva commented Nov 10, 2022

For the record, see https://github.com/julien-nc/integration_mattermost

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of enhancement integration
Projects
None yet
Development

No branches or pull requests