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 #157 (closed)

Opened 18 years ago

Closed 18 years ago

Enums should be system-types.

Reported by: jamoore Owned by: jamoore
Priority: minor Milestone: 3.0-M3
Component: Security Keywords: enums, model, types, iteration2
Cc: cxallan Story Points: n.a.
Sprint: n.a. Importance: n.a.
Total Remaining Time: n.a. Estimated Remaining Time: n.a.

Description

#156 will implement System-Types, which are not creatable by regular users. To prevent weird enum mistakes (specifically: typos, mis-capitalization, leading or trailing whitespace, etc.), IUpdate should reject all new Enum instances (similar to the changes done in r704 for #52). Rather, users will have to use ITypes (or IEnum if preferrable) which will have a @RunAs security annotation. IUpdate will then accept the new instance and normal use can continue.

This may also be dependent on some finer aspects of #114 (the Security Roadmap). For example, the umask permissions on enums must be handled sensitively to allow global reads but only root updates.

A suggestion for the exception thrown would be:

  Warning:

  Your enum value only differs by capitalization and/or 
  whitespace. This is a bad idea. Please reconsider, and 
  then talk to your administrator if this is really what 
  you want to do.

Change History (3)

comment:1 Changed 18 years ago by jmoore

  • Keywords iteration2 added

After the changes to #178, this should happen naturally with #156. Should also implement #145 (unique Enums) at the same time.

comment:2 Changed 18 years ago by jmoore

But now that enums are System-Types they also can't be created through IUpdate. r816 adds ITypes.createEnumeration.

comment:3 Changed 18 years ago by jmoore

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

As outlined in #156, r812 and r827 make IEnums System-Types. Use ITypes.createEnumeration for all your enum needs.

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.65215 sec.)

We're Hiring!