Skip to content
Next generation Altinn applications.
C# TypeScript JavaScript HTML CSS Dockerfile Other
Branch: master
Clone or download
Thomaskvern and acn-sbuad Feature/2762 altinncore upgrade 3.0 (#2828)
* Initial commit for .net core 3.0 upgrade

* Upgraded Altinn Core projects to 3.0

* Updated template files with netcore 3.0, updated service library with latest storage interface package, updated libgit2sharp with latest stable package

* Included framework reference for sdk projects

* updated runtime container in dockerfile for app

* Fixed compliuation. Disabled swagger

* possible to deploy app with runtime

* Fix for createnewservice, aboutservice

* Property fix for searchresult

* Fix for routing, swagger, assembly path null exception

* merge

* Updated package reference versions to which support .NETStandard 2.0 and higher. Removed obsolete package references for .NET Core 3.0.

* Using sdk to build final runtime image

* Fixes routing issue in runtime and designer

* Fixes compilation errors and routing errors

* Fixes swagger problems, and removes commented out package references

* Activates swagger comments

* using storage.interface 1.2.7

* using service.library v 11.0.1

* fixed downgrade error

* Added namespace for anyattribute
Latest commit d36e94d Oct 21, 2019

README.md

Altinn Studio

Altinn Studio build status Altinn Apps build status

An early test version of Altinn Studio is available at https://altinn.studio.

Use the documentation to get started using Altinn Studio.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

  1. .NET Core 3.0 SDK
  2. Node.js (Version 10.*)
  3. Newest Git
  4. A code editor - we like Visual Studio Code
  5. Docker CE
  6. Add localhost altinn3.no and 127.0.0.1 altinn3.no in the hosts file (C:/Windows/System32/drivers/etc/hosts)
    On MacOS: Add localhost altinn3.no and 127.0.0.1 altinn3.no to /private/etc/hosts.
    sudo nano /private/etc/hosts
  7. Make sure your C drive is shared with docker, Docker Settings -> Shared Drives
    On MacOS: Change docker-compose.yml (both)
      volumes:
        - "C:/AltinnCore/Repos:/AltinnCore/Repos"
    to:
      volumes:
        - "/Users/<yourname>/AltinnCore/Repos:/AltinnCore/Repos"
  8. World Wide Web Publishing Service must be disabled, Services -> "World Wide Web Publishing Service" rigth click and choose "stop"

Installing

Clone Altinn Studio repo and navigate to the folder.

git clone https://github.com/Altinn/altinn-studio
cd altinn-studio

Run all parts of the solution in containers (Make sure docker is running)

docker-compose up -d --build

The solution is now available locally at altinn3.no

If you make changes and want to rebuild a specific project using docker-compose this can be done using

docker-compose up -d --build <container>

Example

docker-compose up -d --build altinn_designer

Running Designer and/or Runtime component locally

The Designer and Runtime components can be run locally when developing/debugging. The rest of the solution (Repository and LoadBalancer) will still have to be running in containers. Follow the install steps above if this has not already been done.

Designer

Stop the container running Designer

docker stop altinn-designer

Navigate to the Designer folder. The first time running, or after any package changes, get the latest packages.

cd src/AltinnCore/Designer
npm ci
npm run gulp-install-deps

Build and run the code.

dotnet build
npm run gulp # first time only
npm run gulp-develop

If you are not going to edit the designer react app you can use

cd src\AltinnCore\Designer
npm ci
npm run gulp
dotnet run

Which will build the Designer .net backend and the designer react app, but not listen to changes to the react app.

Runtime

Stop the container running Runtime.

docker stop altinn-runtime

Navigate to the Runtime folder. Build and run the code.

Important: First you must have executed the Designer commands in order to successfully execute both the following command sequences on the Runtime component.

cd src/AltinnCore/Runtime
npm ci
npm run gulp # first time only
npm run gulp-develop

If you are not going to edit the runtime react app you can use

cd src/AltinnCore/Runtime
npm ci
npm run gulp
dotnet run

Which will build the runtime .net backend and runtime react app, but not listen for changes to our react app.

Building other react apps

If you need to rebuild other react apps, for instance Dashboard or ServiceDevelopment, this can be done by navigating to their respective folders, example src/react-apps/applications/dashboard and then run the following build script

npm run build

Some of the react projects also have various other predefined npm tasks, which can be viewed in the package.json file which is located in the root folder of each react project, example src/react-apps/applications/dashboard/package.json

Platform Receipt

The platform receipt component can run locally, both in docker and manually.

Manual

  • Open a terminal in src/Altinn.Platform/Altinn.Platform.Receipt
  • run npm install
  • run npm run gulp (if running for the first time, otherwise this can be skipped)
  • run npm run gulp-install-deps
  • run npm run gulp-develop

This will build and run receipt back end, and build and copy the receipt frontend to the wwwroot folder. The application should now be available at localhost:5060/receipt/{instanceOwnerId}/{instanceId} The script wil also listen to changes in the receipt react app, rebuild and copy the new react app to the wwwroot folder.

Docker

  • Open a terminal in src/Altinn.Platform/Altinn.Platform.Receipt
  • run docker compose up
  • The application should now be available at localhost:5060/receipt/{instanceOwnerId}/{instanceId}

Running the tests

End to end tests

Automated end to end tests are currently being developed.

Coding style tests

Coding style tests are available for the React front end application, using tslint.

Navigate to the React front end application and run linting.

cd src/react-apps/applications/ux-editor
npm run lint

Deployment

The current build is deployed in Kubernetes on Azure.

Automated build/deploy process is being developed.

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the 3-Clause BSD License - see the LICENSE.md file for details.

You can’t perform that action at this time.