r9 - 08 Feb 2006 - 16:25:05 - LisaDusseaultYou are here: OSAF >  Journal Web  > RepositoryTerminology20040419


Example 1: A user's repository

In this diagram Pat and Mary and Cliff each have their own repository. Pat's repository is on Pat's computer, and holds Pat's items.

01.gif


Example 2: True sharing

In this diagram Pat uses the Documentation.Chandler True Trash.SharingGlossary? feature to subscribes to items from Mary's repository and Cliff's repository. Now Pat's repository has a main section that has Pat's items, plus special sub-sections that hold the subscription proxy items that correspond to items in Mary's repository and Cliff's repository.

02.gif


Example 3: A repository with more than one user

In this diagram the Chemistry Department has a single computer with a single copy of Documentation.Chandler installed, and Pat and Mary each have their own user repositories stored in the Chemistry Department repository.

04.gif


Example 4: Documentation.Replication

In this diagram there's a single user, Pat, who has a single repository, Pat's repository. Pat's repository is replicated on Pat's home computer and Pat's work computer.

06.gif


Concepts that need names

# Concept Current term Lisa's suggestion Brian's suggestion Resolved Definition
1 a.bmp "Repository" Documentation.User repository Simple Documentation.Repository ??? A single user's repository
2 b.bmp "Repository" Local data Local Section ??? The section of a user's repository that has their own items in it.
3 c.bmp "Repository" Replicated data Proxy Section ??? The section of a user's repository that has proxy items that they got by subscribing to items in some other user's repository.
4 d.bmp "Repository" Server (Documentation.Chandler repository server for exactness) Cluster of Repositories ??? A repository that contains the user repositories for more than one user.
5 e.bmp "Repository" I'd describe this with exactly the phrase you used. Do we need a shorter term? Virtual Documentation.Repository ??? A single user's virtual repository, which has replicated copies on the user's home and work computers.
6   "Repository" Documentation.Repository engine Server (or Documentation.Chandler Server) ??? The Documentation.Chandler process (or module of running code) that acts as a "server" for the data in the repository.
7   "Item" Item (local item if we need to distinguish sometimes) Item (or Local Item) ??? An item I create for myself in my own repository. These items always live within the shaded hexagon shown in image #2 in this table.
8   "Item" replicated item Proxy Item ??? A local proxy item that corresponds to an shared item in someone else's repository. These proxy items always live within the shaded triangle shown in image #3 in this table.
9   "Sharing Address" PersonaPlus ID or principal address Documentation.Repository Specifier ??? Some sort of "address" or "identifier" that specifies an instance of the thing shown in image #6 in this table.
10   "Persona+"   PersonaPlus ??? An item in a single user's repository that represents the virtual repository (concept #5) of another Documentation.Chandler user who you Documentation.Share content with. In the cognitive model of the person using Documentation.Chandler, a Documentation.Contact and a Persona+ will usually be identical. In the Content Model, we will have a Kind called Persona+. The Persona+ Kind will have attributes that keep track of some sort of identity or authorization information (maybe in the form of a username and password, or maybe in the form of some sort of certificate or encryption key). A Persona+ Item will have an attribute that contains a "Sharing Address" (concept #9) that points to the virtual repository (concept #5) of the person you're sharing content with. A Persona+ Item might also have an attribute that points to all the access permissions that I've granted to this Persona+. Each Documentation.Contact in my address book will typically have at most one associated Persona+ Item, although some Contacts might have more than one Persona+ Item (for example, in my "Sara" contact I might have a "Sara at home" Persona+ and a "Sara at work" Persona+). (A Persona+ might also represent a "group" of these "Sharing Addresses" -- that's what the '+' stands for in Persona+.)
11   "Sharing Circle"   List of sharing partners ??? A single user's list of the "Contact" items or "Persona+" items with whom this user has done a sharing handshake and established a sharing relationship.

Additional confusing things to sort out

  1. If Chao and Mitch and Mimi all share things with each other, how many "Sharing Circles" are there?
  2. If Mimi shares an item with Chao, so that Chao has a local copy of the item in his repository, is that replication? Or does replication only happen between the different simple repositories in Chao's virtual repository?

Email from Andi

From: Andi Vajda
Date: 3/29/2004
Subject: Re: proposed terminology -- "Persona+" becomes "SharingAddress"
Principal is fine but it's only part of what Brian's talking about I think.
Principal@repository.somewhere is that SharingAddress, isn't it ?

For example, you may have several personas, or one persona, and each may
be used with one or several repositories, therefore, the SharingAddress is a
N-M mapping between personas and repositories.

For example: say lisa@home, lisa@work, lisa_the_stampcollector@home where
             lisa_the_stampcollector is another persona you use in a
             different context. You can have as many cyber-personalities as
             you want, right ? They can all use the same repository or not or
             both, right ?

So, to sum up, SharingAddress is a persona@location, where location is a
Chandler installation coupled with a repository.

As for principal, I definitely plan to use the Principal terminology at the
low-level in exactly the sense you mentioned, ie "something you can give
privileges to", no need to overload some well understood terminology...

Andi..

Email from Lisa

From: Lisa Dusseault
Date: 3/29/2004
Subject: Re: proposed terminology -- "Persona+" becomes "SharingAddress"
I think the definition of "Principal" actually includes the notion that it may 
be a remote principal or a local principal.  Or it may be a combination -- a 
locally defined group containing both locally defined principals and remotely 
defined principals. These sentences read properly to me, so I believe it's part 
of the way "principal" is used commonly.

Isn't it possible that we'll want to grant read permissions to one "principal" 
but send the sharing information to more than one destination?  Is that destination 
the "sharing address"?  E.g. the principal which is "the build manager" might have 
Morgen's sharing address one day and Markie's sharing address the next.  I think 
that's a slightly different take on how principal and sharing address might not 
be the same thing.  I'll still assert that principal is what you grant permissions 
to at an API level and maybe all of us working at that level already agree on that.

Lisa 
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r9 < r8 < r7 < r6 < r5 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.