The first release of the OpenCloud platform has been introduced, allowing users to deploy a system on their own server for file sharing and collaborative content work. The project is presented as an open alternative to proprietary systems like Microsoft SharePoint, Google Drive, and Dropbox, meeting GDPR requirements.
OpenCloud is a fork of the OCIS (ownCloud Infinite Scale) platform, rewritten from PHP to Go, as opposed to the original ownCloud codebase and its offshoot project NextCloud. The creators of OpenCloud aimed to eliminate unnecessary functionality in the codebase and focus on the high-quality implementation of the core task: collaborative work with files.
In addition to file storage and sharing capabilities, as well as synchronized access to a collection of files from different devices, OpenCloud includes features for real-time document editing, integration with the Collabora Online office suite, and the Markdown Editor (ToastUI), text extraction from images and scanned documents using OCR, and utilizing the ICAP protocol to check uploaded files against antivirus packages.
For published files, you can limit their lifespan, provide access via links, and protect content with passwords. To simplify file navigation, tags, filters, and full-text search are supported. The system tracks all file interactions and provides support for reverting changes to a specific version in the past. It is possible to organize teamwork by assigning subdirectories ("workspaces") to individual teams.
The administrator is provided with a detailed access rights and user management interface (for example, it is possible to allow a user only to view or only to upload to the storage). Role-Based Access Control (RBAC) is supported. The platform uses a Privacy-First architecture, meaning that an OpenCloud user with administrator rights cannot access users' content.
The server part is written in Go, distributed under the Apache 2.0 license, and supports WebDAV, gRPC, Microsoft's RESTful Web API Graph, OCS, OCM 1.1, and OpenID Connect interfaces. It is noted that server it is implemented using a microservices architecture and can scale from installation on Raspberry Pi boards to large multi-server deployments.
The desktop client is written in C++ using Qt, published under the GPLv3 license, and supports builds for Windows, macOS, and Linux. The client also includes a file synchronization feature and the ability to mount shared storage as a virtual file system.

The web interface is written in TypeScript using the Vue.js framework and offered under the AGPLv3 license.

Source: opennet.ru
