/docs/community?hl=en
/docs/community?hl=en
6/25/11
Original Poster
Bas Braams

Hidden file structures and surprising side-effects

It is possible to create a collection and an item in the collection and give them different ownership, even arranging it so that the collection appears private to user A (Alice) and the item appears private to user B (Bob), but such that (invisible to both A and B) there is still a link in the data structures that points from the collection to the item. Operations on the file structure can then have some surprising and perhaps undesirable side-effects. Here are some examples. The side-effects are not as serious as deletion of files that one does not own [1-2], but I still think that the examples point to errors in the design.

Alice creates collection L0 and creates file doc0 inside L0. She also creates file doc1 in Home and moves it into L0. She now has collection L0 containing side-by-side files doc0 and doc1, and files doc0 and doc1 both appear in Home and in L0 and not in any other collection that the user can see. Alice now deletes L0 (move to trash and empty the trash). The effect is that also doc0 is removed, but doc1 remains under Home. Note that in this example no sharing is involved. The example goes back to daniel1960 in an early contribution under [3] and is further explored by Mauro Bertapelle in [4] where it is traced to a hidden [folder:root] collection.

In the same spirit Alice creates L0 and within L0 she creates side-by-side files doc2 and doc3. She shares doc2 and doc3 view-only with Bob. Bob assigns doc3 to one of his collections. Some time later Alice thinks the better of the share and removes access for Bob. Following that action Alice has again a private collection L0 containing private files doc2 and doc3, which are not in any other collection that she can see, and Bob cannot see doc2 and doc3 anymore. Alice now deletes L0. To her surprise she finds that doc2 is deleted and doc3 remains in her Home.

In a slight twist on the previous example Alice creates L0 and within it doc4 and doc5, and she shares those files view-only to anyone with the link. Some anonymous viewer chooses to assign doc5 to one of his collections. Later Alice changes the sharing to private again, so that L0 and its doc4 and doc5 are hers alone. She deletes L0 and now she finds that doc5 remains in her Home.

Alice creates collection L0 and within it file doc6 and she arranges that doc6 is not shown in Home. She passes ownership of doc6 to Bob and completely removes herself from doc6. Bob finds doc6 in his home and it belongs to him alone; he proceeds to edit it. He also creates file doc7, side-by-side with doc6 in his home. He then passes ownership of doc6 and doc7 to Alice, removing himself. Alice will find doc7 in her home, but she won’t find doc6 there. Bob doesn’t have it anymore, so doc6 appears lost to the world. Eventually Alice may find doc6 in L0.

Alice creates collection L0 and within it file doc8, and she has doc8 not shown in Home. She passes ownership of doc8 to Bob, removing herself from it. She then deletes L0. Bob creates doc9 next to doc8 in his home, edits both, and passes ownership of doc8 and doc9 to Alice, removing himself. Alice will find doc9 in her Home, but doc8 appears to be lost. It may finally be found under All for Alice.

[1] Trashing a collection now deletes the content too
http://www.google.com/support/forum/p/Google+Docs/thread?tid=023778de75b38a40

[2] Possibility to delete files that one does not own
http://www.google.com/support/forum/p/Google+Docs/thread?tid=35eb8f94c9f34ec8

[3] Cannot Empty Trash, Cannot Delete Files
http://www.google.com/support/forum/p/Google+Docs/thread?tid=0ae9048258f5835f

[4] Moving a collection to trash does not trash the documents inside
http://www.google.com/support/forum/p/Google+Docs/thread?tid=6ba822d3ea0feaa6
Community content may not be verified or up-to-date. Learn more.
Recommended Answer
Was this answer helpful?
How can we improve it?
All Replies (6)
ahab
6/25/11
ahab
<sigh>... 
If Google Docs would have a quality control team that would take itself serious they should be very nervous by now. 

As it is now the Google Docs files system has properties which more resemble a magician's acts than they resemble a solid way to store one's documents. [ I think I feel a bout of magosophobia coming up...].
7/23/11
Original Poster
Bas Braams
The strange situations described in the OP, except for the doc0/doc1 example, involve sharing, and in each case a containment relation is created (a collection contains an item) and then manipulated so that the owner of the collection can't see the item and the owner of the item can't see the collection.

I think that the scenarios are undesirable, and I see two possible approaches towards a partial fix.

