diff --git a/releases/2.0.0.md b/releases/2.0.0.md new file mode 100644 index 000000000..017ab2cb8 --- /dev/null +++ b/releases/2.0.0.md @@ -0,0 +1,139 @@ +## Arches for Science 2.0.0 Release Notes + + +### Bug Fixes and Enhancements + +- Upgrades Arches for Science to work with the latest Arches 7.6.x release #[1570](https://github.com/archesproject/arches-for-science/pull/1570) + +### Dependency changes: + +``` +Python: + Upgraded: + None +JavaScript: + Upgraded: + none +``` + +## Installation + +If you are installing Arches for Science for the first time, you can install it as an Arches application into a project or run it directly as an Arches project. Running Arches for Science as a project can provide some convienience if you are a developer contributing to the Arches for Science project. Otherwise, **we strongly recommend running Arches for Science as an Arches Application** within a project because that will allow greater flexibility in customizing your project without the risk of conflicts when upgrading to the next version of Arches for Science. + + +### If installing for development +Clone the arches-for-science repo and checkout the latest `dev/x.x.x` branch. +Navigate to the `arches-for-science` directory from your terminal and run: + ``` +pip install -e . + ``` + +### If installing for deployment, run: +``` +pip install arches-for-science +``` + +`Important`: Installing the arches-for-science app will install Arches as a dependency. This may replace your current install of Arches with a version from PyPi. If you've installed Arches for development using the `--editable` flag, you'll need to re pip install arches after installing arches-for-science + +## 2. Project Configuration + +1. If you don't already have an Arches project, you'll need to create one by following the instructions in the Arches [documentation](http://archesproject.org/documentation/). +Since Arches for Science uses `Cantaloupe` as its IIIF server, take notice of the +Cantaloupe [installation instructions](https://arches.readthedocs.io/en/stable/developing/advanced/managing-and-hosting-iiif/), too. + +2. When your project is ready add "arches_templating", "arches_for_science", and "pgtrigger" to INSTALLED_APPS **below** the name of your project: +``` +INSTALLED_APPS = ( + ... + "my_project_name", + "arches_templating", + "arches_for_science", + "pgtrigger", +) +``` + +Below the `INSTALLED_APPS` setting add the following setting: +``` +INSTALLED_APPS += ("arches.app",) +``` + +Also add the following lines to settings.py. (Note: ``arches-project create`` +before Arches 6.2.6 or 7.5.0 did not create ``RENDERERS``, so you may need to +[add it first](https://github.com/archesproject/arches/pull/10171/files) +before extending it as shown below): +``` +FUNCTION_LOCATIONS.append("arches_for_science.pkg.extensions.functions") + +TEMPLATES[0]["OPTIONS"]["context_processors"].append("arches_for_science.utils.context_processors.project_settings") + +RENDERERS += [ + { + "name": "xy-reader", + "title": "XY Data File Reader", + "description": "Use for all instrument outputs with x-y data", + "id": "e93b7b27-40d8-4141-996e-e59ff08742f3", + "iconclass": "fa fa-bolt", + "component": "views/components/cards/file-renderers/xy-reader", + "ext": "txt", + "type": "text/plain", + "exclude": "", + }, +] + +XY_TEXT_FILE_FORMATS = ["txt"] + +X_FRAME_OPTIONS = "SAMEORIGIN" +``` + +Next ensure arches and arches_for_science are included as dependencies in package.json +``` +"dependencies": { + "arches": "archesproject/arches#dev/7.6.x", + "arches_for_science": "archesproject/arches-for-science#dev/2.0.x" +} +``` + +Update urls.py to include the arches-for-science urls +``` +urlpatterns = [ + path("", include("arches.urls")), + path("", include("arches_for_science.urls")), + path("reports/", include("arches_templating.urls")), +] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) +``` + +Install the arches application package (models and other data) +``` +python manage.py packages -o load_package -a arches_for_science -dev -y +``` + +Start your project +``` +python manage.py runserver +``` + +Next cd into your project's app directory (the one with package.json e.g. `$PROJECT_NAME/$PROJECT_NAME/`) install and build front-end dependencies: +``` +npm install +npm run build_development +``` + + + + + +### Upgrading Arches for Science + +If you are running Arches for Science as a project (upgrading from a version prior to AfS v1.1.0), you will need to follow the project upgrade instructions for Arches 7.6.0. + +If you are running Arches for Science as an Arches application (using AfS v1.1.0) you will need to do the following: + +2. Upgrade to Arches 7.6.3 + ``` + pip install --upgrade arches==7.6.3 + ``` + +3. If you are running Arches on Apache, restart your server: + ``` + sudo service apache2 reload + ```