Skip to content

Latest commit

 

History

History
156 lines (124 loc) · 6.09 KB

6.2.0.md

File metadata and controls

156 lines (124 loc) · 6.09 KB

Arches 6.2.0 release notes

Major enhancements

  • Upgrade Django from 2.2 to 3.2.14 as well as several other Python dependencies #8140
  • Allow creation of related resources in resource instance widget configured with search query #8588
  • Track resource index status in the database to index resources after direct database import #8436
  • Save resource instance descriptors to database rather than only in ES index #8436
  • Update several JavaScript dependencies #8631
  • Removes django-revproxy and adds arches-django-revproxy workaround #8941
  • Allow graph editors to modify node alias #8622
  • Improve load performance for resources with many relations #8619
  • Notify when json-ld loader fails to load, adds ignore-errors flag #8666

Additional Highlights

  • Update resource-instance widget to allow for instance creation #8049
  • Prevent error cause by missing module: 'django.contrib.postgres' #8141
  • Notify when import using celery is done #8503
  • During resource import, change print statements to logger statements #8558
  • Fix bug in Column Names in first row switch in CSV importer #8562
  • Add confirmation dialog to undo button in ETL Manager #8579
  • Fix various UI bugs in Workflows / ETL Manager #8589
  • Task Manager notifies user if Celery is unavailable #8587
  • Minor updates to Image Service Manager UI #8595 #8946
  • Adds check for celery load failure in ETL manager for both branch_csv and single_csv #8615
  • Moves some concept and domain-specific logic from csvfile.py into respective datatype methods #8616
  • Remove cache.py management command #8617
  • Add visual cue to indicate that the application is in DEBUG mode #8637
  • In the Graph model, add check for ontology_id rather than performing a database query #8672
  • Improve error messaging around the excess tiles trigger #8690
  • Add support for AJAX calls within datatables #8738
  • Add reference to new and old values in bulk_index_queue insert references #8771
  • Fix AJAX dataType setting in datatypes.js and concept.js #8805
  • Update edit log to handle resources with tiles nested 2 levels or deeper #8880
  • Improves how csv import handles invalid datatype values #8957
  • Use settings.MEDIA_URL for generated URL when uploading media #8961
  • During the resource instance datatype validation, warn admin that related resource exists in db only when strict is used #8971
  • On graph import, do not overwrite alias if it already exists #8984
  • Adds all params to JavaScript card model #9003
  • Update related resource pagination for resources with many relations #9011

Dependency changes:

Python:
    Upgraded:
        Django 2.2.24 -> 3.2.15
        celery 4.4.4  -> 5.2.7
        django-celery-results 1.2.1 -> 2.4.0
        django-compressor 2.2 -> 3.1
        django-libsass 0.7 -> 0.9

    Added:
        arches-django-revproxy==0.10.0
    
    Removed:
        django-revproxy==0.9.15

Javascript:
    Upgraded:
        bootstrap 3.3.7 -> 3.4.1
        bootstrap-colorpicker 2.3.6 -> 2.5.3
        codemirror 5.24.0 -> 5.65.6
        datatables.net 1.10.22 -> 1.12.1
        datatables.net-bs 1.10.12 -> 1.12.1
        datatables.net-buttons 1.5.4 -> 2.2.3
        datatables.net-buttons-bs 1.5.4 -> 2.2.3
        datatables.net-responsive 2.1.0 -> 2.3.0
        datatables.net-responsive-bs 2.1.0 -> 2.3.0
        jquery 3.3.1 -> 3.6.0
        jquery-migrate 3.0.0 -> 3.4.0
        jquery-validation 1.17.0 -> 1.19.5
        moment 2.10.5 -> 2.29.4
        moment-timezone 0.5.0 -> 0.5.34
        underscore 1.9.1 -> 1.13.4

    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. Remove django-revproxy pip uninstall django-revproxy

  4. Upgrade to Arches 6.2.0

     pip install --upgrade arches
    
  5. Within your project with your Python 3 virtual environment activated:

     python manage.py migrate
    
  6. 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 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.1.0",
        }
    }
    

    Change the arches version number to #stable/6.2.0

    If your package.json does not have arches listed as a dependency, follow the instructions of step 1 here to update your package.json file. Be sure to use #stable/6.2.0 as the version number for arches when you update your package.json file.

    Once your package.json file is updated, navigate to the directory where package.json is located and run: yarn install

  2. Ensure any references to staticfiles inside your project templates are changed to static

    • eg. {% load staticfiles %} -> {% load static %}
  3. Ensure the item in LANGUAGES that matches LANGUAGE_CODE is enabled in your project's settings.py

    LANGUAGE_CODE = "en"
    
    LANGUAGES = [
    #   ('de', _('German')),
        ('en', _('English')),
    #   ('en-gb', _('British English')),
    #   ('es', _('Spanish')),
    ]
    
  4. If you are running Celery with supervisord, you may need to update your celeryd.conf file. The location of this file is dependent on your system:

# 6.1.0

command=/path/to/virtualenv/bin/celery worker -A [app].celery --loglevel=INFO
# 6.2.0

command=/path/to/virtualenv/bin/celery -A [app].celery worker  --loglevel=INFO
  1. If you are running Arches on Apache, be sure to run:

    python manage.py collectstatic
    

    and restart your server.

    sudo service apache2 reload
    
  2. 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.