Skip to content
This repository has been archived by the owner on Aug 24, 2021. It is now read-only.

Features

Sebastian Raubach edited this page Jan 1, 2018 · 5 revisions

Features

In this section, we will highlight the main features of Germinate. This section will expand as we add new features.

Internationalization and Localization

Germinate fully supports internationalization for an unlimited number of languages. Every text that you can see on the web interface can be localized. The language used on start-up is chosen based on the browser settings, but the user can easily switch to a different language by selecting it from the combo box at the bottom of the page. Have a look at Section Customization for usage details.

News

The Germinate web interface contains a place holder to show the latest news of the project. On the database side, these news are stored in two tables and can be updated at any time. The web interface will check the availability of news and show the three latest entries at the bottom of the page. Changes on the database side will immediately be visible on the website.

Available pages

This section gives an overview of all the pages that are available for Germinate. Based on your requirements and the data that is available, you can decide which pages should actually be available on the web interface and hide all others. The set of available pages can be changed dynamically without having to re-deploy the application. This gives you the freedom to customize your Germinate experience just as you please.

About Germinate

Content
The about page of Germinate shows information about Germinate itself. This includes information about the developers and contact details.
Page name
about-germinate
Used data
None

About Project

Content
This page shows information about the project itself.
Page name
about-project
Used data
None
Customization
You can change the content of this page by providing HTML to the page.about.project.text property.

Accessions Overview

Content
The overview page shows all the accessions contained in the Germinate database in a filterable table. The user can sort, filter and mark items. Below the table, there are tools to download accessions, their attributes and pedigree data to flat files.
Page name
accession-overview
Used data
biologicalstatus, collectingsources, countries, germinatebase, institutions, locations, locationtypes, mlsstatus, pedigreedefinitions, pedigreedescriptions, pedigreenotations, pedigrees, storage, storagedata, subtaxa, synonyms, synonymtypes, taxonomies

Accessions for Collecting Site

Content
This page shows all accessions that have been collected at the given collecting site. It also allows the user to download the data in .kml format for Google Earth.
Page name
accessions-for-collsite
Used data
countries, germinatebase, locations, locationtypes
URL parameter
collectingsiteId The id of the collecting site.

Acknowledgements

Content
This page can be used to acknowledge collaborators, etc.
Page name
acknowledgements
Used data
None
Customization
You can change the content of this page by providing HTML to the page.acknowledgements.text property.

Administrator Configuration

Content
This page allows page administrators to make modifications to the way Germinate operates and looks. Regular users cannot see this page.
Page name
admin-config
Used data
None

Allele Frequency Datasets

Content
All available allele frequency datasets are shown on this page. The user will be able to select which datasets to export.
Page name
allele-freq-dataset
Used data
allelefrequencydata, attributedata, attributes, collaborators, datasets, datasetstates, datasetpermissions, germinatebase, experiments, experimenttypes

Allele Frequency Export

Content
On this page, the user is able to select which data they want to export from the selected dataset.
Page name
allele-freq-export
Used data
allelefrequencydata, datasets, datasetstates, datasetpermissions, germinatebase, experiments, experimenttypes, groupmembers, groups, maps, mapdefinitions, mapfeaturetypes, markers, markertypes

Allele Frequency Results

Content
On this page, the user can select the data binning scheme they want to apply to the allele frequency data. The final output files are shown on this page as well.
Page name
allele-freq-results
Used data
allelefrequencydata, datasets, datasetstates, datasetpermissions, germinatebase, experiments, experimenttypes, groupmembers, groups, grouptypes, maps, mapdefinitions, mapfeaturetypes, markers, markertypes

Climate Data

Content
The climate data page shows detailed information about climate information. The data is visualized in charts and a color-coded table. In addition, climate data map overlays are shown on a map.
Page name
climate-data
Used data
climatedata, climateoverlays, climates, countries, datasets, datasetpermissions, datasetstates, experiments, experimenttypes, germinatebase, groupmembers, groups, grouptypes, locations, locationtypes, units

Climate Datasets

Content
All available climate datasets are shown on this page. The user will be able to select which datasets to export.
Page name
climate-dataset
Used data
attributedata, attributes, collaborators, climatedata, climates, datasets, datasetstates, datasetpermissions, germinatebase, experiments, experimenttypes

Chemical Compounds

Content
This page shows a table with all the chemical compounds.
Page name
compounds
Used data
analysismethod, compounddata, compounds, datasets, germinatebase, units

Chemical Compound Details

Content
The chemical compound details page shows information about a specific compound. This includes the compound data values across all accessions and visible datasets as well as that same data in the form of a chart. If images and external links are associated with a compound, these will be shown as well.
Page name
compound-details
Used data
analysismethod, compounddata, compounds, datasets, germinatebase, synonyms, synonymtypes, units
URL parameter
compoundId The id of the chemical compound.

Chemical Compound Datasets

Content
All available chemical compound datasets are shown on this page. The user will be able to select which datasets to export.
Page name
compound-dataset
Used data
attributedata, attributes, collaborators, compounddata, compounds, datasets, datasetstates, datasetpermissions, germinatebase, experiments, experimenttypes

Chemical Compound Data

Content
This page offers various different visualizations for the chemical compound data of the selected datasets. The data can also be downloaded into flat files.
Page name
compound-data
Used data
analysismethod, compounddata, compounds, datasets, germinatebase, synonyms, synonymtypes, units

Cookie

Content
EU law requires us to provide information about the cookies that Germinate uses and what we use this information for. Detailed information about our usage of cookies is available on this page.
Page name
cookie
Used data
None

Data Statistics

Content
The data statistics page visualizes aggregated information about the data contained in Germinate.
Page name
data-stats
Used data
Everything

Dataset Overview

Content
This page shows all the datasets within Germinate independent of their type in one table.
Page name
dataset-overview
Used data
allelefrequencydata, attributedata, attributes, climatedata, climates, collaborators, compounddata, compounds, datasets, datasetstates, datasetpermissions, germinatebase, experiments, experimenttypes, phenotypedata, phenotypes, units

Experiment Details

Content
The experiment details page shows all the datasets contained in a single experiment.
Page name
experiment-details
Used data
attributedata, attributes, collaborators, datasets, datasetpermissions, datasetstates, experiments, experimenttypes
URL parameter
experimentId The id of the experiment.

Genotype Datasets

Content
All available genotype datasets are shown on this page. The user will be able to select which datasets to export.
Page name
genotype-dataset
Used data
attributedata, attributes, collaborators, datasets, datasetstates, datasetpermissions, germinatebase, experiments, experimenttypes

Genotype Export

Content
On this page, the user is able to select which data they want to export from the selected dataset.
Page name
genotype-export
Used data
datasets, datasetstates, datasetpermissions, germinatebase, experiments, experimenttypes, groupmembers, groups, maps, mapdefinitions, mapfeaturetypes, markers, markertypes

Geographic Search

Content
The geographic search page allows the user to search for both accessions and locations based on a given query point or polygon.
Page name
geographic-search
Used data
countries, germinatebase, locations, locationtypes
URL parameter
latitude, longitudeThe location of the point query.

Group Preview

Content
Germinate offers the functionality to define groups of accessions via an API and a dedicated page. Tools like CurlyWhirly can upload a file containing the identifier of accessions and Germinate will display a preview of these items in a table. Once the user is happy with the selection, they can create a new group based on the selection.
Page name
group-preview
Used data
germinatebase, groupmembers, groups, grouptypes

Groups

Content
The groups page shows an overview of all the accession, marker and location groups that are defined in Germinate. Depending on the permissions, the user can create new groups, delete old groups and modify the members of a group.
Page name
groups
Used data
countries, germinatebase, groupmembers, groups, grouptypes, locations, locationtypes, markers, markertypes
URL parameter
groupId The id of the group.

Image Gallery

Content
This page shows all the images that are defined grouped by type. By clicking on the button below each image the user will be able to navigate to the corresponding details page.
Page name
image-gallery
Used data
compounds, germinatebase, images, imagetypes

Locations

Content
The locations page shows information about the location data. The locations are displayed on maps as well as visualized in different ways.
Page name
locations
Used data
countries, germinatebase, locations, locationtypes

Home

Content
The home page of Germinate. It shows aggregated statistics about accessions, groups, locations and markers.
Page name
home
Used data
countries, germinatebase, groupmembers, groups, grouptypes, locations, locationtypes, markers, markertypes

Institutions

Content
This page shows all the institutions associated with accessions held in Germinate.
Page name
institutions
Used data
countries, germinatebsae, institutions, locations, locationtypes

Maps

Content
The maps page shows an overview of all the maps. Selecting one of them will display a table of all the markers on this map along with their position on the chromosome.
Page name
maps
Used data
mapdefinitions, mapfeaturetypes, maps, markers, markertypes
URL parameter
mapId The id of a map. This will expand the details of this map.

Marked Items

Content
Marked item lists are a way of keeping track of items of interest. These items can be any accessions, markers or locations that the user is interested in. The marked items page shows all the items a user has marked so far. There are options to download the data or to create a group from the list if the user has sufficient permissions.
Page name
marked-items
Used data
germinatebase, groupmembers, groups, grouptypes, markers, markertypes, locations, locationtypes

Marker Details

Content
This page displays information about a single marker. It shows which datasets the marker is part of as well as which maps it is on. Additionally, a list of all known synonyms is shown.
Page name
marker-details
Used data
mapdefinitions, mapfeaturetypes, maps, markers, markertypes, synonyms, synonymtypes
URL parameter
markerId The id of the marker.

Mega Environments

TODO

News

Content
This page shows news about Germinate and the contained data. The news items are sorted by creation date, so the latest one is shown first.
Page name
news
Used data
news, newstypes

Passport

Content
The passport page shows all the information we have for a particular accession. This includes its MCPD information, collecting site, pedigree, images, groups, datasets, user annotations, etc.
Page name
passport
Used data
biologicalstatus, collectingsources, countries, germinatebase, institutions, locations, locationtypes, mlsstatus, pedigreedefinitions, pedigreedescriptions, pedigreenotations, pedigrees, storage, storagedata, subtaxa, synonyms, synonymtypes, taxonomies
URL parameter
accessionId, accessionName, generalId The id, name or gid of the accession.

Search

Content
The search page allows searching for all kinds of data types that Germinate supports. Entering a simple search term will show results for all data types that can then be refined by using the Germinate filter functionality.
Page name
search
Used data
Everything
URL parameter
searchString The string to search for.

Trials data

Content
This page offers various kinds of trials data visualization. The user can generate and download charts as well as export the data to a tab-delimited data file.
Page name
trials-data
Used data
countries, datasets, experiments, experimenttypes, germinatebase, locations, locationtypes, phenotypedata, phenotypes, treatments, trialseries, units

Trials datasets

Content
All available trials datasets are shown on this page. The user will be able to select which datasets to export.
Page name
trials-dataset
Used data
attributedata, attributes, collaborators, datasets, datasetstates, datasetpermissions, germinatebase, experiments, experimenttypes, phenotypedata, phenotypes

User registration

Germinate can be used with and without authentication. This means that you can decide if you want to restrict access to your Germinate instance to registered users. If you decide to do so, you'll need people to be able to register. The registration form of Germinate (see figure above) provides a concise and easy way to register. If you choose to use a disclaimer that potential new users have to accept, this will appear before the form is visible. Once the user completes the form, they will either get access right away or you need to approve the new users manually. This is based on the setting of the property Gatekeeper.Registration.Needs.Approval (see Section Configuration for help). If you choose to use the approval approach, you'll see the screen shown in the figure above after selecting "Approve users" in Gatekeeper. The user will be notified with your decision.

The registration agreement text the user has to agree to before signing up for your instance of Germinate is stored in the properties page.registration.disclaimer.short.html and page.registration.disclaimer.long.html in the Text.properties file. Translations of this text need to be placed in the appropriate internationalized version of this file.

Dataset licenses

Sometimes it is required for individual datasets to be protected behind a license the user has to agree to before using the data. To accommodate this, we have introduced dataset licenses. Licenses are stored in the licenses table. The actual license content is stored in licensedata and linked to a `locale so that you can have translations of your license content.

We keep track of which user accepted which license so that they are only prompted to accept new licenses. Make sure to remove associated licenselogs entries if you change the actual content of a license, because the user may originally have agreed to a different wording.

Security

As already mentioned earlier, Germinate is equipped with a secure login system (Germinate is only as secure as the connection between client and server. Use a secure connection (TLS/SSL) to prevent password snooping). This feature is completely optional, but it allows you to protect your data from any unauthorized access. In this section, we will explain how the security system works and we will show what is necessary to use it properly.

The figure above shows the authentication process of Germinate. The figure contains two major parts. The upper part visualizes the login process, which is initialized by the user entering his/her credentials. These are sent to the server alongside any session id that is still stored in the client from previous sessions. The server will then check the session id that is received. If the id is still valid, the server will store the session id and return it to the client, which, in turn, will create a cookie containing this id.

If the session id is invalid, the server will check if the username password combination is genuine. This is done by encrypting the password and checking it against the entry in the database. If this check fails, the user will be logged out. Otherwise, the server will create a new session id, store it in the HTTP session and return it to the client, which will create a new cookie using this id. The login process is now complete and both the server (via HTTP session) and the client (via cookie) know the current session id.

For each new request that is made from the client, it will need to send the session id as the payload, \ie each remote procedure call (RPC) has to request the session id as a parameter to ensure the security of the communication. As a consequence if this, the server will receive the session id three times per request, namely via the HTTP session, via the cookie and via the payload. If all of these ids match up, the server can fulfil the client's request and return the data. However, if it fails, the user will be logged out.

As a final remark: Even if you currently do not want to enable the security feature, you should still write your code in a way that ensures it will work properly even when the security feature is enabled. Otherwise you might end up with a security leak.

Clone this wiki locally