GSoC: Testers needed for sharing files with ownCloud
I have good news this week. First, I’m still here because I passed the mid-term evaluation for Google Summer of Code. Thanks for passing me Robin. Second, I was successful in completing my goal last week and now have everything setup so others can start experimenting with sharing files.
Besides general bug fixing this past week I’ve also refactored OC_SHARE, which is the class that handles the database records of all shared files in ownCloud. It started to get a little messy and I was unhappy with the quality of code so I rewrote many of the functions and moved some of the error handling into OC_FILESTORAGE_SHARED where it should belong. I also commented all of the functions so other developers can use OC_SHARE in their own apps and understand what it is doing. I’ve also added two hooks to OC_SHARE: post_delete and post_rename. These are triggered by OC_FILESYSTEM when files are deleted, renamed, or moved. The database gets updated when these actions occur in order to avoid any missing shared items.
The backend for sharing is pretty much complete so I can now focus on the user interface for the rest of the summer. The only part that needs updating is the permissions system. I was having a difficult time deciding on what to do with permissions and ended up going with only read and write, without the ability to permanently delete files. I’ve changed my mind now and will expand the options to more specific permissions that you can assign users. I was worried before that this would make the user interface too complex, but I now believe I can still achieve simplicity with the user experience.
If you want to help test the sharing branch, follow these instructions:
- git clone git://anongit.kde.org/owncloud
- Inside the git working directory: git checkout -t origin/sharing
- Install ownCloud using these instructions. Please use MySQL for the time being, there are some problems with the queries with SQLite.
- Create two users
- Go to ‘Share’ on the left sidebar
- Fill out the form to share a file. The item field has autocomplete for files and permissions should be either 0 or 1 for read or read/write.
- Create the directory ‘Share’ with the other user
The storage provider should mount itself at ‘Share’ and the file should appear there. Try renaming and moving files around on both users. The web frontend doesn’t have complete support for file management so try using WebDAV to work with the files. I’ll be working on this branch all week so try a git pull or follow the commits on KDE QuickGit. If you need any help using sharing or have any questions leave a comment or visit the ownCloud IRC channel.
This week I’ll be working on optimizing the user interface, such as adding/removing rows from the table when items are shared/unshared, grouping together files that are shared with multiple users, and adding autocomplete for users. I’ll try my best to get this branch ready for ownCloud 2.0.