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

Reply via email to