Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

User Story #2874 (closed)

Opened 14 years ago

Closed 12 years ago

Only change the group permissions for changePermissions and not all objects

Reported by: jamoore Owned by:
Priority: critical Milestone: OMERO-4.4
Component: Security Keywords: n.a.
Cc: cxallan, jburel, cneves, wmoore Story Points: n.a.
Sprint: n.a. Importance: n.a.
Total Remaining Time: 0.0d Estimated Remaining Time: n.a.

Description (last modified by jmoore)

For 4.2.0, we decided to change the permissions of all objects in a group to keep the IObject.details contract intact. If we decided to break that contract, then we could vastly increase the time of changePermissions.

This may require throwing an exception if users call: getDetails().getPermissions() Other possible options include:

  • Removing the permissions from all objects
  • Copying the groups permissions to the objects on read
  • Documenting the change and fixing our own code
  • ...

For 4.4.0, the requirement (especially from Carlos) is that modifying permissions can be done quickly and painlessly:

  • Make group writable for all
  • Take away group write, but make world readable
  • Remove world readable and make group editable again.

The one caveat is that removing read wether from world -> group or group -> user (see #2183) would require for any linked objects. Therefore it's probably best to not allow public editing at the moment.

Change History (14)

comment:1 Changed 14 years ago by cxallan

  • Sprint set to 2010-09-09 (16)

comment:2 Changed 14 years ago by atarkowska

  • Remaining Time set to 0.25

comment:3 Changed 14 years ago by jmoore

  • Milestone changed from OMERO-Beta4.2.1 to Unscheduled
  • Owner jmoore deleted
  • Sprint 2010-09-09 (16) deleted
  • Type changed from Task to User Story

Modifying to a story to contain the various bits of work needed to implement the larger solution for #2872 (which this ticket was contained in).

comment:4 Changed 13 years ago by jmoore

  • Priority changed from major to critical

Increasing priority after closing #2872 in 4.3

comment:5 Changed 12 years ago by jmoore

  • Cc cneves-x wmoore added
  • Description modified (diff)
  • Milestone changed from Unscheduled to OMERO-Beta4.4

comment:6 Changed 12 years ago by agilo

  • Status changed from new to accepted

Updated status, related task in progress

comment:7 Changed 12 years ago by jmoore

  • Summary changed from Possibly only change the group permissions for changePermissions and not all objects to Only change the group permissions for changePermissions and not all objects

comment:8 Changed 12 years ago by jmoore

  • Resolution set to fixed
  • Status changed from accepted to closed

See https://github.com/openmicroscopy/openmicroscopy/pull/135

Significant testing and client modification needed.

comment:9 Changed 12 years ago by agilo

  • Status changed from closed to accepted

Updated status, related task in progress

comment:10 Changed 12 years ago by jmoore <josh@…>

(In [2c57d726a36957007fdd562748b0991cd259864e/ome.git] on branch develop) Store current client in Details of all SDKs (See #2874)

After refactoring the C++ and more significantly the Python
model object factory logic, it's possible to have the client
instance set on the DetailsI of all model objects as they
are returned from the server

This includes the alphabetical ordering of DSL types to make
it easier to compare different implementations of, say,
omero.ObjectFactoryRegistrar?.py.

comment:11 Changed 12 years ago by jmoore <josh@…>

(In [baac19cf5ba05d90b61f7d77013814937b6b1965/ome.git] on branch develop) Set context fields to Details (See #2874)

Note: not all of the const-ness of these fields
is as ideal as I would like it. This comes from
various reasons (not the least of which is probably
my own misunderstanding). For the moment, "client
developers beware" -- no fiddling with the values
in these context instances (which is of course
always the case for Python)

comment:12 Changed 12 years ago by jmoore <josh@…>

(In [2c57d726a36957007fdd562748b0991cd259864e/ome.git] on branch develop) Store current client in Details of all SDKs (See #2874)

After refactoring the C++ and more significantly the Python
model object factory logic, it's possible to have the client
instance set on the DetailsI of all model objects as they
are returned from the server

This includes the alphabetical ordering of DSL types to make
it easier to compare different implementations of, say,
omero.ObjectFactoryRegistrar?.py.

comment:13 Changed 12 years ago by jmoore <josh@…>

(In [baac19cf5ba05d90b61f7d77013814937b6b1965/ome.git] on branch develop) Set context fields to Details (See #2874)

Note: not all of the const-ness of these fields
is as ideal as I would like it. This comes from
various reasons (not the least of which is probably
my own misunderstanding). For the moment, "client
developers beware" -- no fiddling with the values
in these context instances (which is of course
always the case for Python)

comment:14 Changed 12 years ago by jburel

  • Status changed from accepted to closed
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.88146 sec.)

We're Hiring!