Hi, I like of the idea of provide everything by REST and the front end use the whatever the institution want, something like http://www.nuxeo.com/ already does.
Best Regards Luiz On Mon, Aug 3, 2015 at 3:28 PM, Brown, Jacob <j.h.br...@tcu.edu> wrote: > Hi Peter, > > > > Thanks for the comments and feedback! > > > > I think your "business services" layer is exactly what I meant: a set of > utilities (e.g., POJOs) that may or may not need to read the > HttpServletRequest object, that could be used to help build up search or > browse interfaces for any web framework (e.g., something implementing the > servlet API). I think the REST framework would be tangential to this; this > would be Java code that could be used by REST, XMLUI, JSPUI, etc. > > > > I think REST is great and I think Rails in front of REST would be > interesting. However, I don’t quite see why, for example, XMLUI would use > REST to retrieve recent submissions, when it could just use a Java method > to do so? I think it would be ideal to put these utilities in shared Java > code, and then each framework would have a thin wrapper around them > according to their specific needs. > > > > Jacob > > > > *From:* Monika C. Mevenkamp [mailto:moni...@princeton.edu] > *Sent:* Monday, August 3, 2015 1:43 PM > *To:* Peter Dietz <pe...@longsight.com> > *Cc:* dspace-tech@lists.sourceforge.net > *Subject:* Re: [Dspace-tech] Generic DSpace servlet/webapp utilities? > > > > Peter > > > > Disco ? > > Rails in front of REST ? > > What can it do ? > > Where can I see it ? > > > > > > I agree - a UI in front of rest will enforce at least some code layering - > > although it is not a full solution to avoiding code replication for higher > level operations, aka controllers / business logic / workflow ... > > > > Monika > > > > — > > Monika Mevenkamp > > Digital Repository Infrastructure Developer > > Phone: 609-258-4161 > > 333C 701 Carnegie, Princeton University, Princeton, NJ 08544 > > > > On Aug 3, 2015, at 2:03 PM, Peter Dietz <pe...@longsight.com> wrote: > > > > My first thought nowadays when I hear "generic", is REST. Otherwise, any > *.util classes will need to deployed by some webapp. Independent of > XMLUI/JSPUI. Not-A-UI? To actually accomplish REST-ification, would we make > XMLUI/JSPUI depend on REST to accomplish some things? Such as recent > submissions to a collection, that data comes from rest? > > > > /rest/collections/:id?expand=all will give you data of recent items. > Probably not all the metadata (or bitstreams) to display that, and the > thumbnails though. But... If that was needed, then REST could be altered to > support that. > > https://trydspace.longsight.com/rest/collections/18?expand=all > > > > Disco is pretty cool. It looks nice, its very clean, and IT WORKS. After > starting the container, the instructions could mention browsing to > http://localhost:3000. > > > > I did run into a browse bug. > > Home - Refine Search Author (pick one) - Sort By Date (no results show)... > > > > > > There is a ton of overlap between duplicated codes in the UI's. Sometimes > it is identical blocks (an automated code smell detector might be able to > find this), or sometimes a block might differ with one line, so it ends up > being a method in JSPUI, and a method in XMLUI. I think we had been calling > this general idea of cleaning things, adding a "business services" layer. > > > > The direction that we want to steer DSpace is to refactor this common code > out of the UI's, and make it reusably usable from dspace-api. Exposing it > as a servlet, not sure. But we would want to simplify the code base, and > build better, more capable user experiences. So, prototypes such as yours > are perfect to toss into the ring too. Its not decided as to what the > better route would be (webapp built in DSpace, or external webapp that > talks to DSpace), but the concept of a "turnkey" DSpace that just works > with a consistent experience has been DSpace's strength for a while. If you > run into any shortcomings with what DSpace exposes, you might be able to > add a PR to have some common DSpace method providing the functionality, > without depending on org.dspace.app.xmlui or org.dspace.app.webui (JSPUI). > But, perhaps one type of place that might be a more proper place to look > would be org.dspace.content.service.ItemService... > > > ________________ > Peter Dietz > Longsight > www.longsight.com > pe...@longsight.com > p: 740-599-5005 x809 > > > > On Mon, Aug 3, 2015 at 11:21 AM, Brown, Jacob <j.h.br...@tcu.edu> wrote: > > Hi all, > > > > I’m working (slowly) on a simple alternate web frontend for DSpace: > https://github.com/kardeiz/disco.* > > > > I was thinking that it would be nice if DSpace provided some > implementation-agnostic utilities for a generic HttpServlet context. > > > > For example, XMLUI and JSPUI provide their own wrappers for things like > browsing, searching, recent submissions, etc., but in many cases the code > used is very similar and not dependent on the specific framework. It would > be possible to abstract out a lot of the functionality of these wrappers > into utility methods that have signatures like `HttpServletRequest req, > HttpServletResponse resp`. > > > > As a specific example, consider RecentSubmissionUtils > <https://github.com/DSpace/DSpace/blob/master/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/discovery/recentSubmissions/RecentSubmissionUtils.java>. > There is no reason this class has to be XMLUI specific; if it was in some > shared package, JSPUI or any other framework could just use it directly to > generate a list of recent submissions for a community or collection. > > > > There are already a couple of servlet-related utilities in dspace-api at > org.dspace.app.util.Util. > > > > I don’t know if anything like this has ever been discussed, or if there > are reasons it wouldn’t work. I know it would require a lot of > collaboration between JSPUI and XMLUI developers. I guess this is something > that should go on a DSpace “wishlist”; I apologize if this isn’t the > correct place for that— > > > > Thanks, > > > > Jacob Brown > > > > > > * In case anyone wants more information: this application is written in > Scala and uses: > > > > · the DSpace API (5.x) for working with a local DSpace repository > > · Jersey for request routing (and not much else) > > · Twirl for HTML templating > > · xsbt-web-plugin for running in development and WAR packaging > > · Bower and Gulp for frontend asset management > > > > In a little over 700 lines of Scala and a handful of HTML templates, this > application provides a good portion (but certainly not all) of the > non-administrative functionality of a normal XMLUI site, including home, > community, collection, and item view pages, and search and browse > interfaces (including sidebar facets). > > > > Getting started should be as easy as: > > > > git clone https://github.com/kardeiz/disco > > cd disco > > export DSPACE_DIR=/path/to/dspace > > ./sbt > > container:start > > > > Disclaimers: > > > > This application is under active development and is not a > finished/polished product. Parts of it may be untested or in need of > improvement. While this application should be mostly “read-only” in > relation to your local DSpace installation, I would recommend against > running it on a production server at this point. Use at your own risk. > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > DSpace-tech mailing list > DSpace-tech@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dspace-tech > List Etiquette: > https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette > > > > > ------------------------------------------------------------------------------ > _______________________________________________ > DSpace-tech mailing list > DSpace-tech@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dspace-tech > List Etiquette: > https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette > > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > DSpace-tech mailing list > DSpace-tech@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dspace-tech > List Etiquette: > https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette >
------------------------------------------------------------------------------
_______________________________________________ DSpace-tech mailing list DSpace-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-tech List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette