Code Monkey home page Code Monkey logo

docs's Introduction

ownCloud Documentation

Build Status

  1. The platform and tools used to build the documentation is Antora.
  2. The file format that the documentation is written in is AsciiDoc.
  3. The UI & UX of the documentation can be found at docs-ui

Table of Contents

Antora Site Structure for Docs

Refer to the Antora Site Structure for Docs for more information.

Documentation Guidelines

Refer to the Documentation Guidelines for more information about backgrounds and processes.

Contributing to the Documentation

To get started contributing to the documentation, please refer to the Getting Started Guide.

With regard to language and style issues, consult the Style Guide.

Generating the Documentation

IMPORTANT
We recently have upgraded to node 18.19.0. In case you used a lower node version for your local doc repos, you must upgrade them all. See the link below for details.

IMPORTANT
We recently have upgraded to Antora 3.1.7. In case you used a lower Antora version for your local doc repos, you must upgrade them all by running yarn install in each doc repo.

To generate and view the documentation locally or planning major changes, refer to the Building the Documentation guide.

Common Content and Styling the Documentation

If you want to suggest an improvement to the ownCloud documentation theme, such as the layout, the header or the footer text, or if you find a bug, all the information that you need is in the docs-ui repository. Changes made in docs-ui are valid for the whole documentation.

Please read how to test un-merged docs-ui changes with content from the ownCloud documentation.

Best Practices and Tips

Refer to Best Practices and Tips for writing in AsciiDoc for more information.

To check for broken links manually, see install and use a broken-link-checker.

Target Branch and Backporting

Please always do your changes in master and backport them to the relevant branches. The ONLY reason for doing a PR in a branch directly is, to fix an issue which is only present in that particular branch! When creating a PR and it is necessary to backport, document in the PR to which branches a backport is needed.

When backporting, consider using the backport script which eases life a lot and speeds up the process. It is also very benificial when using the extended code provided, because a clear naming structure of the backport PR is generated automatically.

When Does a Change Get Published to the Docs Web Site?

Changes made will get published to the web under the following conditions:

  1. A merge in a component to one of the defined version branches triggers as a last step a master branch build.
  2. A merge to master triggers a site build which then pushes all versions defined in site.yml.

Create a New Version Branch for Docs

Please refer to Create a New Version Branch for Docs for more information.

HTML to PDF

At the moment, creating a pdf from a component via Antora is broken and will be fixed past updating to Antora 3. In the meanwhile a workaround is provided, see the HTML to PDF description.

docs's People

Contributors

bernhardposselt avatar blizzz avatar butonic avatar carlaschroder avatar danimo avatar deepdiver1975 avatar dependabot-preview[bot] avatar dependabot[bot] avatar dietmaroc avatar eparzefall avatar j-ed avatar jnweiger avatar jospoortvliet avatar lukasreschke avatar mmattel avatar morrisjobke avatar mschreml avatar nickvergessen avatar pako81 avatar phil-davis avatar pmaier1 avatar randolfcarter avatar raydiation avatar settermjd avatar tboerger avatar tbsbdr avatar vgezer avatar voroyam avatar wakeup avatar xoxys avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

Document side effects of having federated sharing enabled

The comfort of federated Sharing comes with a few side effects, such as potentially leaking email addresses with the sharer. This should be documented so the user can make an informed decision on whether or not he wants to disable this feature.

Remove all ocdev references

Apparently ocdev isn't maintained any more and has been removed from pip3, so the commands will not work any more.

Either we need to republish it to pip under another account or adjust the documented commands to be based on git.

As for the app generator, this is likely not replaceable so would need to remove it completely.

In an ideal world, either we need a new maintainer for ocdev or even better: rewrite the thing in PHP instead of Python...

What do you think ? @carlaschroder @DeepDiver1975 @butonic

Hooks documentation is missing information about pre-requisites

I'm not even sure if hooks work as described on the hooks documentation page since almost nobody uses them that way, but one thing is for certain, documentation is missing regarding the requirements an app needs to have in order to be able to listen to filesystem hooks: the app needs to be of type filesystem, as described here: https://doc.owncloud.org/server/9.0/developer_manual/app/info.html#types

