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

Version 3.4.0

sebastian-raubach edited this page Oct 23, 2017 · 20 revisions

New in 3.4.0

  • ADD: Added table marking across pages to all location tables.
  • ADD: Added table marking across pages to all accession tables.
  • ADD: Added table marking across pages to all marker tables.
  • ADD: Added table marking across pages to all compound tables.
  • ADD: Added table marking across pages to all phenotype tables.
  • FIX: Fixed bug where not selecting a polygon on the polygon search page and hitting continue would thrown a database exception.
  • ADD: Since the last release the download of d3.js charts wouldn't include the legend. This was due to the fact that we moved the legend to an HTML div element, because it had significant advantages over having the legend as part of the SVG. This did, however, mean that the downloaded chart didn't include the legend. In this release we download the legend separately as a PNG (if the chart has a legend).
  • CHG: Increased paginated query performance and code readability by querying for the data and count in a single query.
  • ADD: Added subtaxa information to both accession tables and the passport page.
  • CHG: Simplified AnnotationsWidget by combining both count and data query into one single query.
  • DEL: Removed redundant Servlet methods.
  • CHG: Moved Logger configuration from code to logging.properties.
  • DEL: Removed logger code from exception sub-classes and added it to the base GerminateException.
  • FIX: Fixed compound data chart not showing up when there are too many accessions with compound data. This has now be restricted to only show the first 500 items. Plans for the future may include showing the items that are visible in the table above.
  • CHG: Cleaned up allele frequency data export code significantly.
  • CHG: Massively simplified the DatabaseObjectCache code.
  • CHG: Renamed all Instance classes to Inst and all getInstance methods to get to make the code more concise.
  • CHG: Renamed some RPC services to align them with the database table names.
  • CHG: Moved methods between RPC services to group similar methods closer together.
  • CHG: Removed old RPC service methods that can be replaced with calls to filterable methods.
  • CHG: Major code cleanup.
  • CHG: Massively reduced the number of different Exception classes that are used.
  • CHG: Replaced locations treemap with a new implementation.
  • ADD: Implemented a framework to import MCPD data into Germinate. A basic implementation of a tab-delimited MCPD data importer is included and further MCPD readers can easily be implemented to support more data types (e.g. json).
  • ADD: Added button to create group from shopping cart on the genotype/allelefreq export page without having to leave the page.
  • ADD: Added button to table marking context menu to allow the creation of a new group without having to leave the page.
  • CHG: Changed the default menu structure. If you're not happy with the new structure, feel free to customize it using the Germinate.Template.CustomMenu property in your config.properties file. Please consult the documentation for more details.
  • CHG: Replaced text-only pages with the new HTMLPage.
  • ADD: Added KML download for all accessions from the #geography page.
  • FIX: Fixed NPE when no datasets for a specific type are found.
  • CHG: Made email on Passport page clickable.
  • CHG: Made gallery support subfolders.
  • FIX: Fixed issue on Locations page where maps wouldn't reappear after disappearing.
  • FIX: Fixed issue where heatmap json data wasn't completely generated because the cache on the database wasn't large enough.
  • FIX: Fixed gallery not showing the images.
  • FIX: Fixed dataset statistics chart showing up empty when there's no data.
  • FIX: Fixed cookie page text.
  • ADD: Added new property to force thumbnails generated by the auto scaler to be square.
  • FIX: Fixed search query when no datasets present.
  • CHG: Reverted image scaler back to watching just the root directory.
  • CHG: Slightly changed the KML download for all accessions.
  • CHG: Fixed layout issue of logos on IE (because IE doesn't know how to render elements properly...).
  • CHG: Made Germinate more robust to Google Maps library loading errors.
  • FIX: Fixed an issue with the CurlyWhirly/Germinate interaction. The selections between the two tools weren't synchronized.
  • ADD: Added implementations of Excel data template importers (MCPD + attributes, phenotype data, pedigrees, markers + maps and genotypes).
  • DEL: Removed skrollr.js as a dependency.
  • FIX: Fixed an issue where mixing both static and dynamic external links would cause the links widget to not show up at all.
  • ADD: Added option to define user groups. These user groups can then be given special access permissions to datasets. So far this was only possible on an individual user basis.
  • ADD: Added dataset specific licenses. A dataset can now have a license that the user has to accept before continuing. If they don't accept the license, they can't use the dataset.
  • ADD: Added column selector to tables. This allows the user to disable/enable (hide/show) columns in the table.
  • BUG: Fixed a bug where making changes on the admin page sometimes didn't result in the properties being updated properly.
  • ADD: Added option to rename an existing group.
  • ADD: Added a new group to all group selection boxes that represents all the data, e.g. all accessions, all markers, all locations. This makes sure that the interface can be used even if no groups have been defined yet.
  • CHG: Unified phenotype and trials experiments.
  • CHG: Significantly (!!!) reduced the code clutter in database query related classes.
  • CHG: Changed the export format for Helium to the new format. Closes #6.
  • ADD: Added the ability to define attributes for datasets. These attributes can be seen from the datasets table. The search page now includes a section to search across dataset attributes as well. Closes #7.
  • ADD: Added experiment details page. Just now this can be accessed by navigating to ?experimentId=X#experiment-details #Closes #8.
  • ADD: Added very initial version of a user documentation that showcases all the features and explains what to do.
  • ADD: Re-added Germinate data template import code.
  • CHG: Moved location treemap to the geography/locations page.
  • ADD: Added contact us button to top navigation bar.
  • CHG: Aligned the functionality of the pedigree download on the accessions overview page with the accession data download, i.e. it'll now download data for either the whole dataset, a group of accessions or the marked accessions.
  • ADD: Added more help content to the page.
  • DEL: Removed the registration-agreement-long.html and registration-agreement-short.html files form the template folder of the instance and moved their content to Text.properties entries. See the migration section for more details.
  • ADD: Added support for Dublin Core attributes. These are stored in the dublin_core column in the datasets table. The column type is JSON, please consult the documentation for the format of the JSON that is used here.
  • ADD: Added collaborator tables to the database. This means that you can now define multiple collaborators for each dataset. A collaborator can be associated with multiple datasets. The collaborators are shown by clicking on the people icon in the datasets table.
  • ADD: Added location_name column to phenotype data export.
  • CHG: Replaced old table filtering interface with a new version that allows more types of filtering while still maintaining the ones the old one had.
  • DEL: Removed changelog information from repository. This is now available on the GitHub wiki.
  • ADD: Added marked item list indicator to tables. Closes #12.
  • CHG: Included LICENSE file in the generated .war file.
  • CHG: Aligned all the created_on and updated_on columns to have the same type, to auto update and to default to CURRENT_TIMESTAMP.
  • ADD: Added synonyms to accessions tables. This allows sorting and filtering based on the synonyms.

Migrating from 3.3.2 to 3.4.0:

  • Add the following lines to your Germinate.gwt.xml file in your instance-stuff folder:
<inherits name="org.gwtbootstrap3.GwtBootstrap3NoTheme"/>
<inherits name="org.gwtbootstrap3.extras.toggleswitch.ToggleSwitch"/>
<inherits name="org.gwtbootstrap3.extras.notify.Notify"/>
<inherits name="org.gwtbootstrap3.extras.datepicker.DatePicker"/>
<inherits name="jhi.gwt.leaflet.GWTLeaflet"/>
<inherits name="com.google.web.bindery.autobean.AutoBean"/>
  • Move the crop.svg from the instance-stuff/<your-instance>/template/images folder one level up into the template folder.
  • Make sure the property Germinate.Template.EmailAddress in config.properties is a valid email address and nothing else, no other text, just the email address.
  • The following pages are no longer available as they have been merged with their respective trials version: categorical-datasets, categorical-export, geographic-treemap. To keep functionality working the same, please replace them under Germinate.AvailablePages (config.properties) with trials-datasets, trials.
  • The shopping cart is now called the marked item list. If you have it enabled in the config.properties file under the Germinate.AvailablePages item, please replace cart with marked-items.
  • There's now a new page that can be added to Germinate.AvailablePages: experiment-details. It shows details about the datasets contained in an experiment.
  • If you have been using the files registration-agreement-long.html and registration-agreement-short.html in the instance-stuff/<your-instance>/template folder, the please reformat the content into a single line and add it to the Text.properties file using the new properties (listed below as empty): page.registration.disclaimer.short.html and page.registration.disclaimer.long.html.
  • New translatable text has been added. The following properties can be changed in your Text.properties file and the according translation files:
notification.polygon.search.no.polygon.selected=No polygon selected.
page.compound.data.compound.by.compound=Compound by compound
page.compound.data.compound.matrix=Compound matrix
page.compound.details.for.compound=Details for compound: {0}
page.compound.details.compound.data.chart=Compound data chart
page.compound.details.image.title=Images
widget.d3.chart.compound.y.axis.title=Compound value
column.passport.subtaxa=Subtaxa
widget.d3.chart.compound.data.limit.warning=Data has been limited to {0} items.
notification.login.username.password.invalid=Invalid username or password.
button.group.from.cart=Create group from cart
button.group.from.selection=Create group from selection
notification.no.items.marked=No items are marked.
menu.data.locations=location data
menu.data.genetic=genetic data
page.search.group=Groups
page.shopping.cart.title=Marked items
widget.pager.items.per.page=Items per page
column.groups.type=Type
notification.groups.deleted=Groups successfully deleted.
page.accessions.browse.download.accession.data=Download accession data
page.accessions.browse.download.pedigree.data=Download pedigree data
general.next=Next
general.back=Back
general.skip=Skip
general.done=Done
page.search.data.category=Select what data you want to search for
page.search.results.title=Results
page.locations.select.type=Select location type
general.none=None
general.results=Results
column.maps.id=Maps Id
page.genotypes.title=Genotype data
page.allelefreq.binning.title=Allele Frequency Binning
page.climate.datasets.title=Climate Data Export
page.compounds.scatter.first.compound=First compound
page.compounds.scatter.second.compound=Second compound
page.compounds.scatter.group=Group
page.compounds.scatter.color=Color by
page.admin.config.menu.item=Admin settings
column.comment.id=Id
column.comment.description=Description
column.comment.type.description=Comment type
column.comment.created.on=Created on
column.comment.user=User
widget.comment.type.select=Select comment type
widget.comment.content=Enter comment message
notification.action.permissions.insufficient=Insufficient permissions to perform action.
page.login.registration.link=Don''t have an account? Register here!
widget.wizard.progress.page=Page {0}/{1}
page.phenotypes.scatter.first.phenotype=First phenotype
page.phenotypes.scatter.second.phenotype=Second phenotype
page.compounds.matrix.select.at.most=Please select at most {0,number} compounds.
page.compounds.matrix.select.at.most[one]=Please select at most 1 compound.
page.trials.overview.select.type=Select chart type
page.gallery.select.image.type=Select image type
page.gallery.type.all.images=All images
template.footer.copyright=© Information & Computational Sciences, JHI 2005-{0}
adminConfigHelp=<p>This page let''s you configure Germinate the way you want it to be. Please be aware that changes to this page will majorly affect how Germinate works and looks, so be careful.</p>
page.marker.title=Marker details
page.groups.members.title=Group members
page.groups.delete.group.title=Delete groups
page.groups.delete.group.text=Do you really want to delete the selected groups?
page.groups.delete.members.title=Delete group members
page.groups.delete.members.text=Do you really want to delete the selected group members?
page.about.button.search.members=Search
page.about.button.upload.members=Upload
page.about.button.delete.members=Delete
widget.pager.jump.to.page.title=Jump to page
widget.pager.jump.to.page.page.number=Page number (1 - {0})
page.groups.search.result=Search for items
widget.table.filter.info=<b>Table filtering searches for exact matches in the specified column. To use fuzzy search, use the wildcard character '%'. As an example, searching for a country name of 'kingdom' will not return a result whereas searching for '%kingdom%' will return 'United Kingdom'.</b>
column.license.description=License description
general.decline=Decline
general.accept=Accept
wizard.license.agreement.decline.meaning=Declining a license means that you won''t be able to see and export the contained data.
wizard.license.title=License
page.search.additional.datasets.title=Additional data
general.update=Update
page.search.additional.datasets.text=<p>There is data in additional datasets for which you haven''t accepted the license yet. If you wish to do so, please check the datasets you are interested in and then click the button below the table.</p><p>The licenses of the selected datasets will then be shown and you can decide for each one if you would like to accept it or not. Afterwards, the view will update.</p>
page.search.additional.datasets.text.short=<p>There is data in additional datasets for which you haven''t accepted the license yet. If you wish to do so, please check the table at the bottom of the page.</p>
widget.table.column.selector.title=Select columns
column.groups.size=Size
page.dataset.attributes.title=Attributes
general.close=Close
page.search.section.accession.attribute.data=Accession attribute data
page.search.section.dataset.attribute.data=Dataset attribute data
page.experiment.details.title=Experiment details
page.experiment.details.text=<p>This page shows all the datasets that are part of the selected experiment.</p>
general.rename=Rename
widget.list.groups.all.markers=All markers
widget.list.groups.all.accessions=All accessions
widget.list.groups.all.locations=Locations
column.phenotype.recording.date=Recording date
help.search=Germinate supports full-text search across various data types and columns within this type. You can search by typing a search query into the text box. Upon search, Germinate shows the search results page. This page shows all matching database objects grouped into categories, each category representing a different data type. The number of matching items is shown for each section on the right. Upon expanding of a section, a result table will show the matching database items. You can then either download the data, mark specific items or filter down further by adjusting the search criteria in the table header.
help.marked.items=<p>Another useful feature of Germinate is the concept of <i>marked item lists</i>. A marked item is either an accession, a marker or a location that is of interest to the user. While you are browsing the page, a lot of the tables will have a checkbox column as the last column which you can use to mark certain items. Germinate will keep track of these items for you.</p><p>To see how many items you currently have marked, you can click on the menu item in the top bar or go directly to the marked item lists page.</p><p>Once you have marked all the items that you are interested in, you can create a group of these items and use them to export data against them. To create a group, you can either go to the marked item lists page or by clicking on the header of the checkbox column and selecting "Create group from selection".</p>
column.dataset.datatype=Data type
notification.datasets.selection.too.many=At most one dataset can be selected!
widget.contact.title=Contact us
help.home=<p>This is the main page of Germinate. It shows general information about this instance as well as an overview of the number of database items for certain types at the top of the page. Recent news about both the Germinate interface and the contained data are available in the news section shown in the bottom left. Finally, a section about other projects that are related to the project you are currently looking at are available in the bottom right.</p>
help.dataset.overview=<p>This page shows all the datasets that are visible to you within this instance of Germinate. They are split into internal and external datasets. Internal datasets can be visualized and exported from Germinate whereas we only link external datasets. Each table supports sorting and filtering. Selecting a dataset will take you to the specific page for this dataset.</p>
page.data.statistics.title=Data Statistics
page.registration.disclaimer.short.html=
page.registration.disclaimer.long.html=
widget.dublin.core.page.header=Dublin Core
widget.dublin.core.title=Title
widget.dublin.core.subject=Subject
widget.dublin.core.description=Description
widget.dublin.core.type=Type
widget.dublin.core.source=Source
widget.dublin.core.relation=Relation
widget.dublin.core.coverage=Coverage
widget.dublin.core.creator=Creator
widget.dublin.core.publisher=Publisher
widget.dublin.core.contributor=Contributor
widget.dublin.core.rights=Rights
widget.dublin.core.date=Date
widget.dublin.core.format=Format
widget.dublin.core.identifier=Identifier
widget.dublin.core.language=Language
page.datasets.collaborators.title=Collaborators
column.collaborator.id=Id
column.collaborator.first.name=First name
column.collaborator.last.name=Last name
column.collaborator.email=Email
column.collaborator.phone=Phone number
operators.between=Between
general.filter=Filter
operators.greater.than.equals=Greater than or equals
operators.less.than.equals=Less than or equals
widget.group.member.upload.select.column=Select database column
widget.marked.item.list.clear.confirm=Are you sure you want to clear the marked item list?
column.accessions.synonym=Synonyms
  • Some translatable text has been changed. The following properties should be changed in your Text.properties file and the according translation files:
page.location.treemap.text=<p>The treemap shows all locations grouped by region. Select the location type from the drop-down box below. Clicking on a region will zoom in and show the locations. In the case of collecting sites, clicking on the name of a location will show the accessions at this site. To get go back to the previous level, just click on the header.</p>
page.about.text=<p><strong>&copy;2006-{1} Information & Computational Sciences, The James Hutton Institute.</strong></p><p><a target="_blank" href="http://ics.hutton.ac.uk/germinate">Germinate 3</a> was written, designed and developed by <strong>Paul Shaw, Sebastian Raubach, Iain Milne, Gordon Stephen and David Marshall.</strong></p><p>In addition the following people have been instrumental in the development of Germinate. Linda Milne, Runxuan Zhang, Bill Thomas, Luke Ramsay, Robbie Waugh, Jordi Comadran, Joanne Russell and Andy Flavell.</p><p>Previous Members of the Germinate Team have included: Jennifer Lee, Jacek Grzebyta, Toby Philp and Nelo Onyiah.</p><p>We take privacy seriously. Your username is available to the Germinate 3 system but passwords are encrypted using the BCrypt algorithm and therefore cannot be viewed by us. If you forget your password please log in to the <a href="{0}" target="_blank">Germinate Gatekeeper website</a> to change it.</p><p>The Germinate system knows who you are based on your username. Groups you create using Germinate are unique to you and are not available to other users of the system. Adding notes to individual plant lines are available to other users and are tagged with your username. While this is important in gaining information please do not enter anything in notes fields on this site that you want to be kept private.</p><p>This particular implementation of Germinate 3 does not actively track your IP address or your operating system but it may detect your web browser. This is done solely for the purpose of tailoring features that may not be compatible with all browsers and is integral to the GWT (GWT Web Toolkit) tools that are used to develop this resource.</p><br/><p>For further information on the tools and databases that we produce visit our website at <a href="http://ics.hutton.ac.uk" target="_blank">http://ics.hutton.ac.uk</a> and follow our updates on Twitter <a href="https://twitter.com/cropgeeks" target="_blank"><span class="fa fa-twitter fa-lg font-awesome"></span> @cropgeeks</a></p><br/><h4>Contact Details:</h4><p>You can contact us by email at <a href="mailto:germinate@hutton.ac.uk">germinate@hutton.ac.uk</a> or you can write to us at:</p>
page.cart.button.clear=You haven''t marked any items so far. You can add items to your list of marked items by clicking on checkboxes in the rightmost column of some tables. Note that these checkboxes are only available in tables that deal with accessions, markers or locations.
tour.introduction.cart.text=This ''marked item list'' is used to keep track of items you marked as interesting. It''s a way to remember things on the page that you might want to look at again at a later point in time.
page.cookies.internal.text=<p>Germinate 3 uses cookies to maintain state across user sessions when using the Germinate 3 web interface. Cookies are simple text files. They are needed to help navigate automatic logins, password authentication, maintaining page state, marked item list functions, personal preference settings and a variety of other functions that are offered by Germinate 3. Cookies make these functions smooth and hassle-free to the user. We do not use cookies to track individual users based on any login details they may provide.</p><p>We do not share any information.</p><p>If you want to talk to us about how we use cookies or have any concerns we want to hear from you. You can contact us on <a href="mailto:germinate@hutton.ac.uk">germinate@hutton.ac.uk</a> and we will be happy to assist as much as we can.</p>
page.search.locations=Locations
page.search.query=Please enter the search query
page.groups.title=Groups
help.groups=<h3>Groups</h3><p>In Germinate we define the concept of a group to be an arbitrary grouping of database items of a certain type. Germinate supports groups of <i>accessions</i>, <i>markers</i> and <i>locations</i>. These groups can be pre-created by an administrator or user-defined, which means that you can create your own groups (assuming user authentication is enabled).</p><p>The purpose of these groups becomes clear once you start exporting data. All types of data can either be exported for the whole dataset or the data can be subset into smaller chunks by selecting a single or a selection of groups. The exported data will then contain information about the selected groups only.</p><h4>Creating a group</h4><p><i>This section is only applicable if the Germinate instance you are using has user authentication enabled.</i></p><p>In addition to using the predefined groups, you can create new groups of your own. This page shows you all the existing groups in a table and upon selection, shows you its group members. New groups can be added and existing ones deleted by pressing the buttons below the groups table. Deleting a group requires you to select the checkbox in the corresponding table row as well as to have sufficient permissions to do so. When creating a new group you will be asked to select the group type and to decide on a name for the group. When you do so, the group will be associated with your user account.</p><p>Once this is done, the group will be created and Germinate will automatically select it and show the group members table (empty at this point) below the groups table. You can now manipulate the group itself by adding and removing members using the buttons below the table.</p><h4>Adding group members</h4><p>Adding members to an existing group can be achieved in two ways. You can upload a list of those items from a text file or your clipboard and Germinate will look these items up based on their identifier. Once found they will be added to the group. The other option is to use a boolean search feature that is similar to the way the table filtering works. You can choose fields from the database tables and specify values that the items in questions should equal, smaller or larger to.</p><p>Groups can be made public so that other users have the option to use them as well. If you decide to make your group public, toggle the switch button below the group members heading.</p>
page.trials.title=Trials data
help.accessions.browse=<p>The core data of Germinate evolves around accessions and their passport data. Passport data can be described as the sum of all meta-data that relates to the accession.</p><p>The main feature is the table that shows all accessions held in this instance of Germinate in a central location. The table supports column sorting and filtering as well as adding accessions of interest to the marked items list by marking the checkbox in the last column. The table itself shows the most valuable information about each of the accessions, which is a subset of the Multi-Crop Passport Descriptors (MCPD).</p><p>The download section located below the table can be used to download the whole set of passport data including accession attributes for either the whole dataset, a group or a custom marked item list of accessions. Additionally, the pedigree information for the same constellation of accessions can be downloaded.</p><p>Selecting an accession in the table redirects you to the passport data page.</p>
page.passport.text=<p>This page displays information that we have stored for a particular accession.</p><p>Passport data tends to be quite fragmented so it''s perfectly possible that we have limited data for some lines while others have a full complement.</p><p>Where available we use <a target="_blank" href="http://www.openstreetmap.org/copyright">OpenStreeMap</a> to plot collection data for this accession.</p>
menu.geography=Locations
Clone this wiki locally