Arches 5.1.1 release notes
------------------------


### Major enhancements
- Adds absence data searches in advanced search
- Allows JSON-LD to import geojson FeatureCollections
- Fixes the related resource info button
- Fixes UI issues with the resource instance node config panel
- Defers ES indexing after resource instance load
- Adds EDTF formatting help in the ETDF widget
- Fixes issues with values not loading properly in the concept widget
- Adds a crosshair cursor to the map widget's drawing tools
- Fixes the search export email file link
- Configures notification emails to use project name instead of 'Arches'
- Fixes false dirty state in number widget
- Applies card constraint check to provisional tile data
- Fixes image report header when images tiles are created in csv import
- Fixes missing file records following json import of file-list datatype
- Adds an API endpoint to receive resource instance data with labels rather than UUIDS

  
### Additional highlights

- Improve Celery running check, 4d7213463
- Enforce 10 character limit to shapefile names, d151f80fc
- Fix the related resource info button, 164ecec09
- Add sample data loading, 3dd754763
- Related Resources report now references instances of self resource model, 7ea7263ff
- Allow JSON-LD to import geo-json featurecollections by serializing the JSON as a string, 1be6ab6c5
- Fix hard coded image files, 8aa5836ad
- Fix i18n errors in collector designer view, 62f2f0ce8
- Revert default resource api return to json-ld, beb8880be
- Defer index on package load, 4cb2f50df
- Remove settings local error messages, 2c116e822
- Hide the empty cards in the tabbed report, 0c1ae3a78
- Show resource instance name in reports, e1a2f031b
- Add config to disable string and number widgets, c99e96c3a
- Fix indexing of related resources displayname bug, 27407a126
- Fix resource instance config panel in the graph designer, 5241f4e17
- Fix for the related resource ontology selector ui, fdf2d05f5
- Remove small, unused button in the file widget, 86576b5ce
- Fix create new resource model in editor, 8432ed4f2
- Related resource map improvements, 17257412e
- Don't show card summary if card does not yet have data, 2de5b334a
- Add EDTF format panel, b71f356d7
- Add better feedback during data indexing operations, seperate indexing of resources from custom indexes, e6c9b0e4f
- Add a command paramter to hide status bar output during indexing operations, cba37203d
- Fix issue with values not getting loaded in the concept dropdown, b2e8aaed7
- Add crosshairs to the map widget draw tools, 5612c3435
- Fixes to correct export email link, a2585b016
- Files changed for app specific email config, 14dfaf13d
- Fixes width of radio and checkbox widgets, d06db5ea8
- Fix bug with nodes not getting mappings in es, de7013c3d
- 6923 tile delete indexing, e76f58325
- 6772 search for null, da1c8b5e6
- Optimize LabelBasedGraph to minimize DB calls through caching, 9b84ef54d
- Fixes false dirty state in number widget, 7f4f13598
- Update checkbox radio widget width, 875e908b7
- Prevents error when collection geometries during search export, e420ace2a
- Alignment of null values, 266dbb550
- Create file record if a tile has file id but no file record created, 8d7d823b9
- Update display value for edtf in search result, faa741900



### Dependency changes:
```
Python:
    Upgraded:
        SPARQLWrapper 1.8.4 > 1.8.5
        django-recaptcha 2.0.5 > 2.0.6
        pyshp 2.1.0 > 2.1.2
```


### Upgrading Arches

1. You must be upgraded to at least version 5.1.0 before proceeding.

2. Upgrade to Arches 5.1.1

        pip install --upgrade arches

3. Within your project with your Python 3 virtual environment activated:

        python manage.py migrate


### Upgrading an Arches project

- If you are not using Celery then you can improve Arches performance by changing the following setting to and empty string:
        
        CELERY_BROKER_URL = ""

- If you have to import a large number of resources and **are confident your data does not need cardinality, unique value, or required value validation**, you can add the following settings to your project's settings.py or settings_local.py file and change the value to `True`.
  - Cardinality tile validation confirms that a card with a cardinality of 1 has no more than 1 tile. 
  - Unique constraint validation confirms that unique tile value constraints are enforced on load.
  - Required value tile validataion confirms that all required nodes have data on save of the tile.
  
        BYPASS_CARDINALITY_TILE_VALIDATION = False
        BYPASS_UNIQUE_CONSTRAINT_TILE_VALIDATION = False
        BYPASS_REQUIRED_VALUE_TILE_VALIDATION = False

  - Cardinality validataion was not enforced in version 5.1.0, so if you get a cardinality validataion error when loading data, you may need to set `BYPASS_CARDINALITY_TILE_VALIDATION` to `True` until you can identify the extra tile(s) or change the cardinality of your card to allow for multiple tiles. 

- If your users get email notifications from Arches, you can now define the sender's email address by adding the following setting to your settings.py or settings_local.py file:
        
        DEFAULT_FROM_EMAIL = xxxx@xxxx.com



### Important

- To return JSON-LD from the resources api endpoint, you'll now need to use `json-ld` for the format parameter:  `/resources/[resourceid]?format=json-ld` 

- A Celery worker is required to sync Collector projects. This has been a requirement since 5.1.0, but deserves mention for anyone planning on upgrading from 5.0 or earlier version. 
