Restricting access to Communites, Collection or Items directly is certainly not what DSpace was designed to do.
This is really one of the real "pain points" of DSpace IMO. There are just so many places where the assumption that a container (Community/ Collection/Item) will be unrestricted. To correctly fix the issue requires access control to be taken into consideration "in" the DSpace Model in methods such as DSpaceObecjt.findAll and that services that need to access those methods (JSPUI/OAI/XMLUI/CLI) such that they only return the children that the context is authorized to see, this means that every child needs to be evaluated before being returned in the List, Array or Iterator that comes back from these methods. The Harvest class (I.E. OAI Harvest) would need to have its own logic cleaned up (because if I remember correctly) it directly queries the database and uses its own instantiation to return objects. Conversely, as Andrea states, Search and Browse would need to be extended to support indexing Access control details and to manage limiting search across those spaces. I thought about this a bit and considered exploring such work, we just keep stepping back and asking "why are we attempting to restrict access to a Community/Collection/Item?" and redoing our requirements to eliminate the need. For instance: 1.) Don't use "Communities/Collections" to Identify only the items you want to expose of OAI harvesting, maybe instead use an external OAI Server and only add the items you want to that Gateway and not use the internal dspace-oai implementation. 2.) Use another installation of DSpace restricted exclusively to that user group for those wishing to have controlled access to Communities/ Collections/Items. My warning is that you've really reached a "boundary" in the capability/design of DSpace and rather falling off into a bottomless pit of customizations that you have maintain, instead reuse instances of dspace and OAI services with a little configuration/automation between them to achieve the same goal. I think its clear that with such an architectural issues being exposed as limitations, we should certainly consider putting it into the design requirements for DSpace 2.0 Cheers, Mark On Sep 1, 2007, at 9:38 AM, Andrea Bollini wrote: > mmm... I'm really wrong > I'm sorry but I should read more closely your wiki page ;-) > You have modified some part of retrieval API so your patch is not only > for JSPUI, as you have noted it doesn't works on oai-pmh because there > are others methods (as findAll() used by oai-pmh) for retrieval > collection & communities. > Note that if you hide some collections in findAll() you can have > problem > in oai-pmh response because your record could have a reference to a > set > (=collection) not displayed in ListSets (it use findAll). > If you hide collection in Item.getCollection() this will result in > strange behavior when you display item mapped from an hidden > collection > to a not hidden collection... (so the problem has not a really simple > solution "community wide"). > > Finally, you have missed another end-user point where he can see your > hidden collection&communities: advanced-search, try a first search > with > no result or wrong input and in the dropdown menu its appears > best, > Andrea > > Andrea Bollini ha scritto: >> Hi Lucas, >> thanks for you clear wiki page, it should be useful for someone >> others. >> Please note that your "patch" is *only* on user interface (JSPUI) >> so the >> communities and the collections that you hide are visible on oai-phm >> response (if you think you can add this info in "Things to do"). >> A more complete solution needs to alter the retrieval API >> (getCollections(), getItems(), getCommunities and so...) I'm >> currently >> exploring this scenario. >> Best, >> Andrea >> >> Schaik, L.B. van ha scritto: >> >>> Hi, >>> >>> At Leiden University, The Netherlands, we wanted to hide some >>> collections and communities from the Communities and Collections >>> page. >>> This is because we have a special community for all our harvest >>> collections (that include a subset of items from our normal >>> collections), but we did not want to show them to the "normal" user. >>> Also, we have a community for a special group within our >>> University, and >>> we wanted to be able to show this community only to people >>> working at >>> this special group. >>> >>> Well, we modified Dspace in such a way that we leverage to power of >>> resource policies to determine if a community/collection needs to >>> display on the Communities and Collections page. >>> >>> How we did that and how you can implement this too, is explained >>> on the >>> following wiki page: >>> http://wiki.dspace.org/index.php/ >>> Hide_Community_or_Collection_from_list >>> >>> >>> Hope this is useful to someone. If you have questions, please let me >>> know. >>> >>> regards, >>> >>> Lucas van Schaik >>> Developer >>> >>> Leiden University Library >>> Witte Singel 27, Postbus 9501, 2300 RA Leiden >>> Tel. +31 71 - 527 28 87 >>> E-mail: [EMAIL PROTECTED] >>> >>> >>> >>> -------------------------------------------------------------------- >>> ---- >>> >>> -------------------------------------------------------------------- >>> ----- >>> This SF.net email is sponsored by: Splunk Inc. >>> Still grepping through log files to find problems? Stop. >>> Now Search log events and configuration files using AJAX and a >>> browser. >>> Download your FREE copy of Splunk now >> http://get.splunk.com/ >>> -------------------------------------------------------------------- >>> ---- >>> >>> _______________________________________________ >>> Dspace-devel mailing list >>> [EMAIL PROTECTED] >>> https://lists.sourceforge.net/lists/listinfo/dspace-devel >>> >>> >> >> >> > > > -- > Dott. Andrea Bollini > Responsabile tecnico sviluppo e formazione applicativi JAVA > Sezione Servizi per le Biblioteche e l'Editoria Elettronica > CILEA, http://www.cilea.it > tel. +39 06-59292831 cel. +39 348-8277525 > > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a > browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > DSpace-tech mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/dspace-tech ~~~~~~~~~~~~~ Mark R. Diggory - DSpace Systems Manager MIT Libraries, Systems and Technology Services Massachusetts Institute of Technology ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech

