Arches 6.1.0 release notes ------------------------ ### Major enhancements - Add node name alias for human readable node identification, PR #8132 - Multiprocessing option for ES commands, PR #8004 - Update dev 6.1.x with custom primary descriptors, PR #8298 - Allow custom popups in map, PR #8428 - Cache user permissions for faster search and report loading for non-superusers, PR #8019 - Show map popup info for overlapping features, PR #8038 - Add image comparison slider for iiif viewer, PR #8017 - Add make online account creation optional, PR #8102 - Edtf datatype widget shows edtf value and validates edtf input, PR #8327 - Filter instances from search results when all nodegroups are restricted, PR #8466 ### Additional highlights - Increase advanced search facet click area, PR #8175 - Add graph icon to resource instance widget, PR #8305 - Allow card to override default map popup, PR #8390 - Add exact match to top of concept search list, PR #8378 - Load mask opacity removal for faster page loads, PR #8100 - Add task to async update custom indices, PR #8145 - Lazy load portions of knockout components for faster page loads, PR #8104 - Fix timeouts caused by inefficient timewheel range processing, PR #8304 - Call graph endpoint only when graph list needed, PR #8514 - Update search export zip file name, PR #8020 - Fix issue with node-value node mis-configuration, PR #8095 - Fix broken reference issue with resource instance select widget, PR #8093 - Fixes issue with default concept values not showing up in graph designer, PR #8129 - Filter hidden nodes in resource json endpoint, PR #8121 - Updates resource json endpoint to properly identify valid semantic nodes, PR #8150 - Fix GeoJSON Export when instance has no geometry, PR #8262 - Fix map layer manager scrolling, PR #8308 - Add a colon to a timezone to ensure elastic can index, PR #8329 - Fixe request object not being passed to tile save from nodevalue api causing unexpected function behaviour, PR #8472 - Fix hard coded permissions url, PR #8425 - Disable popup when creating geometry, PR #8465 ### Dependency changes: ``` Python: Upgraded: elasticsearch 7.0.0 -> 7.11.0 Added: filetype==1.0.13 defusedxml==0.7.1 Javascript: Upgraded: datatables.net: 1.10.12 -> 1.10.22 Added: none ``` ### Upgrading Arches 1. You must be upgraded to at least version 6.0 before proceeding. 2. Be sure to backup your database before proceeding 3. Upgrade to Arches 6.1.0 pip install --upgrade arches 4. Within your project with your Python 3 virtual environment activated: python manage.py migrate 5. **Important:** If you are maintaining an Arches package, be sure to export your graphs and resource instance data before re-importing or reloading your package. ### Upgrading an Arches project 1. Update your CACHES setting. In your project's settings.py file **add** the following CACHE to your CACHES setting. Be sure to do this in your settings_local.py file if that is where you have your CACHES setting: ``` "user_permission": { "BACKEND": "django.core.cache.backends.db.DatabaseCache", "LOCATION": "user_permission_cache", }, ``` You can, of course, modify the BACKEND to use the caching backend of your choice. 2. If you are using the DatabaseCache for "user_permission" cache BACKEND (default), run the following: ``` python manage.py createcachetable ``` 3. In 6.1 the order of the AUTHENTICATION_BACKENDS setting has changed slightly with the ['guardian.backends.ObjectPermissionBackend' moved to the end](https://github.com/archesproject/arches/blob/e412a4c44347df0cfee1c84de8bad2d88b6a45c3/arches/settings.py#L339). In the unlikely case that you have overridden this setting in your project's settings.py or settings_local.py file, then you'll need to update this setting to reflect this change. 4. Update your JavaScript dependencies Your project's package.json file looks something like this (Yours maybe different, but only `arches` and packages supporting project customizations will be listed in the dependencies): ``` { "name": "myproject", "dependencies": { "arches": "archesproject/arches#stable/6.0.1", } } ``` Change the arches version number from to `#stable/6.1.0`\ Then cd to your project's package.json file directory and run: `yarn install` **If your package.json does not have arches listed as a dependency**, follow the instructions of [step 1 here](https://github.com/archesproject/arches/blob/master/releases/5.1.0.md#upgrading-an-arches-project) to update your package.json file. Be sure to use #stable/6.1.0 as the version number for arches when you update your package.json file. Once your package.json file is updated, run: ```yarn install``` 5. Optionally add the following settings to your project (defaults will be used otherwise): ``` ENABLE_USER_SIGNUP = True # If True, allows for user self creation via the signup view. If False, users can only be created via the Django admin view. ``` ``` FORCE_USER_SIGNUP_EMAIL_AUTHENTICATION = True # If True, users must authenticate their account via email to complete the account creation process. ``` ``` FILE_TYPE_CHECKING = False # If True, only the file types listed in FILE_TYPES can be uploaded to Arches ``` ``` FILE_TYPES = ["bmp", "gif", "jpg", "jpeg", "pdf", "png", "psd", "rtf", "tif", "tiff", "xlsx", "csv", "zip"] # File types that can be uploaded to Arches if FILE_TYPE_CHECKING is True. ``` 6. If you are running Arches on Apache, be sure to run: ``` python manage.py collectstatic ``` and restart your server. ``` sudo service apache2 reload ``` 7. Finally, If you are running Celery, you should also restart your Celery worker(s). The process for doing this depends on how Celery is being run.