nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
26.91k stars 4.02k forks source link

Integration with Mattermost #3202

Closed jancborchardt closed 2 years ago

jancborchardt commented 7 years ago

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.


:money_with_wings: Donate to help make this happen! :smiley: Bountysource

jancborchardt commented 7 years ago

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

jancborchardt commented 7 years ago

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

harcesz commented 7 years ago

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 commented 7 years ago

👍

chief-nerd commented 7 years ago

+1

jancborchardt commented 7 years ago

You can support this either by

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

siteleas commented 7 years ago

Any word on this? I placed a bounty. I hope someone picks up the bounty for completing the work! ;-)

hubearth commented 6 years ago

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 commented 6 years ago

@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. :tada:

ShamimIslam commented 6 years ago

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 commented 6 years ago

Any updates on this? This sounds really interesting as i have to suggest something for my company. I am looking at Mattermost and matrix / riot.im with a nextcloud and a integration so nextcloud is easy to reach - it would be great.

lapineige commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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

MozzieAU commented 6 years ago

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

hanzei commented 5 years ago

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 commented 5 years ago

Hello Hanzei

In our organisation, we are looking for two key functionalities from Nextcloud integration.

1/ The ability to provide a searchable online library of documents for access by employees. The Nextcloud backend to be used as the doc store, and the ability to share documents to anyone using Nextcloud’s sharing facility.

2/ NExtcloud/Collabora inline editing of documents being worked on by channel members. For example, a channel member uploads a worksheet or document for the team to work on. Once uploaded the members can access said document and edit it inline within a popup window or tab from the channel post.

Hope this helps. Happy to discuss a bounty.

Regards Ray