The first approach is the easier one to implement; it involves only the user interface. The proposal is to arrange in the user interface that whenever a collection contains an item then the owner of the collection will see the item in his or her list. If the owner does not have access permission to the item (doesn't own it and does not have viewing rights) then an attempt to open the item will trigger the "you do not have permission to access this item" error condition. This removes some of the surprise effects and not others; the reader can review the examples in the OP.

The second approach is more radical and more risky to implement. The proposal is to make it not possible for a collection to contain an item for which the owner of the collection does not have access rights. Whenever ownership or access rights are changed in such a way that it would bring about the offending situation then the item is removed from the collection. (The item is preserved, it just doesn't belong to the collection any more.) This is more risky to implement because it affects existing user arrangements of their files and collections.

There is a separate issue that contributes to the surprise in some of the scenarios, namely the precise rules for when deleting a collection also deletes an item that is in that collection. I think that the various scenarios in the OP point to the need for modifications to those rules too. Suppose that Alice owns collection L0 that contains an item I0 that is also owned by Alice. Suppose that Alice deletes (moves to Trash) L0. One can think of various reasonable rules for whether this should or should not cause I0 to be moved to Trash. However, I don't think that whether I0 is moved to Trash should be influenced by its possible containment in collections not owned by Alice.
ahab
7/23/11
ahab
"The first approach is the easier one to implement;"
And IMHO also the better one, for items one does not have access there is already a mechanism to request access in place. This should alert the owner of the item that either the item does not belong in the collection, or that for some reasons sharing has been omitted or broken. The method also feels to me more natural than the second one which would invoke side-effects (forcing an item out of a collection) that only will lead to confusion.
8/24/11
Original Poster
Bas Braams
I just looked at some of these examples again and I don't believe that anything has changed. We still have the quite unreasonable situations shown in the original posting. Just to pick out one of them:

"... Alice creates L0 and within it doc4 and doc5, and she shares those files view-only to anyone with the link. Some anonymous viewer chooses to assign doc5 to one of his collections. Later Alice changes the sharing to private again, so that L0 and its doc4 and doc5 are hers alone. She deletes L0 and now she finds that doc5 remains in her Home."

It really has to be viewed as an error that the effect upon doc4 and doc5 of deleting L0 should depend on how some anonymous viewer may have placed doc4 and doc5 in his or her collections structure. Even if doc4 and doc5 were shared with a named person, it doesn't make sense to me and I consider it a design error that the effect upon these docs of deleting L0 depends on how the other person may have organized doc4 and doc5 in his or her collections structure.
ahab
8/24/11
ahab
" I consider it a design error that the effect upon these docs of deleting L0 depends on how the other person may have organized doc4 and doc5 in his or her collections structure."
For what it's worth: you are not alone in thinking that. :(
Google user
8/25/11
Google user
Agree.  I'm trying to figure out a work around for this problem, but not sprouting any ideas yet.
 
This question is locked and replying has been disabled. Still have questions? Ask the Help Community.

Badges

Some community members might have badges that indicate their identity or level of participation in a community.

 
Google Employee — Google product team members and community managers
 
Community Specialist — Google partners who help ensure the quality of community content
 
Platinum Product Expert — Community members with advanced product knowledge who help other Google users and Product Experts
 
Gold Product Expert — Community members with in-depth product knowledge who help other Google users by answering questions
 
Silver Product Expert — Community members with intermediate product knowledge who help other Google users by answering questions
 
Product Expert Alumni — Former Product Experts who are no longer members of the program
Community content may not be verified or up-to-date. Learn more.

Levels

Member levels indicate a user's level of participation in a forum. The greater the participation, the higher the level. Everyone starts at level 1 and can rise to level 10. These activities can increase your level in a forum:

  • Post an answer.
  • Having your answer selected as the best answer.
  • Having your post rated as helpful.
  • Vote up a post.
  • Correctly mark a topic or post as abuse.

Having a post marked and removed as abuse will slow a user's advance in levels.

View profile in forum?

To view this member's profile, you need to leave the current Help page.

Report abuse in forum?

This comment originated in the Google Product Forum. To report abuse, you need to leave the current Help page.

Reply in forum?

This comment originated in the Google Product Forum. To reply, you need to leave the current Help page.