[ https://jira.duraspace.org/browse/DS-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Diggory updated DS-895: ---------------------------- Description: In working on a preexisting Embargo solution for DSpace we came across the fact that ResourcePolicies have start and end dates. (see: https://jira.duraspace.org/browse/DS-171) I propose that Embargo duration and reason should be captured completely in Resource Policies such that an Embargo Resource Policy would be created that controlled acces s to the Item for a specified period. At this time setting the start date to the date the Item (and/or bitstream) should be released from embargo will allow the AuthorizationManager to mediate embargo access controls entirely rather than relying on crontab changes to the Item ResourcePolicies. With proper implementation, this would allow for the setting of embargo and control of access at both the Item and Bitstream level Item Level Embargo Item <-- ResourcePolicy( name: Embargo, description: "Embargoed as requirement of Publisher", action:Read, group:Anonymous, start:20120101, end:null) Bitstream Level Embargo Bitstream <-- ResourcePolicy( action:Read, group:Anonymous, start:20120101, end:null) a.) AuthorizationManager would need to be slightly altered to limit Access Control to Bitstream if Item is Embargoed b.) ResourcePolicy may be enhanced to have "name" and "description" fileds allowing the addition of a meaningful "Embargo Policy" title and a description of why it was embargoed. Of course, this doesn't work unless other Policies on the Item don't expose access to anonymous, So it may be wise to introduce "Restrict" Action in the Resource Policies that would trump the "Read" Policy and alter AuthorizationManager to support it with a higher priority Item Level Embargo Item <-- ResourcePolicy( name: Embargo, description: "Embargoed as requirement of Publisher", action:Restrict, group:Anonymous, start:20110101, end:n20120101) Bitstream Level Embargo Bitstream <-- ResourcePolicy( name: Embargo, description: "Embargoed as requirement of Publisher", action:Restrict, group:Anonymous, start:20110101, end:n20120101) Ideally, the goal here would be to not utilize the metadata as "system level" embargo configuration store, which introduces a significant need to code something like an EmbargoManager and run crontabs to synchronize ResourcePolicies with that system level metadata. A better solution just uses ResourcePolicies and requires no supporting cron services ultimately making Embargo a more intrinsic feature of the model regardless of how it is presented in submission steps, Item views or impacts search/browse behavior. was: In working on a preexisting Embargo solution for DSpace we came across the fact that ResourcePolicies have start and end dates (but that there is a bug in the implementation needing to be corrected. (see: https://jira.duraspace.org/browse/DS-171) I propose that Embargo duration and reason should be captured completely in Resource Policies such that an Embargo Resource Policy would be created that controlled acces s to the Item for a specified period. At this time setting the start date to the date the Item (and/or bitstream) should be released from embargo will allow the AuthorizationManager to mediate embargo access controls entirely rather than relying on crontab changes to the Item ResourcePolicies. With proper implementation, this would allow for the setting of embargo and control of access at both the Item and Bitstream level Item Level Embargo Item <-- ResourcePolicy( name: Embargo, description: "Embargoed as requirement of Publisher", action:Read, group:Anonymous, start:20120101, end:null) Bitstream Level Embargo Bitstream <-- ResourcePolicy( action:Read, group:Anonymous, start:20120101, end:null) a.) AuthorizationManager would need to be slightly altered to limit Access Control to Bitstream if Item is Embargoed b.) ResourcePolicy may be enhanced to have "name" and "description" fileds allowing the addition of a meaningful "Embargo Policy" title and a description of why it was embargoed. Of course, this doesn't work unless other Policies on the Item don't expose access to anonymous, So it may be wise to introduce "Restrict" Action in the Resource Policies that would trump the "Read" Policy and alter AuthorizationManager to support it with a higher priority Item Level Embargo Item <-- ResourcePolicy( name: Embargo, description: "Embargoed as requirement of Publisher", action:Restrict, group:Anonymous, start:20110101, end:n20120101) Bitstream Level Embargo Bitstream <-- ResourcePolicy( name: Embargo, description: "Embargoed as requirement of Publisher", action:Restrict, group:Anonymous, start:20110101, end:n20120101) Ideally, the goal here would be to not utilize the metadata as "system level" embargo configuration store, which introduces a significant need to code something like an EmbargoManager and run crontabs to synchronize ResourcePolicies with that system level metadata. A better solution just uses ResourcePolicies and requires no supporting cron services ultimately making Embargo a more intrinsic feature of the model regardless of how it is presented in submission steps, Item views or impacts search/browse behavior. > Item and Bitstream level embargo Support (Extending ResourcePolicies) > --------------------------------------------------------------------- > > Key: DS-895 > URL: https://jira.duraspace.org/browse/DS-895 > Project: DSpace > Issue Type: Improvement > Components: DSpace API, JSPUI, Unit Testing Framework, XMLUI > Affects Versions: 1.6.2, 1.7.0, 1.7.1 > Reporter: Mark Diggory > Fix For: 1.8.0 > > > In working on a preexisting Embargo solution for DSpace we came across the > fact that ResourcePolicies have start and end dates. (see: > https://jira.duraspace.org/browse/DS-171) > I propose that Embargo duration and reason should be captured completely in > Resource Policies such that an Embargo Resource Policy would be created that > controlled acces s to the Item for a specified period. At this time setting > the start date to the date the Item (and/or bitstream) should be released > from embargo will allow the AuthorizationManager to mediate embargo access > controls entirely rather than relying on crontab changes to the Item > ResourcePolicies. With proper implementation, this would allow for the > setting of embargo and control of access at both the Item and Bitstream level > Item Level Embargo > Item <-- ResourcePolicy( name: Embargo, description: "Embargoed as > requirement of Publisher", action:Read, group:Anonymous, start:20120101, > end:null) > Bitstream Level Embargo > Bitstream <-- ResourcePolicy( action:Read, group:Anonymous, start:20120101, > end:null) > a.) AuthorizationManager would need to be slightly altered to limit Access > Control to Bitstream if Item is Embargoed > b.) ResourcePolicy may be enhanced to have "name" and "description" fileds > allowing the addition of a meaningful "Embargo Policy" title and a > description of why it was embargoed. > Of course, this doesn't work unless other Policies on the Item don't expose > access to anonymous, So it may be wise to introduce "Restrict" Action in the > Resource Policies that would trump the "Read" Policy and alter > AuthorizationManager to support it with a higher priority > Item Level Embargo > Item <-- ResourcePolicy( name: Embargo, description: "Embargoed as > requirement of Publisher", action:Restrict, group:Anonymous, start:20110101, > end:n20120101) > Bitstream Level Embargo > Bitstream <-- ResourcePolicy( name: Embargo, description: "Embargoed as > requirement of Publisher", action:Restrict, group:Anonymous, start:20110101, > end:n20120101) > Ideally, the goal here would be to not utilize the metadata as "system level" > embargo configuration store, which introduces a significant need to code > something like an EmbargoManager and run crontabs to synchronize > ResourcePolicies with that system level metadata. A better solution just > uses ResourcePolicies and requires no supporting cron services ultimately > making Embargo a more intrinsic feature of the model regardless of how it is > presented in submission steps, Item views or impacts search/browse behavior. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://jira.duraspace.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Dspace-devel mailing list Dspace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-devel