Files
opencloud/services/sharing
Michael Barz 54a38e37c6 Apply suggestions from code review
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-11-17 10:43:44 +01:00
..
2025-01-13 09:58:18 +01:00
2025-11-17 10:43:44 +01:00

Sharing

The sharing service provides the CS3 Sharing API for OpenCloud. It manages user shares and public link shares, implementing the core sharing functionality.

Overview

The sharing service handles:

  • User-to-user shares (share a file or folder with another user)
  • Public link shares (share via a public URL)
  • Share permissions and roles
  • Share lifecycle management (create, update, delete)

This service works in conjunction with the storage providers (storage-shares and storage-publiclink) to persist and manage share information.

Integration

The sharing service integrates with:

  • frontend and ocs - Provide HTTP APIs that translate to CS3 sharing calls
  • storage-shares - Stores and manages received shares
  • storage-publiclink - Manages public link shares
  • graph - Provides LibreGraph API for sharing with roles

Share Types

The service supports different types of shares:

  • User shares - Share resources with specific users
  • Group shares - Share resources with groups
  • Public link shares - Create public URLs for sharing
  • Federated shares - Share with users on other OpenCloud instances (via ocm service)

Configuration

Share behavior can be configured via environment variables:

  • Password enforcement for public shares
  • Auto-acceptance of shares
  • Share permissions and restrictions

See the frontend service README for more details on share-related configuration options.

Scalability

The sharing service depends on the configured storage backends for share metadata. Scalability characteristics depend on the chosen storage backend configuration.