First of all: Thank you for your interest in contributing to ownCloud! As an open source project, we both thrive and depend on getting feedback from our users. One of the most important ways to contribute is to report bugs (there is a tl;dr).
Let’s start with a real world example (don’t worry, the real-world issue behind the example was already fixed).
Finding a bug in ownCloud Infinite Scale
Say you have installed the ownCloud Infinite Scale Tech Preview and logged in as one of the test users, einstein. Now you would like to share a file with another test user, marie. After sharing the file, you log out and log in as marie. On the “shared with me” page, you accept the share from the share owner, einstein. if you then click on the share, you see that on the right side in the people accordion, marie is shown as the owner of the share. Since einstein is the share owner, one would expect it to show einstein. You’ve found a bug!
Report an issue on GitHub
Let’s go over to GitHub to create an issue for this, well, issue. Go to github.com/owncloud. From there, select the ownCloud repository that is most likely affected. In our case, it is the ownCloud/ocis repository.
Before we submit our issue, let’s make sure that it is not already known. Go to https://github.com/owncloud/ocis/issues and enter a plausible search term for your bug in the search field on the right of “Filters”. In our example, the words owner and people come to mind. Please take a look at the existing bug reports that fit the bill before posting your own so as not to create duplicate work.
If the error you encountered really is an as of yet unknown bug in ownCloud, let’s report it. In the horizontal navigation bar right below the repository name, click on “Issues”, the second item from the left. On the right, click on the green button that says “new issue”. You can also just enter https://github.com/owncloud/ocis/issues/new in your browser address bar.
It all starts with a good description
On this screen, we want you to describe the bug you encountered systematically. Please list the steps to reproduce, that means please describe step by step what you did to encounter the bug. In expected behavior, please describe what ought to happen, and in “Actual behavior”, what happens instead.
In our example case, the “steps to reproduce” are: log in as einstein. share a file with marie. Log out and log in as marie. On the “shared with me” page, accept the share. click on the share, then open the people accordion. “Expected behavior” would be something like: “In the people accordion item, Einstein is shown as the share owner” – indicating the orderly state of affairs we strive for. In “Actual behavior”, please describe the messy reality: “In the people accordion item, Marie is shown as the share owner”.
Tell us what you’re working with
Then, please describe your system in detail, the client as well as the server. The operating system of the server and the client with the respective version number are as necessary as which browser or client or app you are using to access ownCloud Infinite Scale when the error occurs.
Please also attach or paste the relevant client and server logs, if you can. If you have started ownCloud Infinite Scale as a binary from the command line interface, you can copy your server logs from there. If you are using Docker, open the Docker Interface, click on your instance and in the logs screen, just hit the copy button in the bottom right corner (see screenshot).
Also, the server version is relevant. When testing the ownCloud Infinite Scale Tech Preview, the server version is 1.0.0. To be better able to understand the problem, we also need to know the extensions and components you use with ownCloud Infinite Scale, such as the storage provider(s) and the way in which you provosion users. Unless you have manually set up something fancy, for the Tech Preview the storage provider is Reva and the identity provider is Kopano Konnect.
We also need specifics about your client system. When testing ownCloud Infinite Scale, this is often the same as the server system. Let’s open the browsers’ and the operating systems’ about pages to find out which ones we are using. For the author of this text, it is Firefox for Mac 83.0 64bit on a Macbook Air running macOS Big Sur version 11.1. If you encounter an error while using the ownCloud Desktop Client, there now is a handy settings submenu to activate logging and quickly find the log files.
If you encounter a bug in the browser interface using the ownCloud Web frontend, please also post your console output, you can find it via View->Developer->JavaScript Console in Chrome and via Tools->Web Developer->Console in Firefox.
If you can, please also include screenshots or screencasts as attachments – they can make problems much easier to understand.
When you have entered all this information, hit the green “Submit new issue”. Thank you very much for your contribution to the ownCloud development!
tl;dr? Here is a Checklist:
- make sure the bug is unknown by searching the existing issues
- steps to reproduce
- expected behaviour
- actual behaviour
- screenshot(s) or screen video of the bug in action would be great
- note server characteristics
- operating system, version
- ownCloud Infinite Scale version number
- list of components used (Identity, Storage and potentially others)
- server logs
- client characteristics
- operating system
- if relevant: browser, version
- if relevant: ownCloud Desktop Client, version
- client logs
- for browser interface errors: browser console log