- TypeScript 53%
- HTML 34.8%
- CSS 5.4%
- JavaScript 3.6%
- Less 3.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| docs/imgs | ||
| src | ||
| .browserslistrc | ||
| .editorconfig | ||
| .eslintrc.js | ||
| .gitignore | ||
| angular.json | ||
| karma.conf.js | ||
| karma.github.conf.js | ||
| karma.teamcity.conf.js | ||
| LICENSE.TXT | ||
| package-lock.json | ||
| package.json | ||
| protractor.conf.js | ||
| README.md | ||
| tsconfig.json | ||
| tslint-to-eslint-config.log | ||
| tslint.json | ||
Deprecated
This repository is archived, because the code has moved to the main repo under https://github.com/SwissFederalArchives/cmi-viaduc
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.
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)
- Components that are directly accessed by routing (1st level route) (
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-clinpm uninstall @angular/clinpm 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-managementinto the same root directory (e.g. C:\Viaduc) - Change to the
cmi-viaduc-web-coredirectory with a command line- Execute:
npm ito install the dependencies - Run:
npm run buildto build the library
- Execute:
Install
- Change to the directory
cmi-viaduc-web-managementwith a command line tool- Run:
npm run linkto linkcmi-viaduc-web-coreas component - Run:
npm ito install the dependencies - Run:
npm run buildbuild the project into adistfolder insidecmi-viaduc-web-management.
- Run:
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 buildand start ASP.NET (CMI.Viaduc.Web.Management)
- Build using
- Variant b.)
- Start running build (file watch) using
npm run startand ASP.NET (CMI.Viaduc.Web.Management)
- Start running build (file watch) using
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 bundesarchiv@bar.admin.ch.
- Technical questions or problems concerning the source code can be posted here on GitHub via the "Issues" interface.