I recently started to work at Princeton University as Digital Repository
Programmer where I am working with their DataSpace/DSPACE instance, version
1.8.2 using jspui. A couple years ago I was at Georgia tech working with
SMARTech. Lots has changed and I am trying to get up to speed again.
>From reading DSpace 1.8 documentation I understand that CC_LICENSEs are part
>of a items. They are meant to describe what a user can do with bitstreams. As
>I understand the CC_LICENSE is defined when submitting an item. It is either
>set to the default or to the license of the containing collection. Setting
webui.licence_bundle.show = true
changes the ItemTag display a bit. It appears that only admin users can then
download bistreams.
Stepping back: Our DSPACE instances has a community with collections which
contain senior theses documents. Access to these is supposed to be restricted
to University members and site visitors should be made very aware of what they
can and can not do with these files: aka read, print, but do not share with
outsiders.
For access restriction I am envisioning using IPAuthentication. I understand
that I need to enter our specific values in
dspace/config/modules/authentication-ip.cfg file. I am envisioning a stack,
where first our custom authentication code is tried, then IP Authentication,
and then the Anonymous user is ‘authorized’. How do I tie a pseudo user
account to IP authentication ?
We would like to make site users explicitly agree to our custom license when
they download a bitstream from a senior theses collection. Ideally DSPACE
should remember that agreement acceptance for a specified duration. Looking at
the code I came up with the following plan:
* use collection’s CC_LICENSE to define the license agreement to be shown
* change BitstreamServlet:DSGet method such that
* if item’s collection is not listed in in webui.confirm-license.
collections setting do as before
* else:
* if session contains a time stamp for the given collection that is
within webui.confirm-license-aftermin do as before
* else redirect to /agreement with bitstream parameter
* add AgreemntServlet (is that what it would be - I am not much of JSP
developer)
* DSGet: display a custom jsp page that shows the agreement and a
‘Cancel’, ‘Accept’ button, ‘Cancel’ just navigates back and Accept triggers
POST /agreement with bitstream param
* DSPost: sets agreement time stamp for community and redirects to
/bistream/….
So now - in theory this seems not a huge project. In practice, as I said I am
not much of JSP/Servlet developer. How are redirects done for example - I have
no idea. Maybe instead, I should go ahead and try to hack something up based in
Javascript and cookies - which would involve exposing the bitstream url in the
html page. Since there would be no changes server side a skilled user could
peel that bitstream out of the HTML and just go ahead and download. So not
quite as good a solution.
I’d appreciate some feedback in terms whether my general approach is sound and
the effort that might be involved. At the moment: I still do not actually have
a satisfactory development environment setup.
Thanks
Monika
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette