21 | | == deployment environments == |
| 22 | VLO 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 | |
| 27 | The 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 | |
| 29 | Most 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 | |
| 31 | See the packages deployment instructions for details. |
| 32 | |
| 33 | ==== Deployment environments ==== |
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 |
40 | | see http://lux13.mpi.nl/isocat/clarin/vlo/mapping/ |
| 62 | Maven 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. |
49 | | = Misc = |
| 76 | Some 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 | |
| 89 | Using 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 | |
| 99 | Test 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 | |
| 103 | A 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 | |
| 109 | The 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 | |
| 120 | Flow 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 | |
| 126 | Flow 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) == |