Support for Nextcloud and ownCloud 10

Configuring support for the invitation workflow in Nextcloud and ownCloud 10 (pre-OCIS versions)

NOTE: The following steps describe tricky setup point for k8s deployment environments, there may be additional steps required for different deployments.

Both Nextcloud and ownCloud 10 are covered by a procedure described in https://sciencemesh-nextcloud.readthedocs.io/en/latest/installation.html.

There are some caveats in the process one should be aware of, though.

  • which version of ownCloud/Nextcloud to use

    Currently:

  • which is the correct version of the application that really works

    There are following versions:

    1. https://github.com/pondersource/oc-sciencemesh (works)
    2. https://github.com/sciencemesh/nc-sciencemesh (needs additional steps)
    3. https://github.com/sciencemesh/oc-sciencemesh (works, but needs additional steps)

    Version 2. & 3. is missing a vendor directory, that can be brought back by running make on it (and calling that requires a development environment to be installed beforehand), not mentioned in the original installation procedure.

  • necessary changes in helm charts

    A recent version of Revad is needed (official sciencemesh Charts provides a rather old one). To use the latest version of Reva available, set this value when deploying chart with Helm:

    helm install sciencemesh/iop ... --set gateway.image.tag=latest ...
    
  • Nextcloud vs. ownCloud 10 specifics

  • tricky bits in configs?

    1. an ending / is required here:
      #revad.toml
      [http.services.ocmd]
      mesh_directory_url = "https://.../iop/meshdir/"
    
    MariaDB []> select * from oc_appconfig where appid = 'sciencemesh';
    ...
    | sciencemesh | meshDirectoryUrl | https://.../iop/meshdir/ |
    
    1. mesh provider domains & user’s idps If you don’t use a scheme in those and use the Mentix driver for provider authorizer, you may face problems with requests authorization. This will be fixed with https://github.com/cs3org/reva/pull/3121. A temporary fix is to switch to static json driver for OCM provider authorizer.
  • check ingress rules? you must ensure that all /ocm/ paths reaches the IOP service on your provider domain

  • any meaningful procedure for testing?

Changes of the docs necessary elsewhere (possibly):