Specify 7.7.0 Release Notes July 15, 2022
[System Administrators: This release includes seven new system data tables exclusively for Specify 7.7. No existing collection data fields or tables in the current production database schema (v2.9) are updated in this release, and nothing in this update affects the concurrent operation of Specify 6. A future update will add and modify science data fields for Specify 6 and 7.]
Introduction
We are pleased to present this Specify 7.7 update. It represents several months of extraordinary programming effort by SCC software engineers and testing staff. We have updated, streamlined, standardized, re-styled, and added components and functions in this update, while significantly enhancing the software infrastructure of the Specify 7 web client front-end. We made substantial progress filling in some of the missing capabilities from Specify 6 while extending and expanding existing components and UI elements, in addition to introducing new capabilities beyond the Specify 6 benchmark.
Specify 7.7 takes collections data management to new levels of functionality, design, and security. We hope you will agree that it is the best Specify yet.
We heartily acknowledge the assistance of the members of the SCC Board, Advisory Committees and of the many SCC Specify users who provided suggestions and feedback for the development of Specify 7.7. We are buoyed every day by this grand SCC collaboration. To modestly mutate an adage, “It takes a village to make great software”. Congratulations all!
Improving the User Experience: New Design and Capabilities
The Specify 7 Web Interface has been transformed, modernized and styled with improved visual design, colors, component properties, consistent dialogs and by adding a number of user settable interface preferences to make customizations like font choices, font sizes, and color palettes meet user aesthetics. Underneath the user interface, Specify 7.7’s software infrastructure has been re-engineered for accessibility, extensibility, and code maintenance. Compliance with accessibility standards improves the software interface and enables the use of screen readers. Here is our Specify 7 Accessibility Statement . Specify’s tree displays have a new look with accessibility enhancements and usability improvements like sticky column headers that don’t scroll off the screen, rank information in autofill search box drop down lists and new action buttons to move, merge, and synonymize taxa. Technical documentation for the Specify Forms system and customization options is at: https://github.com/specify/specify7/wiki/Form-System .
User Preferences are now accessible through the User Tools menu, click on user name to bring up the User Tools dialog. The Preferences page is documented here: https://discourse.specifysoftware.org/t/user-preferences-page/538 .
The Query Builder has been wholly re-engineered by adding a field mapper, better filter value validation, embedded pick list support, sticky column headers and record previews.
Record Set handling has been enhanced with the ability to add and delete records, and to query on Record Sets to create subsets.
Linking In and Out of Specify has been extended. The Specify Network now shows local collection objects on the map on the specify network page and click on them to go back to the specify form. A little noticed feature allows Collection Objects to be referenced by a URL and retrieved for a remote user. If you would like to show a remote researcher data for a collection object, simply send a URL in this format [https://your-server.institution.edu/specify/bycatalog/institution-codon/catalog-number/\] to provide read-only access to your Specify 7 web page for the object.
Schema Configurator. We built a user interface Schema Configuration tool into Specify 7.7 to view field properties, change field captions, Insert field/table descriptions, make fields required, and hide fields from query builder, assign table formatter and aggregators, assign field formatter and web links and assign field pick list and create new picklists, among other customization options.
Localization. We improved UI localization (language) support in this release. We would be happy to work with bilingual volunteers who want to contribute further languages to Specify’s polyglot capacity.
Improving Security
Accounts and Security. Specify 7.7 includes a long-needed, role-based access system that allows great flexibility for institutions to identify Specify user roles to set access permissions on accounts in a way that reflects collection policies. The new access and security system will be introduced in a separate document and we will be providing additional detailed information on it in coming weeks and months. We also implemented two new mechanisms for external authentication of user accounts, enabling single sign on for collections that prefer campus authentication services. Technical documentation is at: https://github.com/specify/specify7/blob/151a2f31ec8b2bca9a10656e9487cc15e0443240/specifyweb/settings/specify_settings.py#L84
Specify 7.7 includes many other improvements and changes. Below is a listing of most of the user visible enhancements, and external facing bug fixes.
Itemized Improvements
Full list of addressed GitHub issues
Interface Design, Accessibility, New Components
- The Specify 7 web interface has been re-styled and standardized across the application. The web interface now uses the font, font size, font weight, size, and colors specified in a new user Preferences page. 856, 1062, 814
- The web interface has been re-designed to be largely compliant with the web accessibility standard - WCAG 2.1 (AA). Accessibility design enables webapps to work for persons with disabilities, adds screen reader support, and enables Specify to be used in collections institutions mandated to use accessible software. More details .
- Specify 7 now respects interface preferences set in the browser and at the system level for date formats, interface theme (e.g. dark mode), and language.
- A new User Tools window and menu, accessed by clicking on the logged-in user name, provides quick access to several end-user functions including interface preference settings.
- A new interface Schema Configurator allows an institution to change captions on fields, add additional fields to data forms to accommodate unique information, or constrain values of fields to improve quality of keystroke data entry. 503
- A new database schema inspector enables users to review relationships between Specify data tables, field types, max field length, and if needed, and provides the ability to export the data model for external reference. The inspector is accessible by clicking on “Database Schema” in the user tools menu.
- Tree-viewer has been updated with a refined design, improved search capability and important accessibility-related improvements.
- Data forms now have the capability to clone the current record including all data, to create a new record, or to create a new blank record (“Add”) with no carry forward data (Minnesota Dragonfly). 556, 1731
- Data forms are now more stretchy and flexible when resizing.
- Dialog windows have consistent layout, icons, and headings throughout the application. 864
- The current page is indicated with a highlight in the top level navigation bar. 961
- Long titles for data forms no longer grotesquely widen dialog windows (SANBI). 703
- Inactive Add, Edit, and Search buttons at the bottom of data forms are now gray when disabled. 993
- Activation of a form’s Save button is evaluated with each keystroke to ensure saving is needed and valid. 1690
- Fields are now validated in real time. 581
- Calendar date fields are now formatted based on the browser settings unless otherwise specified. 830
- The visibility and order of collection names when logging in, can be configured in user preferences. 741
- Forms now hide data from users who do not have read access permission. 16
- A new paginator has been added, replacing the slider for form-embedded subforms. 1039
- XML in app resource files and form definitions are validated when editing and uploading. 499
Query Builder
- The redesigned Query Builder now has a "Mapper" for selecting fields and specifying filtering conditions. It works similarly to the Field Mapper for specifying Specify database fields to map to Dataset columns in the WorkBench (Kansas). 1142
- Pick list fields in the Query Builder now function as pick lists there, allowing the choice of one or more (using the “in” operator) values from the drop down list. 793, 604
- Saved queries can now be sorted by date and name. One can use the same ordering in Specify 6 and 7. 615, 502
- The Query Builder now defaults the filter criterion to “Any” for any row in a query that does not have an explicit filter value specified.
- Query results can now be viewed in data forms with the “Browse in Forms” button. All results are browsed by default, selecting some rows (checkbox) will browse only those records.
- The Query Builder now has the capability to include “OR” queries with multiple values specified within a query row for a single query field.
- Added the ability to return Loan Preparations from Query Builder. 1676
Record Set
- Existing database records (using the “+” symbol) can now be added to a Record Set using Search or the Query Builder. 840, 544, 546
- Records can be removed (using the “-” symbol) from a Record Set, while retaining them in the database. 840, 839
- Added the ability to navigate to the first, last, next, previous, or specified “nth” item in a Record Set. 840
- One can now query a Record Set and optionally create a new (subsetted) Record Set from it. 744
- Record Sets can now be created from results of queries on tree-structured data. 561
WorkBench
- WorkBench performance and record capacity have been improved. The WorkBench can efficiently upload Data Sets of millions of cells into a Specify database using a standard desktop workstation.
- Users can now customize pick list filtering behavior. 849
Other Forms and Workflow Improvements
- Added the capability to import and export queries between users, in addition to using URLs for sharing queries among accounts. 1220
- Agent for loanPreparationReturn is automatically assigned to be the logged-in Specify Agent (Edinburgh). 1151
- Added ability to add a Taxon field that displays a higher level taxon distinct from Taxon full name in Taxon form (Geneva). 659
- Added capability to add and edit metadata including file name for attachments (SANBI). 739, 610
- One can now format numeric fields to “x” decimal points in form definitions. 1207 330
- Form definition can now specify the default sort order for items in forms and in grid views, e.g. Collection Object ordering in Collecting Event form (CSIRO). 1213 1158
- Users can dynamically sort records in a subform grid by clicking on a column header (Ohio State). 1159
- “+ Add” button added to bottom of Query Combo Box (QCBX) options listing for adding new values. 1546
- Specify complains if a user-specified query string is too long to save in a query definition. 1326
- The tree rank combo box now defaults to the next enforced rank when creating a new tree record. 345
- In the grid view definition, you can set colSpan for cells. That colSpan now is respected when the grid is rendered. _801 _
- Pick lists can now be created, edited, and deleted. 158
- Specify 7 now supports default values for pick lists. 743
- Required fields formatted as pick lists now have a blue background, pick lists in optional fields have a white background. 991
- Information entered into a query combo box is carried over when creating a new record. 582
- Loan defaults can now be set in the form definition. 806
- Can change format of partial dates. 521
- Yes/no fields can now be set in forms to read-only. 475
Security
- Implemented a comprehensive Role-Based Access System that provides a mechanism for defining roles for each collection, with settable permissions to grant privileges to all data tables and components by role or by additional policies applied to a user account. Privileged users known as “Institution Administrators” (IA) and “Collection Administrators” (CA) are defined with super powers for user account creation and access permission management.
- Implemented support for single sign-on using external authentication with SAML2, and for identity providers that have OpenID endpoints. For system administrators this means improved database security and easier password management. For end users it provides the convenience of having fewer passwords to remember. 513, 353
- The minimum password length was extended to eight characters for local accounts. _909 _
- Added a “no restrictions" mode to the WorkBench mapper to handle rare cases where uploads require updates to the contents of a system table, e.g. when uploading a new Taxon tree. 1226
- Institution Administrators (IA) can set default user account preferences in App Resources. 1337
- User accounts must now be assigned to a Specify Agent record. 406
External-facing Bugs Fixed
- Collecting Event Authorizations now function properly. 1198
- Now, items can only be added to a Record Set once. 1657
- The Specify 6 attachment remote preferences are now respected. 1167
- Trees data displays now have the search box available at all times. 1052
- Query combo boxes (QCBX) now display “Add” if no records are found. 1008
- Inactive form buttons are now disabled. 993
- The current user can no longer delete their own account (Specicide). 914
- Pick lists now show the title of listed entries rather than their internal value. 831
- The “in” operator in queries no longer requires padded catalog numbers (e.g. “00001”) when using a numeric format catalog number. 560
- Users can no longer be associated with multiple Specify Agent records. 518
- Admin users can no longer assign their own Agent to another user. 448
- 'Division' field name and pick list items now appear correctly. 735
- The "Distinct" filter in queries now functions properly. 331
- Can create users with user types other than manager. 441
- [Numerous additional internal-facing bugs and design issues corrected.]