Releases: Indicia-Team/drupal-7-module-iform
Releases · Indicia-Team/drupal-7-module-iform
v6.8.0
- Changes to support new Butterfly Monitoring Scheme forms.
- New datePerRow and subSampleAttrs options for
species_checklist
control allow data entry in
"spreadsheet" style where each row provides all details for a sub-sample and record. - Ability to support multiple Elasticsearch end-points on a single ES reporting page. For example
both occurrence and sample data can be loaded from separate indexes. See @endpoint option for a
[source]
control and alternative_endpoints page configuration setting. - [my_sites.add_sites_to_any_user] now allows the caption format displayed when selecting a user to
be configured.
v6.0.0
- New Elasticsearch [cardGallery] control which acts as a media-card focused replacement for the
existing [dataGrid].
Relates to BiologicalRecordsCentre/iRecord#1013.
See https://indicia-docs.readthedocs.io/en/latest/site-building/iform/helpers/elasticsearch-report-helper.html#elasticsearchreporthelper-cardgallery - New option @includeUploadButton for the [verificationButtons] control, allowing spreadsheets of
verification decisions to be downloaded, worked on locally, then uploaded. This can be combined
with the @uploadButtonContainerElement option to define the location the upload button should
be shown. See
https://indicia-docs.readthedocs.io/en/latest/site-building/iform/helpers/elasticsearch-report-helper.html#elasticsearchreporthelper-verificationbuttons - Elasticsearch [dataGrid] and [verificationButtons] controls now have a @keyboardNavigation option
which allows arrow key navigation and numeric buttons to be used to apply verification statuses.
The i key can also be used to popup the current row's images.
See BiologicalRecordsCentre/iRecord#1026,
https://indicia-docs.readthedocs.io/en/latest/site-building/iform/helpers/elasticsearch-report-helper.html#elasticsearchreporthelper-datagrid
and https://indicia-docs.readthedocs.io/en/latest/site-building/iform/helpers/elasticsearch-report-helper.html#elasticsearchreporthelper-verificationbuttons - Additional flags supported in filter builder for terrestrial, freshwater and non-native species.
- Updated jQuery default supplied version to 3.5.1. Normally this will be replaced by the current
version loaded for Drupal. - Updated to latest jQuery UI code, though note that jQuery UI is deprecated in Drupal 9 so
dependencies on this library are significantly reduced in this release of Indicia. - Upgrade to Fancybox 3.
- Standardised and tidied code used for display of media thumbnails (e.g. Record Details, Species
Details). - Improvements to the calculation of column widths in the Elasticsearch [dataGrid] control when
using a fixed table body height.
See https://indicia-docs.readthedocs.io/en/latest/site-building/iform/helpers/elasticsearch-report-helper.html#elasticsearchreporthelper-datagrid,
scrollY option. - Replace jQuery.UI datepicker with HTML5 date input, as jQuery.ui.datepicker not supported in
Drupal 9. - Adds a datepicker polyfill for browsers which don't support HTML 5 dates, e.g. MacOS Safari.
- Switch from jQuery.ui.progress to HTML5 progress in preparation for Drupal 9 support.
- Remove use of jQuery.UI's shake effect in preparation for Drupal 9 support.
- Replace jQuery.sortable with Sortable.js, in preparation for Drupal 9 support.
- Replace jQuery.ui.dialog with a Fancybox derived dialog control, in preparation for Drupal 9
support. - Permissions filters for context filtering now applied in the Elasticsearch proxy for better
security. - Support for blurring sensitive records using a locally defined scratchpad list of the taxa to
blur. - Species data entry controls have option which allows user to add a missing taxon to a sandbox
list, so they can at least enter the record. - Google Maps API JavaScript lazy-loaded on demand, avoiding additional hits on the service which
might increase costs even when the layer never shown.
BiologicalRecordsCentre/iRecord#891 - Support for Zerocrossing files for bat audio data. See
BiologicalRecordsCentre/iRecord#432 - An Elasticsearch [download] control which is linked to a [dataGrid] to determine the data and
columns to download can now specify additional columns in an @addColumns option to add extra
columns even if they are not in the [dataGrid]. - Elasticsearch [dataGrid] control now supports a new #taxon_label# column type which formats a
taxon name for viewing, including the vernalar where appropriate. - Removed out-of-date prebuilt forms for verification. Existing forms using these should be converted
to verification_5.php:- verification_1.php
- verification_2.php
- verification_3.php
- verification_4.php
- Removed other redundant prebuilt_forms:
- ofs_pollinator_2013.php
- ecmc_data_portal.php
- New [elasticsearch_event_reports:group_integration] control allows additional functionality for
integrating an Elasticsearch reports page with recording groups.
v4.11.0
- New @allowTaxonAdditionToList for
species_autocomplete
andspecies_checklist
controls. Can be
set to a taxon list ID pointing to a "sandbox" list, allowing users to input a taxon that is not
available in the recording list. - New
elasticsearch_event_reports
extension providing Elasticsearch based replacement controls
for many of the Activity Summary style reporting outputs. See
BiologicalRecordsCentre/iRecord#930. - New
ElasticsearchReportHelper::groupIntegration
control enables filtering Elasticsearch report
outputs on group-linked reporting pages (such as Activity Summaries). Includes support for
implicit parameter. - Fixes relating to lazy loading of Elasticsearch content on tabs which are initially hidden.
- Download template selection control for Elasticsearch downloads.
ElasticsearchReportHelper::customScript
control now supports a @template option for embedding
HTML in the output div.- New
ElasticsearchReportHelper::getGroupSummaryHtml
control allows a summary of a group to be
displayed on reporting pages. - New
ElasticsearchReportHelper::surveyFilter
control allows a control for filtering by survey to
be added to Elasticsearch reporting pages. - Elasticsearch reporting pages can cache the data loaded on initial page view, useful for pages
which have very high hit rates. SetproxyCacheTimeout
option on the source control to enable
this. - Several fixes to the report filter builder Where popup relating to loading existing location
information and boundaries to edit. - Fixes to the
data_entry_helper::sub_list
control relating to dynamic addition of new terms to
the termlist (@allowTermCreation
option). - Support for import from Excel files in addition to CSV. Experimental - enable
@allowExcel
option to use this. - Location edit form now has a permission setting for enabling editing of other people's locations.
- Options for internationalisation of lookup control terms extended - can now show preferred terms
but enable client-side translation.
v4.5.0
- Species map control (records at multiple places) now has option @singleRecordSubsamples that can
be set to limit sub-samples to 1 occurrence. - Default place search service now Nominatim rather than Google.
- Tidied configuration of maximum upload file size - helper_config::$upload_max_filesize replaces
helper_config::$maxUploadSize. - Removed JavaScript wrappers that were intended to make the code run with JS turned off, but
cause issues when loading via AJAX. - Disable built-in browser autocomplete on date picker.
- Elasticsearch [recordDetails] control has a
showTabs
callback for running custom code when a
tab is shown.
v4.4.0
- Prebuilt form parameter definitions can now define a helpLink property, providing a link in the
Edit tab of the form. - Content on dynamic prebuilt form user interface content now supports a wider range of replacement
tokens (see helper_base::getStringReplaceTokens()). This includes the ability to expose phrases
in content to translation. - Any dynamic prebuilt form can now include report content using the control
[misc_extensions.report_helper_control]. - Resolution improved for printing to PDF using the print extension.
- Training mode flag now stored against samples as well as occurrences, so samples with no records
can be identified as training samples. - New Elasticsearch control [statusFilters] which provides a shortcut to and mirrors the status
filters available on the filter builder. - The Elasticsearch [permissionFilters] control now has the user's record contexts built in.
- Elasticsearch filtering has a new [recordContext] filtering drop down control.
- New Elasticsearch [filterSummary] control which displays a summary of the currently applied
filter. - Elasticsearch [dataGrid] control updates:
- Support for showing attribute values from parent sample data in columns.
- Support for special column values #lat# and #lon# for formatted decimal values.
- Anonymously entered records now shown by an icon in Elasticsearch dataGrids. See
BiologicalRecordsCentre/iRecord#817. - New option @includeColumnSettingsTool can be set to false to disable the column settings tool.
- New option @includeFullScreenTool can be set to false to disable the full screen tool.
- Elasticsearch download control now supports selection of a download format template via a drop-
down. - Species map control (as used for enter records in multiple places style forms) now supports
clustering where record locations are close together. - Updated the Luxembourg specific georeferencing control to use v3 of the ACT's API.
- IndiciaMapPanel control fixes to positioning of the tolerance (buffering) input control.
- IndiciaMapPanel fixes to geometry based filtering when buffering not enabled.
- Verification 5 prebuilt form supports redetermination "on behalf of" the original recorder, so
the verifier does not falsely get tagged as the determiner/identifier. - @Class option support for report_helper::report_download_link() control.
v4.0.0
- This release contains a significant update to the ElasticsearchReportHelper
class and associated code. Breaking changes are involved but only to the
prebuilt form that was marked as experimental and only in advanced
configuration scenarios:- BREAKING CHANGE - The [download] control's @addColumns configuration uses
the same format as the [dataGrid]'s columns configuration so downloads
which specify their columns will need to be updated. - BREAKING CHANGE - In the Elasticsearch [dataGrid] and [download] columns
format, media fields are no longer handled by settinghandler
to
media
. Instead, set the field to#occurrence_media#
. - BREAKING CHANGE - Elasticsearch output controls which use the @attachToId
option will need to be updated as this option is replaced by
@containerElement. - BREAKING CHANGE - @autoAggregationMode, @Aggregation and
@aggregationMapMode are replaced by the [source] @mode option. Then other
controls linked to the [source] will automatically configure accordingly.
There are new [source] options @uniqueField, @fields and @sortAggregation
that work in association with the selected mode. - BREAKING CHANGE - the [source] no longer has a @buildTableXY option and
the [dataGrid] no longer has a @sourcetable option. This functionality
can be replicated using @mode=termAggregation using the column field
configuration to extract column values from the nested aggregations. - The [download] control now supports @linkToDataGrid option to allow it to
automatically configure the download file to match the grid's filter and
column configuration and use the same [source] as the [dataGrid]. - The [download] control now supports downloading aggregated data when the
linked [source]'s @mode option is compositeAggregation or termAggregation. - The [download] control now supports @buttonContainerElement option to allow
it to attach the button to any HTML element using a CSS selector (e.g. a
[dataGrid] footer). - The [download] control now supports @caption and @title options.
- The [dataGrid] control's @columns option is now optional. A minimal default
set is used if not provided. - The [dataGrid] uses the [source]'s @mode option to self-configure. It uses
a separate aggregation in the request where necessary to ensure that the
pager includes total row count information even when the main aggregation
request does not support it. - The [dataGrid] now allows user selection of the number of rows per page,
with @rowsPerPageOptions allowing configuration of the choices. - The [leafletMap] control has a new @baseLayerConfig option allowing use
of OpenStreetMap, OpenTopoMap, Google or WMS base layers. - Throughout the Elasticsearch configuration, it is no longer necessary when
to use the keyword version of a multiple field mapping, this is handled
automatically. - General performance improvements in Elasticsearch proxy requests.
- BREAKING CHANGE - The [download] control's @addColumns configuration uses
- Fixes in import code around Byte Order Markers messing up column alignment.
- Date picker in vague date mode improved button position when used with
Bootstrap theme. - Minimum supported PHP version changed to 5.6 in line with PHP community.
- Species_checklist control now works with dynamic attributes in Drupal 8. Also
performance improvements for the call to load attributes for each taxon. - Fixes issue where having species_checklist dynamic sex & stage attributes
will only load the first control for a selected taxon. - Fixes saving of the Elasticsearch warehouse prefix configuration setting.
v3.3.0
- Fixes to JSON editor when reloading multi-line values on the Edit tab for
Indicia pages. - get_population_data function moved into helper_base.php as generically useful
and not just for data entry. - Bug fixes in the linked list control behaviour.
- If a multi-value control has a default value then it only applies to the
first instance of the control. - @control_type on text attribute controls now allows autocomplete to be set,
so available text values can be looked up from the database. - Standard filter parameter to filter by a taxon scratchpad list now works for
Elasticsearch reports. - New @rowClasses option for the Elasticsearch [dataGrid] control - see
https://indicia-docs.readthedocs.io/en/latest/site-building/iform/helpers/elasticsearch-report-helper.html#elasticsearchreporthelper-datagrid. - Elasticsearch report code supports a simpler way of creating dataGrids with
data rows grouped by a unique field value (e.g. event.event_id for samples)
which support sorting. See
https://indicia-docs.readthedocs.io/en/latest/site-building/iform/helpers/elasticsearch-report-helper.html#automatically-generating-aggregations - Bug fixed when verifying multiple records in Elasticsearch which could result
in incorrect warnings that not all records were updated. See
BiologicalRecordsCentre/iRecord#816 and
BiologicalRecordsCentre/iRecord#823. - Elasticsearch dataGrids support a @countAggregation option to specify a
simple aggregation to count results when using a composite aggregation which
doesn't support counts. Note that composite aggregations don't support
sorting on aggregated fields. - Importer has new option allowing the final import completion message to be
accompanied by another select file & upload form so you can proceed to
immediately upload another file. - Some improvements to the messaging shown during and at the end of an import.
- The importer now allows the existing record lookup method to be predefined
in config so the user does not have to select this option. - Bug fixed when using replacement tokens in language strings delegated to
Drupal translation. - New misc_extensions.query_locations_on_map_click control for data entry
forms. - Improved handling of LUREF (EPSG:2169) mapping.
- Elasticsearch dataGrids include a status icon and data values are struck-
through for zero abundance records. - Elasticsearch dataGrids include a special column for associated occurrences
data. - Improved display of table summary data in Elasticsearch dataGrids when full
pagination not available. - Elasticsearch leafletMap control now supports a layer type which draws the
raw geometry of each record (layer type=geom). - If the indiciaMapPanel map option
selectFeatureBufferProjection
is enabled
then buffering of drawn features is enabled on the filter builder's Where
panel. - Bug fix in automated exports for Drupal 7 Indicia forms - correctly clears
due date after a run.
v3.1.0
- Success messaging after import altered to better indicate if there were errors.
- Dynamic report explorer pages now support a [downloadLink] control.
- Report filters now support search selections based on a scratchpad list if the @scratchpadSearch option is enabled.
- Loading of user filters in Elasticsearch proxy now only happens once on each page load, not on every ES request, for
better performance. - Fixes related to dynamic attributes in data entry grids, so that configuration is the same for single record or list
of records modes. - Some common functionality now moved to a new VerificationHelper class.
- Improvements to Elasticsearch date column filtering, which now supports yyyy format. See
BiologicalRecordsCentre/iRecord#699. - Improvements to Elasticsearch source column filtering when both website and survey ID specified. See
BiologicalRecordsCentre/iRecord#732. - Reduces display of Elasticsearch Query Failed messages if navigating away from the page during a request.
- Elasticsearch dataGrid control's scrollY component can now have a negative value set (e.g. -20px) to anchor to the
bottom of the page. See BiologicalRecordsCentre/iRecord#752. - Elasticsearch verification supports sending queries via email. See
BiologicalRecordsCentre/iRecord#553. - Elasticsearch bulk verification no longer displays modal dialog after success, so less clicks required. See
BiologicalRecordsCentre/iRecord#751. - Redetermination button moved alongside other verification buttons for Elasticsearch verification. See
BiologicalRecordsCentre/iRecord#744. - Elasticsearch record details pane fields re-organised and now more consistent between records. See
BiologicalRecordsCentre/iRecord#567. - Elasticsearch Experience tab alignment improved and links now open in a new tab. See
BiologicalRecordsCentre/iRecord#572 and
BiologicalRecordsCentre/iRecord#573. - Additional fields available in Elasticsearch dataGrid columns configuration. See
BiologicalRecordsCentre/iRecord#733. - Record ID filter builder pane now fixed for Elasticsearch reporting. See
BiologicalRecordsCentre/iRecord#737. - Adds support for Swedish reference systems (EPSG:3006 and EPSG:3021).
v2.37.0
- Configuration option to select Elasticsearch 6 or 7.
- Drupal search results renders just node title rather than trying to include the form.
- Tweaks to media licensing text.
Also inherited from the client helpers and media folder updates:
- Support for Elasticsearch version 7.x.
- Removed custom versions of JavaScript JSON class.
- Fix accepted as correct icon on verification action button.
- Iform_user_ui_options module can now be used to temporarily switch the georeferencer used across the site if a service
such as Nominatum goes offline. - Updates to EBMS and UKBMS forms
- User replacement tokens in form configuration can now be overriden by a Drupal module hook called
iform_user_replacements (Drupal 8 only at the moment).
v2.34.0
- Improved labelling in licence code for user profile options.
- Fixes a situation where custom filters in form configuration don't work for
the taxa_search webservice. - Minor improvement to record save success message.
- Support for bulk verification of entire table of records in Elasticsearch.
- Elasticsearch report output pages now integrate with the [standard params]
control so a filter builder toolbar can be added to the page. - Elasticsearch report requests triggered before OpenStreetMap tiles are loaded
rather than after for better page load performance. - Elasticsearch reporting code can now run from a block via a new
ElasticsearchReportHelper
class. - Additional Elasticsearch dataGrid columns for verification details.
- Elasticsearch dataGrid table toolbuttons styling updated.