From: Hanzei notifications@github.com Sent: Monday, 17 December 2018 7:10 AM To: nextcloud/server server@noreply.github.com Cc: Ray Ellison ray.ellison@countryarts.org.au; Comment comment@noreply.github.com Subject: Re: [nextcloud/server] Integration with Mattermost (#3202)

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.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/nextcloud/server/issues/3202#issuecomment-447673997, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ag_Mabqw36-4_-8KJyeERat5hglCAazBks5u5q-mgaJpZM4LqvUf.

lapineige commented 5 years ago

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.

guillaume-smo commented 5 years ago

the best would be:

lapineige commented 5 years ago

if the file is already stored in a nextcloud synced directory (with nextcloud client), mattermost should be able to get the shared link created by nextcloud. thanks !

I've a proposal : if you mention "@YourNextcloudSiteName", then you can get the list of directories and find a file to "mention" (=link).

vpecinka commented 5 years ago

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.

Hi @hanzei

I appreciate your interest!

It would be great if users of the Mattermost can select a file from their nextcloud account (e.g. linked through personal token) and post it to the channel. Technically it can be achieved by creating public link for the file and posting it to the channel. This is probably more Mattermost related (plugin?)

On the other side, in the Nextcloud gui it would be great to select a file / view its properties and create post message in the Mattermost channel (technically: create public link and call mattermost webhook to post the link in the selected channel).

VP

biva commented 5 years ago

Hello, I use Slack, and the main feature I use is the chat organized in channels. Not very different from what "Nextcloud Talk" is providing at the end.

Instead of integrating Mattermost to Nextcloud, wouldn't it be easier to make Talk evolve to integrate the capabilities of Mattermost?

vpecinka commented 5 years ago

I think it is better to remove Talk and integrate open sourced Mattermost. It is not easy to keep up with folks focusing on one product...

Serkan-devel commented 5 years ago

Why not integrate Zulip instead?

hanzei commented 5 years ago

This issue is about an Integration with Mattermost. For integrations with other software, please open a new ticket.

PackElend commented 5 years ago

There are so many good comments but is actual some coding on it? What about dropping talk and integrate mattermost fully, so moving capacity from talk to mattermost. As both parties have a commercial branch some official agreement would be necessary avoid major changes dump the other party

miguelsan commented 5 years ago

@hanzei I don't agree with you. As an example, @harcesz and @biva need to replace Slack, and integrating Mattermost is just one possible way for them to achieve it. Mattermost is indeed the first solution that most of us think about for this case, since it is well known as the FOSS version of Slack, which in itself comprises and describes the main usecase here. My usecase, for instance, would be to enjoy a slackish app in a new Nextcloud instance for a startup.

This again aligns with the following thoughts:

  1. Such an app is most needed in Nextcloud, I hope that we all agree on that.
  2. This issue #3202 should be about the feature set of that app, be it integration with Mattermost itself, extending the capabilities of Nextcloud Talk, or whatever.

I vote for either changing the title of this issue or opening another one as "Define feature set of a full fledged discussion app", which would as a result supersede this one.

Once in there, we should also talk about alternatives like integrating Zulip, whose features are more appealing as Mattermost's (take a look at it, guys!), or even about Discourse.

ShamimIslam commented 5 years ago

So here's the problem. Defining a featureset is great. But the brass tacks end up costing more. It's a lot easier to see where you are going when the destination is clearly defined. We can always expand to additional platforms. But until you have the first one, you're still shooting in the dark.

On Thu, Apr 18, 2019 at 11:17 AM Miguel San Miguel notifications@github.com wrote:

@hanzei https://github.com/hanzei I don't agree with you. As an example, @harcesz https://github.com/harcesz and @biva https://github.com/biva need to replace Slack, and integrating Mattermost is just one possible way for them to achieve it. Mattermost is indeed the first solution that most of us think about for this case, since it is well known as the FOSS version of Slack, which in itself comprises and describes the main usecase here. My usecase, for instance, would be to enjoy a slackish app in a new Nextcloud instance for a startup.

This again aligns with the following thoughts:

  1. Such an app is most needed in Nextcloud, I hope that we all agree on that.
  2. This issue #3202 https://github.com/nextcloud/server/issues/3202 should be about the feature set of that app, be it integration with Mattermost itself, extending the capabilities of Nextcloud Talk, or whatever.

I vote for either changing the title of this issue or opening another one as "Define feature set of a full fledged discussion app", which would as a result supersede this one.

Once in there, we should also talk about alternatives like integrating Zulip, whose features are more appealing as Mattermost's (take a look at it, guys!), or even about Discourse https://www.discourse.org/.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nextcloud/server/issues/3202#issuecomment-484557611, or mute the thread https://github.com/notifications/unsubscribe-auth/AAXKQTXGIHNPYWFAVHJBVHDPRCGJFANCNFSM4C5K6UPQ .

miguelsan commented 5 years ago

Ok, here is my point: I can see that it would be more effective to just define an MVP than agreeing on each and every detail of the app, but: I am afraid that this MVP will be a half-backed integration of [fill the blank with Your random solution] and afterwards having to point out to people asking for deal-breaker improvements that those aren't technically possible without a complete new and expensive app, which won't be done because the existing one is "enough for me". That's something I'd like to avoid.

A bit of exploration and some kind of poll about the main direction of the app that you mention should be somehow doable and gather enough impulse to push this issue forward, which it obviously needs.

miguelsan commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

@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 commented 4 years ago

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

biva commented 4 years ago

Hello, I propose a very specific integration Nextcloud Deck / Mattermost in https://github.com/nextcloud/deck/issues/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 :frowning: Thanks!

PackElend commented 4 years ago

I reckon they wil apply for GSoC 2020, as in 2019: https://developers.mattermost.com/contribute/google-summer-of-code/ . You can propose as project and volunteer as mentor. Orgs are announced by Google mid Feb, wait for the right announcement a go ahaed

Le jeu. 23 janv. 2020 à 18:11, biva notifications@github.com a écrit :

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

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/nextcloud/server/issues/3202?email_source=notifications&email_token=AA3AYD62LEX5E4PGQZA3D53Q7HFUZA5CNFSM4C5K6UP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJYDFHY#issuecomment-577778335, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA3AYD3HT4B2HNHL4TXWKP3Q7HFUZANCNFSM4C5K6UPQ .

orbnetde commented 4 years ago

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

PenguinzPlays commented 4 years ago

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

salatfreak commented 4 years ago

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 commented 3 years ago

@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 commented 3 years ago

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 commented 3 years ago

@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 commented 3 years ago

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.

PenguinzPlays commented 3 years ago

Yes... but they make money from Talk, so that is why they are less likely imho.

On Thu, Jul 1, 2021 at 3:06 AM biva @.***> wrote:

Of what @kinkycat91 https://github.com/kinkycat91 ?

@Salatfreak https://github.com/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.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nextcloud/server/issues/3202#issuecomment-872108227, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEJX2IYGM2G5XNQ5JQEWU7TTVQ4ZBANCNFSM4C5K6UPQ .

p-jo commented 3 years ago

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?

PenguinzPlays commented 3 years ago

My company would also be willing to throw a donation to help get this done.

Thanks,

Justin Bowen, GCIH, GPEN, GCWN, GCFA Sr. Security Engineer Enterprise Security

On Thu, Sep 2, 2021 at 12:00 PM Petter Joelson @.***> wrote:

Hi @Salatfreak https://github.com/Salatfreak this sounds great, would a donation help or do we need to find a new developer to make your plug-ins production ready?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nextcloud/server/issues/3202#issuecomment-911970245, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEJX2I6633DGLWB7TJDCFK3T77CVFANCNFSM4C5K6UPQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

leoniscsem commented 3 years ago

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 commented 2 years ago

@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.

PenguinzPlays commented 2 years ago

If it is not done by February, I have added it to my team's February sprint to make this!


Thanks,

Justin Bowen, GCIH, GPEN, GCWN, GCFA Owner Penguinz Media Group LLC

On Tue, Nov 2, 2021 at 4:13 AM Salatfreak @.***> wrote:

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 though.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nextcloud/server/issues/3202#issuecomment-957248626, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEJX2IYTRESAVIEKHL6RYS3UJ6TTTANCNFSM4C5K6UPQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

biva commented 2 years ago

@kp3nguinz May I suggest to check YunoHost as well, who is looking for a solution as well to integrate LDAP and Mattermost? https://github.com/YunoHost-Apps/mattermost_ynh/issues/58

kdojeteri commented 2 years ago

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