r3 - 24 Nov 2004 - 10:26:37 - DuckySherwoodYou are here: OSAF >  Projects Web  >  DevelopmentHome > ServicesWorkingGroup > WebdavService > SharingStatus
This is a proposal to meet some of the requirements of ZeroPointFiveCollectionSharingWorkflowsSpec, such that every sharee of a shared collection can see the status and role of the other sharees.

Mimi's current mockups show various sharees with different status and roles (top) and who created and last modified the share, and when.

Sharee types:

  • Editor
  • Viewer
  • Off
  • Pending Editor (Editor but greyed-out)
  • Pending Viewer (not shown in mockup but would be "Viewer" greyed out)

Other information:

  • Created by (shown as 'me')
  • Creation timestamp
  • Last modified by (shown as 'lori')
  • Last-modified timestamp

Editor means that the user has read/write privilege and is actively synchronizing the collection.

Viewer means that the user has read privilege and is actively synchronizing the collection.

Off means that the user has chosen not to synchroninze the collection (and we don't show whether they have read/write permission). We call this "inactive" in the property value.

Pending means that the user was invited to share the collection but has never done so, yet -- the invitation may have been mis-addressed, spam filtered, unseen, deleted or whatever. In this case we do want to show whether they would be editor/viewer as well.

Finally, the mockups also show who created the share and who last updated it, and this proposal shows how we can share that information as well.

The privileges (read and write) need to be enforced by the server, but the rest of the information doesn't need to be enforced, so we model the status information (active/inactive/pending, created by and last-updated-by) as dead properties. In WebDAV terminology, that means that the clients maintain the property data on the server for purposes of coordination, but the property is "dead" because the server doesn't maintain the value of that property in any way.

Status Property Definitions

We can split the status into five properties. All three properties are in the OSAF namespace (TBD). The granularity is so high because it will encourage other clients (non-Chandler clients) to also use these properties -- e.g. it makes the date properties very simple and interoperable.

Overall Issue:: how do we identify other Chandler users? Do we use one ID which we map to other identifiers?

Share Creator property

Name: share-creator Value: User information of some kind Description: This property is created by the creator of the share, the first time the collection is uploaded to the server. This property never needs to be changed after that date. Issues: The display in ZeroPointFiveCollectionSharingWorkflowsSpec only shows the user's name (e.g. "lori"). However, the intent described is that you can mouse over the user's name and get more information about that user. So we probably need a display name and a userid of some kind, if not several userids. Example:

  <share-created-by xmlns="http://www.osafoundation.org"
                    xmlns:D="DAV:">
    <full-name>Lisa Dusseault</full-name>
    <email><D:href>mailto:lisa@osafoundation.org</D:href></email>
    <sharing-account>
      <D:href>http://sharing.osafoundation.org/principals/lisa</D:href>
    </sharing-account>
    <xmpp><D:href>xmpp://lisaDusseault@psg.com</D:href></xmpp>
  </share-created-by>

Share Last Updated By property

Name: share-last-updated-by Value: User information Description: This property is created by the creator of the share, then anybody who changes the information in the share needs to set a new value when they have done so. Example: Probably the same as share-created-by

Share-created property

Name: share-creation-date Value: date Example:

  <share-creation-date xmlns="http://www.osafoundation.org">20040818T10:04</share-creation-date>

Share last updated property

Name: share-updated-date Value: date/time stamp Example: see share-creation-date

Sharee status property

Name: sharing-status Value: XML Description: this needs to contain the active/inactive/pending information, to complement the access control information, for each sharee. The creator of the share initially creates this property and sets everybody to the "pending" status (except the creator themselves). Then, after that, each user's client is responsible for updating their status after synchronizing. Example:

  <sharing-status xmlns="http://www.osafoundation.org"
                  xmlns:D="DAV:">
    <sharee>
      <userid><D:href>http://sharing.osafoundation.org/principals/lisa</D:href></userid>
      <status>active</status>
    </share>
    <sharee>
      <userid><D:href>http://sharing.osafoundation.org/principals/mitch</D:href></userid>
      <status>inactive</status>
    </share>
    <sharee>
      <userid><D:href>http://sharing.osafoundation.org/principals/mimi</D:href></userid>
      <status>pending</status>
    </share>
  </sharing-status>

SUGGESTION: Put active/inactive in one property, and pending/confirmed in another property -- we might as well be closer to Donn's model.

-- LisaDusseault - 28 Oct 2004

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | 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.