Changes between Version 10 and Version 11 of VirtualCollectionRegistry
- Timestamp:
- 08/25/14 15:26:27 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
VirtualCollectionRegistry
v10 v11 75 75 ==== JAX-RS REST service ==== 76 76 77 The package ''eu.clarin.cmdi.virtualcollectionregistry.rest'' defines a RESTful web service by means of JAX-RS annotations. It uses Jersey as an implementation and depends on a number of Jersey extensions, primarily injection of beans. Four classes define the following (sub)resources:77 The package ''eu.clarin.cmdi.virtualcollectionregistry.rest'' defines a RESTful web service by means of JAX-RS annotations. It uses [[https://jersey.java.net/ Jersey]] as an implementation and depends on a number of Jersey extensions, primarily injection of beans. Four classes define the following '''(sub)resources''': 78 78 * /virtualcollections (class ''!VirtualCollectionsResource'') allows listing (GET) of published collections and POSTing of new collections 79 79 * /virtualcollections/{id} (class ''!VirtualCollectionResource'') is a subresource that allows GETting, PUTting and DELETEing individual collections … … 81 81 * / (class ''!BaseResource'') is a dummy resource that renders an informative HTML page (if content negotiation allows) about the service 82 82 83 Two ''!BodyWriter'' classes are implemented and registered, taking care of the rendering of !VirtualCollection object as CMDI or XML/JSON respectively, by means of different methods of the (injected) ''!VirtualCollectionMarshaller'' service. This way, a single method in ''!VirtualCollectionResource'' can handle these various renderingoptions (depending on the HTTP Accept header in the client request). An additional method handles requests accepting HTML by returning a redirect ('see other') response pointing to the collection details page of the Wicket UI.83 Two ''!BodyWriter'' classes are implemented and registered, taking care of the '''rendering''' of !VirtualCollection object as CMDI or XML/JSON respectively, by means of different methods of the (injected) ''!VirtualCollectionMarshaller'' service. This way, a single method in ''!VirtualCollectionResource'' can handle these various serialisation options (depending on the HTTP Accept header in the client request). An additional method handles requests accepting HTML by returning a redirect ('see other') response pointing to the collection details page of the Wicket UI. 84 84 85 85 More info: … … 89 89 ==== Wicket application (UI) ==== 90 90 91 The graphical user interface is implemented as a [http://wicket.apache.org Wicket] (version 1.4) web application, which can be found in ''eu.clarin.cmdi.virtualcollectionregistry.gui'' and subpackages. The ''Application'' class is the entry point to the application, and is registered as a bean that gets picked up by the ''!SpringWebApplicationFactory'' defined in the ''web.xml''. Each '''page''' is defined by a tuple consisting of a class and '''HTML template''' of the same name (minus extension). Most pages consist of '''components''', many of which are custom to the VCR and are also defined by a class and HTML template. Each page and component typically represents a ''model''; the VCR has a number of custom Wicket component model implementations in the ''gui'' package. All pages extend a ''!BasePage'', which defines the '''common layout''' (header, footer including some common components). 92 93 The VCR user interface makes quite intensive use of '''Javascript'''. First of all, it uses Wicket's out-of-the-box functionalities for partial updates via AJAX. In addition, [http://jquery.com/ JQuery] is used for enhanced client side interaction. There is some custom JQuery based code, which is integrated with the Wicket components using the [https://code.google.com/p/wiquery/ WiQuery] library. The base page includes the [http://getbootstrap.com/ Bootstrap] Javascript library to support some out-of-the-box layout niceness. 94 95 The '''style''' of the UI is defined by a combination of Bootstrap CSS classes (like the Javascript, the style is included in the base page) and a number of .scss ([http://sass-lang.com/ SASS]) files that get compiled to CSS at build time. The main file is [/VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/webapp/css/vcr.scss vcr.scss], which include the base [[CLARIN style]] and includes a number of VCR-specific style definitions. 96 97 More info: 98 * [https://github.com/Jasig/sass-maven-plugin SASS Maven Plugin] 99 91 100 ==== OAI provider ==== 92 101 93 102 === Deployment === 103 104 web.xml variations 105 106 build profiles 107 108 deployment package 94 109 95 110 == Tickets ==