LocalFileShare

Revision 1 as of 2007-10-27 15:30:34

Clear message

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

This specification is about creating locally-shared folders appearing in Places -> Computer. These folders would allow local users to easily share files or directories. Permissions would by default allow every user to read/write all the files there. In a simple implementation, on folder allow all users to access to the files in it. In a further implementation, every two users have a common folder to share files exclusively between them.

Release Note

You can now pass documents and folders to any person on your computer in order to read it, edit it, use it at the same time or collaborate on a joint work. Just add the files you want to Place -> Computer -> Shared folder.

Rationale

At the time, there's absolutely no easy way for a user to give a file to another user on the same computer: you'd better use an email. It would be nice to add "Shared folders" common to all physical users of the system, that would be used in home desktops: you should be able to copy a file to there and another to read/edit it. In an improved version (to overdo Windows here), we could create folders to share files exclusively with one user. On desktops, with typically < 5 users, this is not an issue: in Places -> Computer, there is perfectly fit space for it (maybe in a subfolder called "Shared Folders")

Use Cases

Jean-Pierre has found a text he wants his daughter to read. He simply copies it to the shared folder and she can immediately get it, and save it if she likes.

Hervé and Julie are brother and sister and enjoy the same kind of music. They use different user accounts on the same machine for more customization and security. Though, they would like to share a folder with their music in order to save space and benefit from their respective collections. They simply create a Music 'folder' in their common shared folder for that.

Jean-Pierre and Julie eventually decide to work together to elaborate a text: the easiest way to do this is to put it in their common shared folder and edit it each one at a time. They don't have to mess everything with complex Unix permissions they don't understand on their home folders.

Assumptions

Design

It appears that default permissions management is not able to do that out of the box. ACLs allow an option (setfcal -d) to keep the permissions of the parent folders for the files created within in; though, copying a file won't work (AFAIK and without tricks). A solution would be to use a script to change the permissions every time a file is updated (using dbus and inotify ?).

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

UI Changes

Should cover changes required to the UI, or specific UI that is required to implement this

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Include:

  • data migration, if any
  • redirects from old URLs to new ones, if any
  • how users will be pointed to the new way of doing things, if necessary.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.

Outstanding Issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.


CategorySpec