At the beginning of the project, we aimed to integrate ownCloud and NextCloud projects to Rocket.Chat. For this purpose, based on current GitHub issues and community expectations, we determined three main features:
- Nextcloud/ownCloud as a storage provider.
- Nextcloud/ownCloud as user file provider(attachment source).
- Save an attachment to Nextcloud/ownCloud
To communicate Nextloud/ownCloud instance, we used a generic WebDAV client. This decision expanded our aim and made the integration compatible with all WebDAV servers (NextCloud, ownCloud and so on).
In the first month of my internship, I worked on enabling Rocket.Chat server administrator to use a NextCloud/ownCloud instance for storage of upload. To add ownCloud/Nextcloud as a new storage provider for Rocket.Chat, I created a new UploadFS store for them. In the store implementation, we used a WebDAV client library to communicate with Nexc