<?xml version="1.0"?>
<info>
....
    <types>
        <filesystem/>
    </types>
...
</info>

[ownBrander] Included new Desktop branded options

Hey @carlaschroder this will be released, around 1st June:

Confused on update process on ownCloud installed using Linux metapackage

I am sorry, but after reading through the documentation, I am still confused, I am not sure among all the pages and links of documentation which “overrules” the other or how they are to be coordinated with each other, and therefore which I should be following in my case. Thank you in advance for helping to answer these questions.

  1. I installed ownCloud 9.1.0 using the linux metapackage “owncloud” for Ubuntu 16.04. The instructions at https://doc.owncloud.org/server/9.1/admin_manual/installation/linux_installation.html seem to indicate that the way I manage updating is to allow my Ubuntu package manager take care of that. Is that correct?
  2. At that same link above, it also says this: “Do not move the folders provided by these packages after the installation, as this will break updates.” The data I want the ownCloud server to make available will NOT be in /var/www/owncloud , instead, it will be in a different location. Will this be a problem for me? If so, what are my options?
  3. Still at that same link above, it says this as a final step: “Follow the instructions on the download page to install ownCloud. Then run the Installation Wizard to complete your installation. (see Installation Wizard).” When I read the instructions for the “Installation Wizard” found at https://doc.owncloud.org/server/9.1/admin_manual/installation/installation_wizard.html , it says the first thing to do is to set strong directory permissions. So, does that mean that installing the Ubuntu metapackage “owncloud” does NOT set the correct permissions, and I need to go through this process of changing them?
  4. At the link for the “Installation Wizard”, it says this about setting strong directory permissions: “These strong permissions prevent upgrading your ownCloud server; see Setting Permissions for Updating for a script to quickly change permissions to allow upgrading.” So, does this mean that after I install the Ubuntu metapackage “owncloud”, and after I have had to correct the directory permissions using the bash script, my Ubuntu package manager system/process will NOT work for doing updates because I’ve changed the directory permissions? And, does that mean that in order to do updates, I need to use the script to temporarily change the directory permissions? And, does that also mean that if my Ubuntu package manager cannot do updates, I will have to always update manually, even though the initial installation of ownCloud was via the use of the Ubuntu metapackage “owncloud”? Finally, doesn't this, by making my Ubuntu package manager unable to do updates, contradict what I thought was the case in my question #1 above? It just seems so contradictory to me that the instructions warn against moving the folders because that will "break updates" (see #2 above) - I am grateful for the warning! - but then later in the instructions it advises to change the permissions, along with a warning that such changes will break updates! I am so confused.....

Possible update to devlopment documentation necessary

@PVince81 as discussed on IRC

When trying to setup a development environment following https://github.com/owncloud/documentation/blob/master/developer_manual/general/devenv.rst
I ran into some issues. The most important issue was, that make did not finish sucessfully.

After digging I found the root cause on the failing make.

  • It seems that the version from nodejs provided on Ubuntu 16.04 is out of date and does not meet the requirements. Currently nodejs version from the packte manager is on 4.2.6.
  • Because I need to run make under sudo, make fails with bower because the parameter --allow-root is not set.

After removing npm and nodejs from the server, I installed
nodejs 7.x

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

sudo nodejs –v
v7.5.0
sudo npm –v
4.1.2

bower

sudo npm i -g bower

sudo bower -v
1.8.0

Now, after cloning you can run
sudo make

If you get an error at the end like bower ESUDO Cannot be run with sudo
finalize bower by running: sudo bower install --allow-root

Additional note on make:
I get the following reports. Should that be fixed?

Package guzzle/parser is abandoned, you should avoid using it. Use guzzle/guzzle instead.
Package guzzle/common is abandoned, you should avoid using it. Use guzzle/guzzle instead.
Package guzzle/stream is abandoned, you should avoid using it. Use guzzle/guzzle instead.
Package guzzle/http is abandoned, you should avoid using it. Use guzzle/guzzle instead.

The documentations says to chown directory data.
But this directory is not provided when cloning core and does not extists. You have to manually create it before.
Also, you need to chown the config directory, else setup does not work.

Document ability for apps to define their own settings sections

