Skip to content

The present repository is an Angular application designed for internal management.

License

Notifications You must be signed in to change notification settings

SwissFederalArchives/cmi-viaduc-web-management

Repository files navigation

cmi-viaduc-web-management

Context

The Viaduc project includes 4 code repositories. The present repository cmi-viaduc-web-management is an Angular application designed for internal management. Together with the public access application (cmi-viaduc-web-frontend) it uses a common code library (cmi-viaduc-web-core). The frontend applications are hosted in an ASP.NET container (see backend repository cmi-viaduc-backend) and communicate with the system via a web API. With the release 2.0.0.1113, two new repositories were added to provide the system with IIIF viewer capabilities. There is the actual IIIF-Viewer (cmi-iiif-frontend) and the required backend (cmi-iiif-backend) that adds the required IIIF services like search.

The Big-Picture

Note: A general description of the repositories can be found in the repository cmi-viaduc.

Architecture and components

This is an Angular CLI application. The files generated by the build process are stored in the client folder within the CMI.Viaduc.Web.Management WebAPI project.

The application contains the management GUI for Viaduc.

Modules

  • app
    • Components that are directly accessed by routing (1st level route) (pages)
  • administration
    • Components and pages for the administration of the system, e.g. parameter administration, monitoring page, etc.
  • authorizeAccess
    • components and pages for the administration of delivery offices and tokens
  • ordermanagement
    • Components and pages for the administration of the order process
  • userAndRoles
    • Components and pages for managing users and their roles
  • client
    • Remaining components and services used within the pages, e.g. for search, ordering, navigation, etc.
  • shared
    • Components used in multiple modules

Installation

Preparations

  • Node.js download, LTS version
  • Make sure that old angular/cli versions are uninstalled
    • npm uninstall angular-cli
    • npm uninstall @angular/cli
    • npm cache clean --force
  • Install Angular CLI
    • npm install -g @angular/cli
  • Clone repository cmi-viaduc-web-core to a directory (e.g. C:\Viaduc)
  • Clone repository cmi-viaduc-web-management into the same root directory (e.g. C:\Viaduc)
  • Change to the cmi-viaduc-web-core directory with a command line
    • Execute: npm i to install the dependencies
    • Run: npm run build to build the library

Install

  • Change to the directory cmi-viaduc-web-management with a command line tool
    • Run: npm run link to link cmi-viaduc-web-core as component
    • Run: npm i to install the dependencies
    • Run: npm run build build the project into a dist folder inside cmi-viaduc-web-management.

Customization

General

  • Pay attention to TSLint
  • Move business logic into services

Run tests

  • Run tests once ng test --watch=false
  • Run tests as watcher ng test

Execute

  • Variant a.)
    • Build using npm run build and start ASP.NET (CMI.Viaduc.Web.Management)
  • Variant b.)
    • Start running build (file watch) using npm run start and ASP.NET (CMI.Viaduc.Web.Management)

Authors

License

GNU Affero General Public License (AGPLv3), see LICENSE

Contribute

This repository is a copy which is updated regularly - therefore contributions via pull requests are not possible. However, independent copies (forks) are possible under consideration of the AGPLV3 license.

Contact

  • For general questions (and technical support), please contact the Swiss Federal Archives by e-mail at [email protected].
  • Technical questions or problems concerning the source code can be posted here on GitHub via the "Issues" interface.