Hi Paul,

Yes, what you've discovered is unfortunately true. It's not easy to
override or customize DSpace permission levels without a lot of code
changes.

Your workaround seems reasonable.  Another possible workaround could be to
have some sort of custom metadata field/value to designate items that are
"streamable".  DSpace's metadata fields are quite easily customizable.  So,
one could imagine a field like "local.streamable" = "true"  or
"local.streamable" = "[Group Name]" (where Group Name is a DSpace Group who
can stream it).  Then, you could check this metadata value(s) and/or the
user's groups to see if they are allowed to stream a specific file/item.

It's still obviously not ideal, as permissions don't really belong in
metadata. But, it's something else to consider as a workaround.  (If you do
go this route, I'd recommend creating a "local" metadata schema, or
similar, and not using the default "dc" schema. That'd just ensure this
field doesn't automatically appear in OAI-PMH or similar.)

- Tim

On Wed, Nov 29, 2017 at 7:37 AM Paul Warner <[email protected]> wrote:

> Hi again,
>
> I found the answer to my question: it is basically, no.  The permissions
> (they are called actions in the authorization process) for DSpace are
> listed in the file dspace-api/src/main/java/org/dspace/core/Constants.java,
> along with other constants of various types.  They are not in the
> database.  So the code has to call for the field it needs directly from
> Constants.  This means that in order to allow the head librarian in our
> project to open up some files for streaming, we have to agree on some
> combination of existing permissions values, and set them for that file, and
> say that when the group is anonymous, and these permissions are set, then
> the anonymous user can stream the audio file.
>
> If anyone has a better idea, please let me know.  Sigh.
>
> Thanks,
> Paul
>
> On Fri, Nov 24, 2017 at 11:44 AM, Paul Warner <[email protected]>
> wrote:
>
>> Hi,
>>
>> Can I add a custom permission level to the standard read, write, delete,
>> etc. list?  I want to specify if anonymous users can stream an mp3 or all
>> mp3's in an item, so 'stream' would be a likely name.
>>
>> I searched for the answer, but could not find it...
>>
>> Best regards,
>> Paul
>>
> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "DSpace Technical Support" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/dspace-tech/w0ln5Z_tsVg/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>
>
>> To post to this group, send email to [email protected].
>> Visit this group at https://groups.google.com/group/dspace-tech.
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "DSpace Technical Support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/dspace-tech.
> For more options, visit https://groups.google.com/d/optout.
>
-- 

Tim Donohue
Technical Lead for DSpace & DSpaceDirect
DuraSpace.org | DSpace.org | DSpaceDirect.org

-- 
You received this message because you are subscribed to the Google Groups 
"DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/dspace-tech.
For more options, visit https://groups.google.com/d/optout.

Reply via email to