Changes between Version 79 and Version 80 of CmdiVirtualLanguageObservatory


Ignore:
Timestamp:
05/26/14 07:57:27 (10 years ago)
Author:
Twan Goosen
Comment:

refactored page (imported some sections and diagrams from 3.0)

Legend:

Unmodified
Added
Removed
Modified
  • CmdiVirtualLanguageObservatory

    v79 v80  
    1 [[PageOutline]]
     1[[PageOutline(2-5)]]
    22
    33= Virtual Language Observatory (VLO) =
     
    1414|| 2.14 || ||May 2013  ||June 2014 || ||  [source:/vlo/tags/2.14.beta.fixed.again/CHANGES CHANGES]||
    1515
     16== Technical notes ==
    1617
    17 == tickets ==
     18=== Deployment/configuration ===
    1819
    19 [report:10 link to all open VLO tickets]
     20Upgrade instructions are included in the UPGRADE file. Some configuration parameters have been added or have changed since 2.18.
    2021
    21 == deployment environments ==
     22VLO is deployed to ''catalog.clarin.eu'' for beta and production. There are three tomcat instances running:
     23* '''tomcat-vlo1''': production web-app, publicly accessible through [http://catalog.clarin.eu/vlo/]
     24* '''tomcat-vlo1-solr''': production Solr instance, '''locally''' accessible through [http://catalog.clarin.eu:8077/solr/vlo]
     25* '''tomcat-vlo2''': beta web-app, publicly accessible through [http://catalog.clarin.eu/vlobeta/]
     26
     27The application bundles, which includes a Solr instance app, the importer, the web app and configuration are deployed to directories under /lat/webapps/vlo, which also has symlinks for both the current production and current beta directories. These symlinks are used in the tomcat configuration so that this does not need any change when updating the version of the VLO.
     28
     29Most of the '''configuration''' takes place in the !VloConfig.xml file. Its format is read by both the importer and the web app and has options for both, so this can be shared in a single file. In addition, the web app has a set of context parameters to configure the location of !VloConfig.xml that should be used, and to ''optionally'' override the Solr base URL.
     30
     31See the packages deployment instructions for details.
     32
     33==== Deployment environments ====
    2234
    2335||= Environment =||= Location =||= Configuration =||
     36||= Test =|| http://catalog-clarin.esc.rzg.mpg.de/vlo/ (see [#Testing Testing]) ||  ||
    2437||= Beta =|| http://catalog.clarin.eu/vlobeta/ || deleteAllFirst: true ||
    2538||= Production =|| http://catalog.clarin.eu/vlo/ || deleteAllFirst: false\\maxDaysInSolr: 7 ||
    2639
    27 == technology used ==
     40=== Data sources and mapping ===
    2841
    29  * SOLR for the backend
    30  * wicket for the front-end
    31  * CMDI for the input
     42Data sources: see CmdiDataSources
    3243
    33 == data sources ==
     44Mapping CMDI > VLO fields and facets
     45* See [http://lux13.mpi.nl/isocat/clarin/vlo/mapping/] which is based on [https://trac.clarin.eu/browser/vlo/trunk/vlo_importer/src/main/resources/facetConcepts.xml]
     46* [[./ManualMapping|White/Blacklist]] as suggested by CLARIN-D centres
     47* Mapping from !MdCollectionDisplayName to !NationalProject: [https://trac.clarin.eu/browser/vlo/trunk/vlo-commons/src/main/resources/nationalProjectsMapping.xml nationalProjectsMapping.xml]
     48=== Development ===
    3449
    35  * See CmdiDataSources
    36  * mapping from !MdCollectionDisplayName to !NationalProject: https://trac.clarin.eu/browser/vlo/trunk/vlo_importer/src/main/resources/nationalProjectsMapping.xml
     50==== Architecture ====
    3751
    38 == mapping CMDI > VLO fields and facets ==
     52* Solr server holds the document index; Solrj client is used in the importer and web app
     53* Wicket + Spring for the front-end
     54 * Pages and custom components and models for wicket
     55  * Reading the [http://wicket.apache.org/guide/ guide], especially the [http://wicket.apache.org/guide/guide/modelsforms.html#modelsforms_1 section on models], is highly recommended before diving in!
     56 * Spring wiring through eu.clarin.cmdi.vlo.config.!VloSpringConfig
     57  * Bootstrapped through filter in web.xml and applicationContext.xml in WEB-INF
     58  * Beans are defined here and can be injected into wicket components and other wicket beans
     59  * For a tutorial/introduction, see http://hwellmann.blogspot.nl/2011/02/building-web-applicaton-with-wicket.html
     60  * Unit test may inject a custom (overridden) spring configuration
    3961
    40 see http://lux13.mpi.nl/isocat/clarin/vlo/mapping/
     62Maven project structure (all with '''eu.clarin.cmdi''' groupId):
     63* '''vlo''' reactor project with some shared properties (library versions) and dependencies (logging, unit testing); it has the following child modules:
     64 * '''vlo-commons''' has some common classes for configuration (!VloConfig and factories), constants and utility methods;
     65 * '''vlo-solr''' WAR project for the Solr instance with configuration setup for VLO;
     66 * '''vlo-importer''' builds as a runnable importer that reads CMDI instances from configured locations and creates an index into a deployed Solr instance;
     67 * '''vlo-web-app''' WAR project for the VLO front-end that uses the facets and fields in the populated Solr index;
     68 * '''vlo-distribution''' an assembler project that takes the output of vlo-solr, vlo-importer and vlo-web-app and combines these into a single distribution package that can be used for deployment on an arbitrary server.
    4169
    42 which is based on https://trac.clarin.eu/browser/vlo/trunk/vlo_importer/src/main/resources/facetConcepts.xml
     70====  Configuration ====
    4371
    44 White/Blacklist as suggested by CLARIN-D centres: [[./ManualMapping]]
     72!VloConfig (in vlo-commons) is a POJO (only getters and setters, no reading or writing logic). There are factories for different ways of creating the configuration.
    4573
    46 == VLO Taskforce (CLARIN-D) ==
    47   [[wiki: VLO Taskforce]]
     74For the web app, the !ServletVloConfigFactory is used which reads the configuration from file but also processes context parameters which can override the parameters in the configuration file.
    4875
    49 = Misc =
     76Some options configurable through !VloConfig:
     77* locations of metadata to be imported
     78* various solr parameters
     79* parameters that control the size of the wicket cache
     80* the fields that need to be hidden as technical fields or ignored altogether
     81* the facets that need to be shown in the search interface
     82* the name of the collection facet (or leave out to remove separate collection facet)
     83* base URL's for federated content search
     84* language code URL's
     85* ...
     86
     87==== Localisation ====
     88
     89Using Wicket i8n support, see [http://wicket.apache.org/guide/guide/i18n.html Wicket Guide].
     90
     91* Page or component specific resource strings in .properties files in eu.clarin.cmdi.vlo.wicket.pages and eu.clarin.cmdi.vlo.wicket.panels.*
     92* Field names in /src/main/resources/fieldNames.properties
     93* Resource types in /src/main/resources/resourceTypes.properties
     94
     95==== Testing ====
     96
     97===== Test VM =====
     98
     99Test versions of the VLO can be deployed to the following server: '''catalog-clarin.esc.rzg.mpg.de'''. It is publicly accessible. To access it over SSH, use the account '''!dietuyt@con01.rzg.mpg.de'''. [[dietuyt|Dieter]] has the credentials. From this host, an SSH connection to ''!root@catalog-clarin.esc.rzg.mpg.de'' can be made on basis of a key pair without needing a password. The host has Apache and Tomcat configured with reverse proxies in the former to access the latter from outside.
     100
     101===== End user testing =====
     102
     103A test plan for end-user testing of the VLO front-end has been implemented at MPI. Contact corpus management (corpman@mpi.nl) for more information or testing requests.
     104
     105== Design ==
     106
     107=== Page / components hierarchy ===
     108
     109The following diagram presents the composition of the pages of the VLO, showing the pages and their ''most important'' components (hence it is not a complete picture).
     110
     111* Where not shown explicitly, the cardinality of the composition relations is 1:1
     112* The red lines represent possible navigation routes. The !SimpleSearchPage is the default entry page
     113
     114[[Image(CmdiVirtualLanguageObservatory/3.0:VLO-components.png, 1024px)]]
     115
     116=== Models lifecycle ===
     117
     118==== Selection models ====
     119
     120Flow of the query and facet selection and derivatives:
     121
     122[[Image(CmdiVirtualLanguageObservatory/3.0:VLO-models-selection.png, 1024px)]]
     123
     124==== Document and field models ====
     125
     126Flow of the Solr document model, Solr field model, and derivatives
     127
     128[[Image(CmdiVirtualLanguageObservatory/3.0:VLO-models-document.png, 1024px)]]
     129
     130== See also ==
     131* [[ VLO Taskforce|VLO Taskforce (CLARIN-D)]]
     132* [[CmdiDataSources|Data sources]]
     133
     134== Tickets ==
     135
     136* [report:10 Report of all open VLO tickets]
     137
     138== Misc (old) ==
    50139
    51140=== Background ===
     
    71160Country: Germany > Collection: Deutsches Textarchiv > Genre: Gebrauchsliteratur (= functional literature) > name: Davidis, Henriette: Praktisches Kochbuch für die gewöhnliche und feinere Küche. 4. Aufl. Bielefeld, 1849. > Follow link to Landing Page
    72161
    73 === inspiration sources ===
     162=== Inspiration sources ===
    74163
    75164OLAC facet browser: http://dla.library.upenn.edu/dla/olac/index.html