Related core PR: owncloud/core#27634

Whats new since OC10:

  • Apps can define their own settings sections in addition to panels

Steps to do this:

  • Add a <settings-sections> element in info.xml of the app. Sub element of <personal> or <admin> with the class name of the section. (See owncloud/core#27634)
  • Create the relevant class, for example:
namespace OCA\MyApp;
use OCP\IL10N;
use OCP\Settings\ISection;
class AdminSection implements ISection {
	/** @var IL10N  */
	protected $l;
	public function __construct(IL10N $l) {
		$this->l = $l;
	}
	public function getPriority() {
		return 20;
	}
	public function getIconName() {
		return 'password';
	}
	public function getID() {
		return 'mycustomsection';
	}
	public function getName() {
		return $this->l->t('MyApp');
	}
}

Appliance config misses proxy config

Old PD-Menue has no step to configure a http proxy.
Check if new univention appliance has this!

Documentation should explain the manual steps in any case!

Add heartbeat path to excluded SSO paths

Need to add the path "/heartbeat" to the paths that must NOT be redirected to the IDP here: https://doc.owncloud.org/server/8.2/admin_manual/enterprise_user_management/user_auth_shibboleth.html

In case of public upload, there is no other ajax request that would refresh the session. So if a public upload is running longer than the session timeout (or session.gc_maxlifetime), the heartbeat must be made to work to refresh the session. Failure to do so will have the ajax/upload.php call be rejected with "invalid token" because the request token will become invalid as it's stored in the session.
Note that ajax/upload.php uses POST, which means it only hits the OC code after PHP is finished receiving and storing the file to its temp folder, so the upload would not refresh the session until its very end, which is too late.

@DeepDiver1975 @butonic @felixboehm @pako81

Improve enterprise logging docs / add comparison to CE

  1. Enterprise logging:
    https://doc.owncloud.com/server/9.1/admin_manual/enterprise_logging/enterprise_logging_apps.html
    needs to include all logged events => https://github.com/owncloud/enterprise/blob/master/admin_audit/appinfo/info.xml

  2. Comparison of logging features between CE and EE

ownCloud Server (Community Version)

ownCloud Enterprise Edition

  • System-Fehler-Logging (wie Community Version)
  • Community Apps Fehler-Logging (wie Community Version)
  • Auditing-Modul:
    → Protokollierung von
    • Logins/Logouts von Nutzern
    • Dateisystem-Operationen von Nutzern (z.B. Dateien erstellen/loeschen/verschieben, Papierkorb)
    • Sharing-Operationen von Nutzern (z.B. internes Sharing, Sharing via Link, Setzen/aendern von Berechtigungen, Aufrufe der Sharing API durch Clients)
    • Setzen/loeschen von Datei-Tags von Nutzern
    • Nutzer-Management-Operationen (z.B. User anlegen/loeschen, User aktivieren/deaktivieren)
  • Enterprise Apps Logging (z.B. File Firewall)
    • separate App-Logs (z.B. durch File Firewall verhinderte Zugriffe)

Empfehlungen
ownCloud Logfiles werden im Syslog-Format abgelegt. Diese sind über die Admin-Oberfläche
sowie über das standardmaessig aktivierte Einbinden des lokalen Speichers (Externe Storages -> Lokal) für den ownCloud Administrator lesbar.
Wir empfehlen die Logfiles direkt über für Linux verfügbare Open Source Tools zu schreiben
und dann dort auszuwerten. Dabei kann ein kontrollierter Zugriff (mehrere Admins, Betriebs-/Personalrat, etc.) definiert werden und sinnvolle Auswertungen für den Support zur
Verfügung gestellt werden.

Need English translation? Questions?

Document how to handle failed ownCloud 9.1 and 10 logins with fail2ban

Docs already cover protection for SSH logins: owncloud-archive/documentation#2936

It's also very useful, to block failed ownCloud logins. To achieve this, fail2ban can "read" the owncloud.log.

Community documented it in the forums for the older versions:
https://central.owncloud.org/t/fail2ban-and-owncloud-8-x-9-0-x/837

It seems log format changed with oC 10:
https://central.owncloud.org/t/owncloud-10-0-0-will-change-the-owncloud-log-format-a-bit/6837

In this discussion, an awesome person provided a working config in the last post:
https://central.owncloud.org/t/fail2ban-and-oc-10/7776

@jvillafanez Would you recommend this?

[Definition]
failregex={"reqId":".*","level":2,"time":".*","remoteAddr":".*","user":".*","app":"core","method":"POST","url":".*","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)"}

@pmaier1 Log format shouldn't change again, but if it does, the change needs to be documented in the docs. /cc @settermjd

Document platform-wide known limitations, excluded files

@settermjd Where can this be located?

Previously documented:

/cc @pmaier1 @hodyroff

Deployment Recommendations additions

This is the place to discuss improvements to the Deployment Recommendations document (master copy here https://github.com/owncloud/documentation/blob/master/admin_manual/installation/deployment_recommendations.rst ).

@plastikschnitzer posted some good questions in owncloud-archive/documentation@498fe74:

Hi,
you write in the deployment manual about 3 examples of server setups:
Small: up to 150 users with a single server setup
Medium: 150-1000 users with a multi-server setup
Big: 5000 - 100000 users with a bigger multi-server setup

My questions:

  1. On which user behavior and file sizes are these recommendations based on?
  2. How many desktop clients/webbrowser/mobile apps do you calculate per user?
  3. Are all users online at the same time or are they spread around the world and work in different timezones?
  4. Are these recommendations for the default OC-code and default template or are some tweaks included?

I think there is a lot you can tweak, for example gzip compression, asset pipelining, browser caching, removing @font-face. This way, I could reduce the weight of the login page from 1,68 MB and 72 server requests down to 265 kB and 8 server requests. Have possible tweaks like this taken into considerations for recommended server setups?

Using static code analyzer in RST

I submitted my first contribution here a while back (owncloud-archive/documentation#2185) and found some minor styling issues and things frequently in the docs. I noticed that in a few places the links are invalid or style issues exist.

I think it'd be a great idea to add a static analysis tool to check rst formatting for the documentation.
In specific, I was thinking of coala (https://github.com/coala-analyzer/coala). I've been contributing to the project for a while - and a neat checker for "Invalid Links" was created recently to check their docs.

I think the following would be good value-adds (from the top of my head):

  • InvalidLinks - Checks for invalid links (links that are broken or give 40x, 50x) in the rst files
  • restLinter - To check rst syntax
  • LanguageTool - To check grammar issues
  • SpaceConsistency - To check for unnecessary white space and newlines

Also, there's a CI gitmate associated with it which directly comments with patches in github PRs - which is under beta. In case you do not want to use jenkins, travis, circleci, etc

Is this something that you'll would like to pursue ?
I could help set it up.

Edit: Note that it has the capability to auto apply patches when feasible

Document Webdav REPORT on files endpoint

  1. Favorite some files in the web UI
  2. Create a file "report-favorite.xml" with the following contents
<?xml version="1.0" encoding="utf-8" ?>
<oc:filter-files xmlns:a="DAV:" xmlns:oc="http://owncloud.org/ns" >
        <a:prop>
                <!-- add Webdav properties to query here, like for PROPFIND -->
                <a:getetag/>
                <a:resourcetype/>
                <a:getcontentlength/>
        </a:prop>
        <!-- required filter rules, at least one needs to be specified -->
        <oc:filter-rules>
                <!-- add filter rules here -->
                <oc:favorite>1</oc:favorite>
        </oc:filter-rules>
        <!-- optional search block for pagination -->
        <oc:search>
                <!-- offset to retrieve (here 200 would be page 2) -->
                <oc:offset>200</oc:offset>
                <!-- number of results to retrieve -->
                <oc:limit>100</oc:limit>
        </oc:search>
</oc:filter-files>
  1. curl -u admin:admin -X REPORT -H "Content-Type: text/xml" --data-binary "@report-favorite.xml" 'http://localhost/owncloud/remote.php/dav/files/admin/'

This will return a multistatus result containing all favorite files from any subdirectory:

<?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:card="urn:ietf:params:xml:ns:carddav" xmlns:oc="http://owncloud.org/ns">
  <d:response>
    <d:href>/owncloud/remote.php/dav/files/admin/welcome.txt</d:href>
    <d:propstat>
      <d:prop>
        <d:getetag>"e974c6a3c7d8886158b2911ab6cc7fea"</d:getetag>
        <d:resourcetype/>
        <d:getcontentlength>163</d:getcontentlength>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>/owncloud/remote.php/dav/files/admin/sub/another</d:href>
    <d:propstat>
      <d:prop>
        <d:getetag>"58d2b5c6912da"</d:getetag>
        <d:resourcetype>
          <d:collection/>
        </d:resourcetype>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
    <d:propstat>
      <d:prop>
        <d:getcontentlength/>
      </d:prop>
      <d:status>HTTP/1.1 404 Not Found</d:status>
    </d:propstat>
  </d:response>
</d:multistatus>

It only returns the required properties just like PROPFIND.

Describe Log levels by how the statemant will be used

I stumbled over https://labs.ig.com/logging-level-wrong-abstraction. The introduction appealed to me because I am reading too many OC logfiles, anyway. I keep finding myself ignoring useless lines and craving for the debug log quite often, so I propose we give app developers a recommendation which log level to use:

DEBUG: information that is useful during development. Usually very chatty, and will not show in production.
INFO: information you will need to debug production issues.
WARN: someone in the team will have to investigate what happened, but it can wait until tomorrow.
ERROR: Oh-oh, call the fireman! This needs to be investigated now!

Or as the blog post put it:

With this usage in mind, the log level question becomes: “Do I want to wake up in the middle of the night to investigate this, or can it wait until tomorrow morning?”, which is very concrete and a question that even your Business Manager/Production Owner should be able to answer.

In our doc I only found the debug levels in tha admin manual. https://github.com/owncloud/documentation/blob/master/admin_manual/configuration_server/logging_configuration.rst

We should add the above guido to the developer guide.

Files available offline

In order to avoid misunderstanding between the meaning of favorite on the web gui and on the mobile apps we have changed the feature name to "available offline" plus we have updated the icons so that they are pretty similar (indeed, they are based on) the desktop client, 1 platform goal!

Android work on: owncloud/android#1218

(iOS will follow)

Improved mounting of public links shares

owncloud/core#24771

We improved the way people can add a public link share to their ownCloud. You no longer add the URL of your ownCloud to the "add to your ownCloud field", instead you enter your federated cloud id. The owner will then send you a federated cloud share and you will be re-directed to your ownCloud. After login you will get the notification about a new federated share and can accept/decline it.

This way the owner sees in the share dialog every mounted public link as a seperated share, can change the permissions, unshare it, etc.

[Meta] Documentation Process

Define process for documentation

If things need documentation, what to do?

Documentation Documentation

Where to put the documentation for the documentation?

Planning for documentation - The Documentation Roadmap

Where do we plan and set priorites our documentation work?

More options?? Ideas?

Give a recommendation for a JSON based Apache log file

After https://doc.owncloud.org/server/9.1/admin_manual/installation/source_installation.html#additional-apache-configurations add a section on how to make apache log json. Rationale: structured data is perfect for machine readable log files.

LogFormat "{\"reqId\":\"%{UNIQUE_ID}e\",\"time\":\"%{%Y-%m-%dT%H:%M:%S%z}t\",\"remoteAddr\":\"%a\",\"user\":\"%u\",\"host\":\"%V\",\"method\":\"%m\",\"request\":\"%U\",\"query\":\"%q\",\"status\":%>s,\"userAgent\":\"%{User-agent}i\",\"referer\":\"%{Referer}i\",\"duration\":%D}" jsonlog

CustomLog /var/log/apache2/access_log jsonlog
LogFormat "{\"reqId\":\"%{UNIQUE_ID}e\",\"time\":\"%{%Y-%m-%dT%H:%M:%S%z}t\",\"remoteAddr\":\"%a\",\"user\":\"%u\",\"host\":\"%V\",\"method\":\"%m\",\"request\":\"%U\",\"query\":\"%q\",\"status\":%>s,\"userAgent\":\"%{User-agent}i\",\"referer\":\"%{Referer}i\",\"duration\":%D,\"bytesReceived\":%I,\"bytesSent\":%O,\"pid\":%P,\"keepAlive\":%k,\"conStatus\":\"%X\"}" jsonlog

CustomLog /var/log/apache2/access_log jsonlog

Publishing apps to the marketplace

The documentation currently tells a developer what they need to do and what standards they need to maintain to get an app published in the app store. However, it does not give any guidence on how to go about publishing an app.

There should be a step-by-step guide somewhere that covers at least the following.

  • What are the mechanics of the process?
  • How to upload code?
  • Some apps can be updated by clicking a button in the apps page of OC, does this require special code, or is it automatic?
  • Signing apps

Somebody with a better understanding of the process could probably come up with a better list.

Add UNIQUE_ID to logging section

On https://doc.owncloud.org/server/9.1/admin_manual/configuration_server/logging_configuration.html we should

Add details about iOS "clear cache" option

  • Thanks to this new option users may be able to delete all the local files within the current account
  • Important, favorite files won't be deleted by definition these files are available and updated within the device
    owncloud/ios-legacy#640 (comment)
  • Besides in this issue we have changed the way the account is deleted, the goal is to make it simpler since it was an option not easy to find, right now we are taking advantage of the 3 dots menu

9.1 auth changes

This is meta-issue for the auth related changes we need to document.

In 9.1 we added the following features:

I can open separate issues with more details next week.

Document OC.Plugins

Extension point is defined as follows:

    var MyClass = function() {
        // attach plugins to this instance
        OC.Plugins.attach('OC.MyApp.MyExtensionPointName', this);
    };
    MyClass.prototype = function() {
        someMethod: function(abc) {
            return "Some text " + abc;
        }
    }

Plugins can register themselves to this extension point using this:

    OC.Plugins.register('OC.MyApp.MyExtensionPointName', {
        // the plugin receives the MyClass instance as argument since it was passed in the extension point call
        attach: function(object) {
            // extend method "someMethod"
            var oldMethod = object.someMethod;
            object.someMethod = function(abc) {
                // call old method to keep old functionality
               var result = oldMethod.apply(this, arguments);
               // do something additionally, for example append something to the result
               result = result + ' (something appended)';
               // for example set an attribute
               object._attributeFromPlugin = true;
               // pass old value back
               return result;
            }
        }   
    });

Document object store differences

Primary object store mode and external storage mode use a different storage format.

The external storage variant stores the file in a tree-like manner, so the object keys are like:

  • "somedir/"
  • "somedir/somefile.txt" + contents of file as data
  • "somedir/anotherfile.txt" + contents of file as data

But this has the drawback that it's bad for performance because it is difficult to propagate etags/mtimes etc manually while simulating a file tree structure.

The purpose of the primary object storage is to use another more efficient approach were basically the object keys are only the file ids from oc_filecache, so looking at its contents you'd see:

  • 15 with the contents of "somefile.txt"
  • 20 with the contents of "test.txt"

and if you look at entry with fileid 15 in filecache you'd see the "somedir/somefile.txt" entry.

So switching from external storage to primary storage will not work because the format of the keys is not the same.

Support for OC-Checksum header

see: owncloud/core#18716

During upload a new header OC-Checksum can be provided which will tell the server to store this checksum. This checksum can then later be obtained via propfind and will be returned when downloading the file.

Currently the checksum is just stored. No server side verifiation or generation is done.

Update notifications via notifications API

Core and app updates are checked every 24h via a background job.

Via the notifications API the update notification is then also available in the sync client and therefor helps people to remember to update their instances, even though they never check the web
UI.

The admin can pick a custom group of users to notify for updates. This is useful for “secure installations” where no syncing user is an admin.
Restriction:

  • Core update notification is only available for update channels: beta, stable and production
  • App updates are checked against the app store only

@carlaschroder

Sync Client not syncing

There are many reasons why it might look like the sync client is not syncing.
Collection of known reasons and checks will help users to resolve their issues.

  • Sync client running?
  • Check internet connection?
  • Sync is paused?
  • Files / folders not selected to sync in selective sync settings?
  • Can you access the files in the web browser?
  • If a new file / folder is not synced to your laptop
    • check if your local disc has sufficient free disc space
    • check if the download limit is hit, and acknowledge to sync files in the selective sync view
  • Are there conflict files?
  • Are the files changed on an external storage (windows network drive mount) on the server?
  • Missing file listed in Activities tab in list "not synched"?
  • Are there error messages? Press F12 to find detailed infos in the sync client log

not complete ...

Document share permissions and allowed file operations

This was always a bit obscure.
There was a day where I wrote smashbox tests and had to figure them all out.

They are currently documented inline in the code: https://github.com/owncloud/smashbox/blob/master/lib/oc-tests/test_sharePermissions.py#L43.

I've taken them out and put them below for better readability:

Permissions masks:

  • READ = 1
  • UPDATE = 2 ("can update" in web UI)
  • CREATE = 4 ("can create" in web UI)
  • DELETE = 8 ("can delete" in web UI)
  • SHARE = 16 ("can reshare" in web UI)

File operations shorthand for the later table:

  • download: download/read/get a file or display a folder contents
  • upload: a new file can be uploaded/created (file target does not exist)
  • upload_overwrite: a file can overwrite an existing one
  • rename: rename file to new name, all within the shared folder
  • move_in: move a file from outside the shared folder into the shared folder
  • move_in_overwrite: move a file from outside the shared folder and overwrite a file inside the shared folder (note: SabreDAV automatically deletes the target file first before moving, so requires DELETE permission too)
  • move_in_subdir: move a file already in the shared folder into a subdir within the shared folder
  • move_in_subdir_overwrite: move a file already in the shared folder into a subdir within the shared folder and overwrite an existing file there
  • move_out: move a file to outside of the shared folder
  • move_out_subdir: move a file out of a subdir of the shared folder into the shared folder
  • copy_in: copy a file from outside the shared folder into the shared folder
  • copy_in_overwrite: copy a file from outside the shared folder and overwrite a file inside the shared folder (note: SabreDAV automatically deletes the target file first before copying, so requires DELETE permission too)
  • delete: delete a file inside the shared folder
  • mkdir: create folder inside the shared folder
  • rmdir: delete folder inside the shared folder

The following lists what operations are allowed for the different permission combinations (share permission is omitted as it is not relevant to file operations):

  • READ (aka read-only):

    • download
  • READ + CREATE:

    • download
    • upload
    • move_in
    • copy_in
    • mkdir
  • READ + UPDATE:

    • download
    • upload_overwrite
    • rename
  • READ + DELETE:

    • download
    • move_out
    • delete
    • rmdir
  • READ + CREATE + UPDATE:

    • download
    • upload
    • upload_overwrite
    • rename
    • move_in
    • copy_in
    • mkdir
  • READ + CREATE + DELETE:

    • download
    • upload
    • move_in
    • move_in_overwrite
    • move_in_subdir
    • move_in_subdir_overwrite
    • move_out
    • move_out_subdir
    • copy_in
    • copy_in_overwrite
    • delete
    • mkdir
    • rmdir
  • READ + UPDATE + DELETE

    • download
    • upload_overwrite
    • rename
    • move_out
    • delete
    • rmdir
  • READ + CREATE + UPDATE + DELETE (all permissions):

    • download
    • upload
    • upload_overwrite
    • rename
    • move_in
    • move_in_overwrite
    • move_in_subdir
    • move_in_subdir_overwrite
    • move_out
    • move_out_subdir
    • copy_in
    • copy_in_overwrite
    • delete
    • mkdir
    • rmdir

Questions regarding the language codes for German (Sie/Du-Form)

Regarding the default_language setting I think that the text on https://github.com/owncloud/documentation/blob/master/admin_manual/configuration_server/language_configuration.rst

Please check settings/languageCodes.php for the list of supported language codes.

is wrong, as in this file https://github.com/owncloud/core/blob/master/settings/languageCodes.php , for example "de" is missing.

It should be corrected, as far as i understand, the list of available languages is now the list of files in oc/settings/l10n. Please correct me, if I am wrong.

Additional question: what are the language codes for "Deutsch (Persönlich)" und "Deutsch (Sie-Form)" ? Are these "de" respectively "de_DE" ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.