mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-05 03:40:01 -06:00
Add oCIS 1.0 Release Notes
This commit is contained in:
249
docs/ocis/release_notes.md
Normal file
249
docs/ocis/release_notes.md
Normal file
@@ -0,0 +1,249 @@
|
||||
---
|
||||
title: "Release Notes"
|
||||
date: 2020-12-16T20:35:00+01:00
|
||||
weight: 0
|
||||
geekdocRepo: https://github.com/owncloud/ocis
|
||||
geekdocEditPath: edit/master/docs/ocis
|
||||
geekdocFilePath: release_notes.md
|
||||
---
|
||||
|
||||
{{< toc >}}
|
||||
|
||||
|
||||
# ownCloud Infinite Scale 1.0.0 Technology Preview - Initial Release Notes
|
||||
|
||||
We are pleased to annouce the availability of ownCloud Infinite Scale 1.0.0 Technology Preview which is released as the first public version of the new Infinite Scale platform.
|
||||
|
||||
## Microservice architecture
|
||||
|
||||
ownCloud Infinite Scale is following the microservices architectual pattern. It is implemented as a set of microservices which are independent of each other. They are coupled with very well-defined APIs and communicate via HTTP. This architecture fosters a lot of benefits that we were going for with the new design for oCIS:
|
||||
|
||||
- Independent services: Every service is independant, comparably small and brings it's own webserver, backend/APIs and frontend components.
|
||||
- Each service runs as a separate service on the system, increasing security and stability
|
||||
- Scalability: High performance demands can be fulfilled by scaling the amount of services
|
||||
- Testability: Each service can be tested on its own due to well-defined APIs and functionality
|
||||
- Protocol-driven development
|
||||
- High-performance communication between services through technologies like GRPC
|
||||
- Multi-platform support through utilizing Golang - only minimal dependency on platform packages.
|
||||
- Cloud-native deployment and update strategies
|
||||
|
||||
## More key figures
|
||||
|
||||
- The all-new ownCloud Web frontend ships with the platform
|
||||
- OpenID Connect is the technology choice for authentication
|
||||
- An Identity Provider is bundled to ease deployment and operations. It can be replaced with other applications if desired.
|
||||
- Up-to-date, cloud-native deployment options are available
|
||||
- Flexible configuration through environment variables, yaml files or command-line switches
|
||||
- Database-less architecture - metadata and data are kept together in the storage as a single source of truth
|
||||
- Native storage capabilities are used
|
||||
- Public ownCloud APIs like WebDAV and OCS have been kept compatible to ownCloud 10
|
||||
- A secure and flexible framework to create extensions for ownCloud. It allows to integrate with ownCloud data in a very easy yet powerful way.
|
||||
|
||||
### Supported platforms
|
||||
- Linux-amd64
|
||||
- Darwin-amd64
|
||||
- Experimental: Windows, ARM (e.g., Raspberry Pi)
|
||||
|
||||
### Client support
|
||||
All official ownCloud Clients support the Infinite Scale server with the following versions:
|
||||
- Desktop >= 2.7.0
|
||||
- Android >= 2.15
|
||||
- iOS >= 1.2
|
||||
|
||||
## Architecture
|
||||
|
||||
ownCloud Infinite Scale is built as a modular framework in which components can be scaled individually. It consists of
|
||||
|
||||
- a user management service
|
||||
- a storage backend service
|
||||
- Built-in IdP
|
||||
- Frontend
|
||||
- Application gateway/proxy
|
||||
|
||||
These components can be deployed in a multi-tier deployment architecture. See the [documentation]https://owncloud.github.io/ocis/ for an overview of the services.
|
||||
|
||||
## Various Operation modes
|
||||
### Standalone Full Stack Server mode (with oCIS storage driver)
|
||||
|
||||
### Standalone Single service mode for scaleouts
|
||||
|
||||
### Bridge mode with ownCloud 10 backend
|
||||
For the product transition phase, ownCloud Infinite Scale comes with an operation mode ("bridge mode") that allows to create a hybrid deployment between both server generations to operate the new web frontend with ownCloud 10 and Infinite Scale in parallel. This setup allows to operate the ownCloud Web frontend with both server generations and provides the foundation to migrate users gradually to the new backend.
|
||||
|
||||
**Requirements for the bridge mode**
|
||||
- ownCloud Server >= 10.6
|
||||
- https://marketplace.owncloud.com/apps/openidconnect[Open ID Connect] is used for user authentication
|
||||
- The https://marketplace.owncloud.com/apps/graphapi[Graph API] app is installed on ownCloud Server
|
||||
- The latest client versions are rolled-out to users (required for OpenID Connect support). See the https://doc.owncloud.com/server/admin_manual/configuration/user/oidc/#owncloud-desktop-and-mobile-clients[ownCloud Documentation] for more information.
|
||||
|
||||
TIP: **ownCloud Infinite Scale is currently in Technology Preview. The bridge mode should only be used in non-productive environments.**
|
||||
|
||||
https://owncloud.github.io/ocis/deployment/owncloud10_with_oc_web/
|
||||
|
||||
[To illustrate, a little graphic that describes the various operation modes would be cool
|
||||
|
||||
# What to expect?
|
||||
|
||||
This is the first promoted public release of oCIS, released as "technical preview". oCIS is not yet ready for production installations. Technical audience will get a good impression of the potential of ownClouds new platform.
|
||||
|
||||
oCIS 1.0.0 comes with the base functionality for sync and share on a much higher performance-, stability- and security-level compared to all available platforms. Based on ten years of experience in enterprise sync and share and a long standing collaboration with the biggest global science organizations this new platform will exceed what enterprise sync and share / Content Collaboration (?) is today.
|
||||
|
||||
TODO: Mention the base modules of oCIS
|
||||
|
||||
# How to get started?
|
||||
|
||||
One of the most important objectives for oCIS was to ease the setup of a working instance dramatically. Since oCIS is built on Google's powerful GO language it supports the single-file-deployment: Installing oCIS 1.0.0 is as easy as downloading a single file, applying execution permission to it and get started. No more fiddling around with complicated LAMP stacks.
|
||||
|
||||
## Deployment Options
|
||||
|
||||
Given the GOlang based architecture of oCIS, there are various deployment options based on the users requirements. With our experience with the for many users difficult setup of the LAMP stack before a big emphasis was put on easy yet functional deployment strategies.
|
||||
|
||||
### Delivery as single binary
|
||||
|
||||
The single binary is the best option to test the new ownCloud Infinite Scale 1.0.0 Technical Preview release on a local machine. Follow these instructions to get the platform running in the most simple way:
|
||||
|
||||
1. Download the binary
|
||||
**Linux**
|
||||
`curl https://download.owncloud.com/ocis/ocis/testing/ocis-testing-linux-amd64 --output ocis`
|
||||
**MacOS**
|
||||
`curl https://download.owncloud.com/ocis/ocis/testing/ocis-testing-darwin-amd64 --output ocis`
|
||||
|
||||
2. Make it executable
|
||||
`chmod +x ocis`
|
||||
|
||||
3. Run it
|
||||
`./ocis server`
|
||||
|
||||
4. Navigate to http://localhost:9200 and log in to ownCloud Web (admin/admin)
|
||||
|
||||
oCIS environments to last should use more sophisticated setup, see https://owncloud.github.io/ocis/deployment/ for more information.
|
||||
|
||||
### Containerized Setup
|
||||
|
||||
For more sophisticated and production setups we recommend to use one of our proposed docker setups, see [Link]
|
||||
|
||||
- Traefik reverse proxy
|
||||
- Letsencrypt certificate provisioning
|
||||
-
|
||||
|
||||
https://owncloud.github.io/ocis/deployment/ocis_traefik/
|
||||
|
||||
# ownCloud Web Features
|
||||
|
||||
- Available extensions?
|
||||
|
||||
## Framework
|
||||
- User avatars (compatible with oC 10 API)
|
||||
- Alerts for information/errors
|
||||
- Notifications (bell icon, compatible with oC 10 API)
|
||||
- Extension points
|
||||
|
||||
## Files
|
||||
- Listing and browsing the hierarchy
|
||||
- Sorting by columns (name/size/updated)
|
||||
- Breadcrumb
|
||||
- Thumbnail previews for images (compatible with oC 10 API and Thumbnails service API)
|
||||
- Upload (file/folder), using the TUS protocol for reliable uploads
|
||||
- Download (file)
|
||||
- Rename
|
||||
- Copy
|
||||
- Move
|
||||
- Delete
|
||||
- Indicators for resources shared with people (including subfiles and subfolders)
|
||||
- Indicators for resources shared by link (including subfiles and subfolders)
|
||||
- Quick actions (extension point)
|
||||
- Add people
|
||||
- Create public link on-the-fly and copy it to the clipboard
|
||||
- Favorites (view + add/remove)
|
||||
- Shared with me (view)
|
||||
- Shared with others (view)
|
||||
- Deleted files
|
||||
- Versions (list/restore/download/delete)
|
||||
- File/folder search
|
||||
|
||||
## Sharing with People (user/group shares)
|
||||
- Adding people to a resource
|
||||
- Adding multiple people at once (users and groups)
|
||||
- Autocomplete search to find users
|
||||
- Roles: Viewer / Editor (folder) / Advanced permissions (granular permissions)
|
||||
- Expiration date
|
||||
- Listing people who have access to a resource
|
||||
- People can be listed when a resource is directly shared and when it's indirectly shared via a parent folder.
|
||||
- When listing people of an indirectly shared resource, there is a "via" indicator that guides to the directly shared parent.
|
||||
- Every person can recognize the owner of a resource.
|
||||
- Every person can recognize their role.
|
||||
- The owner of a resource can recognize persons that added other people (reshare indicator).
|
||||
- Editing persons
|
||||
- Removing persons
|
||||
|
||||
## Sharing with Links
|
||||
- Private links (copy)
|
||||
- Public links
|
||||
- Adding public links on single files and folders
|
||||
- Roles: Viewer / Editor (folder) / Contributor (folder) / Uploader (folder)
|
||||
- Password-protection
|
||||
- Expiration date
|
||||
- Listing public links
|
||||
- Public links can be listed when a resource is directly shared and when it's indirectly shared via a parent folder.
|
||||
- When listing public links of an indirectly shared resource, there is a "via" indicator that guides to the directly shared parent.
|
||||
- Copying existing public links
|
||||
- Editing existing public links
|
||||
- Removing existing public links
|
||||
- Viewing public links
|
||||
|
||||
## User Profile
|
||||
- Display basic profile information (user name, display name, e-mail, group memberships)
|
||||
- "Edit" button guides to ownCloud 10 user settings (when used with oC 10)
|
||||
|
||||
## Basic user settings
|
||||
- Language of the web interface
|
||||
|
||||
# oCIS Backend Features
|
||||
|
||||
## Storage
|
||||
|
||||
## User and group management
|
||||
- Functionality available via API and frontend ("Accounts" extension)
|
||||
- User listing (API/FE)
|
||||
- User creation (API/FE)
|
||||
- User deletion (API/FE)
|
||||
- User activation/blocking (API/FE)
|
||||
- Role assignment for users (API/FE)
|
||||
- User editing (API)
|
||||
- Multi-select in the frontend (delete & block/activate)
|
||||
- Group creation (API)
|
||||
- Add/remove users to/from groups (API)
|
||||
- Group deletion (API)
|
||||
- Create/read/update users and groups (CLI)
|
||||
|
||||
## Settings
|
||||
### Settings bundles framework
|
||||
- What is a settings bundle?
|
||||
- What can you do with it?
|
||||
- Extensions?
|
||||
|
||||
### Roles & permissions system
|
||||
- How is the framework designed? (permissions for actions are available in the system => can be bundled to roles)
|
||||
- Currently available permissions: Manage accounts (gives access to the user management)
|
||||
- Current roles are default roles defined in config files (??)
|
||||
- "Admin": Has the permission to "manage accounts"
|
||||
- "User": Does not have any dedicated permission
|
||||
- "Guest": Does not have any dedicated permission
|
||||
- Currently a user can have only one role
|
||||
- Users with the role "Admin" can assign/unassign roles to/from other users (as part of the permission to "manage accounts")
|
||||
|
||||
## APIs
|
||||
- WebDAV
|
||||
- OCS
|
||||
|
||||
# Known issues for OCIS standalone
|
||||
- There are feature differences depending on the operation mode, e.g., no user management with ownCloud Web and oC 10 backend
|
||||
- Public links do not yet respect the given role (a recipient has full permissions no matter which role has been set)
|
||||
- Resharing works but does not have necessary restrictions in place
|
||||
- Share recipients can add more people or create public links with higher permissions than they originally had
|
||||
- Every person in a share can see all other people in the people list
|
||||
- Sharing indicators in the file list will only be shown after opening the right sidebar for a resource
|
||||
- The location for incoming shares is currently hardcoded to "/Shared"
|
||||
- Users can't change their password yet
|
||||
- No size tree accounting with OCIS storage yet
|
||||
- Cleanups are not available => e.g., shares of a deleted user will not be removed
|
||||
Reference in New Issue
Block a user