Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • New Configuration for User Interface to support Runtime Configuration: In the User Interface, the "environment.*.ts" configuration files have been replaced with a new "config.*.yml" file.  A migration script is provided which can migrate your UI configurations from the old format to the new one. More information can be found in the User Interface Configuration docs.

    Code Block
    titleMigrate from environment.\*.ts to config.\*.yml
    yarn env:yaml [relative-path-to-environment.ts] [optional-relative-path-to-YAML]
    
    # For Exampleexample, tofrom migratethe an old environment.prod.ts file to the new config.prod.yml7.2 (or above) root directory, run this:
    # yarn env:yaml src/environmentsrelative/path/to/old/environment.prod.ts config/config.prod.yml


  • Submission Process now supports Item Embargoes / access restrictions. It is disabled by default, but can be easily enabled by uncommenting (or adding) the "itemAccessConditions" step in your item-submission.xml on the backend. See Submission User Interface and Embargo for more details.
  • Feedback Form now exists.  It is enabled by default in the UI's footer as long as you set a "feedback.recipient" in your local.cfg on the backend.
  • OpenID Connect (OIDC) Authentication Plugin now exists.  See the Authentication Plugins page for how to enable it.
  • Improved support for custom "Browse By" configurations.  If you had previously configured custom "Browse by" types in your UI configuration file, those settings can be removed. The "Browse by" types are now read dynamically from the REST API based on configured indexes. See User Interface Configuration for more details.

...

  1. If upgrading from 6.x or below, install the new User Interface per the Installing DSpace guide. The JSPUI and XMLUI are no longer supported and cannot work with the DSpace 7 backend. You will need to install the new (Angular.io) User Interface.
    1. JSPUI or XMLUI based themes cannot be migrated.  That said, since the new Angular UI also uses Bootstrap, you may be able to borrow some basic CSS from your old themes.  But any HTML-level changes will need to be reimplemented in the new UI.
  2. If upgrading from a prior version of 7.x, upgrading just requires installing the latest version of the User Interface code
    1. Download the latest dspace-angular release from the DSpace GitHub repository. You can choose to either download the zip or tar.gz file provided by GitHub, or you can use "git" to checkout the appropriate tag (e.g. dspace-7.2) or branch.
      1. If you've cloned or copied this code into your own GitHub or GitLab repository, you may wish to simply pull the latest tagged code into your codebase using Git. That will allow you to more easily address any "code conflicts" between your local changes and the new version of DSpace (if any are found).
    2. Install any updated local dependencies using Yarn in the "dspace-angular" source code directory:

      Code Block
      # change directory to our repo
      cd dspace-angular
       
      # install/update the local dependencies
      yarn install


    3. If upgrading to 7.2 or above, migrate your UI Configurations to YAML. In 7.2, the format of the UI configuration file changed from Typescript to YAML to support runtime configuration.  This means that the older ./src/environment/environment.*.ts configuration files have all been replaced by corresponding ./config/config.*.yml configuration files (e.g. environment.prod.ts → config.prod.yml).  You can either migrate your configurations manually, or use the provided "yarn env:yaml" migration script.

      Code Block
      titleMigrate from environment.\*.ts to config.\*.yml
      yarn env:yaml [relative-path-to-environment.ts] [optional-relative-path-to-YAML]
      
      # For example, tofrom migratethe an old environment.prod.ts file to the new config.prod.yml:7.2 (or above) root directory, run this
      yarn env:yaml src/environmentsrelative/path/to/old/environment.prod.ts config/config.prod.yml
      
      # NOTE: Ityou'sll alsohave possible to justpoint run7.2 theat scriptyour with one input, and copy the output YAML to where you want it
      # yarn env:yaml src/environments/old environment.prod.ts to run this script. 
      # Afterwards, the environment.prod.ts
      # (Then copy the output config.prod.yml overfile tocan your config/ folderbe deleted)

      For more information about the new configuration format, see the User Interface Configuration documentation.

    4. (Optional) Review Configuration changes to see if you wish to update any new configurations
      1. In 7.1, we added the ability to "extend" themes in the "themes" section. See the User Interface Configuration documentation for details.
      2. In 7.2, themes now support optional "headTags" which can be used to customize favicons per theme (see User Interface Customization).  Additionally, "browseBy > types" configurations were removed, as they are now dynamically retrieved from the REST API (see User Interface Configuration).
    5. Build the latest User Interface code for Production:

      Code Block
      yarn run build:prod


    6. Restart the User Interface.  
      1. If you are using PM2 as described in the Installing DSpace instructions, you'd stop it and then start it back up as follows

        Code Block
        pm2 stop dspace-angular.json
        pm2 start dspace-angular.json


      2. If you are using a different approach, you simply need to stop the running UI, and re-run:

        Code Block
        # First stop the running UI process by killing it (or similar)
        # Then restart the UI via this command:
        yarn run serve:ssr


    7. Verify the UI and REST API are both working properly.
      1. If you hit errors, see the "Troubleshooting Upgrade Issues" section below.  Additionally, check the "Common Installation Issues" section of the Installing DSpace documentation for other common misconfiguration or setup issues.

...