Tag: development

Async programming

The way our solution is built there is a large need for asynchrous functionality. It is important for the development teams to be aware of best practices as well as which antipatterns to avoid. Best Practices Async Antipatterns Keep an eye out for anti-patterns and help the team to maintain a high quality in our code base. Blocking on tasks with .Result When an asynchronous call is needed in a synchronous method, the implementation below is quite common. »

Automated test app

Rules Conditional rules Validation API connections Automated test app This is an app which should only be used to run automated tests against. It contains these components: Title Paragraph Input Textarea Checkbox Radio button Attachment Datepicker Address API Bring postnummer API Button All the components are connected to the datamodel. Rules In the input field with the label Kort svar komponent (dynamics) for automatisert testing, write a year there (i. »

Azure Dev Spaces

This page is a work-in-progress. Currently we don’t have azure dev spaces set up for tjeneste 3.0 Azure Dev Spaces Azure dev spaces is an offering from Azure for a rapid, iterative Kubernetes development experience for teams. AZDS gives the opportunity to iteratively run and debug containers directly in Azure Kubernetes Service (AKS) with minimal dev machine setup. You can read more about AZDS, setup and configuration for visualstudio or Visualstudiocode here. »

Azure DevOps

Pipelines Quality checklist and overview of pipelines in Azure DevOps We use Azure DevOps for building and deploying both our solution and the app owners applications. »

Best practices

Altinn.studio best practices will be updated with more and better practices ;) Best practices Simple lists should be sorted alphabetically »


Principles Altinn Studio uses trunk-based development This ensures the codebase is always releasable on demand and helps to make Continuous Delivery a reality. Code is checked in using short living feature branches naming standard for feature branches are feature/<issueNumber>-<description> , for instance: feature/1028-text-component naming standard for bug branches are bug/<issueNumber>-<description> , for instance: bug/877-performance-leak-ui-editor Trunk Based Development Read more about trunk based development here. »


Building of react apps in altinn.studio The building of react apps are done in dockerfiles which then again are used in the build of altinn-core docker-image. Apps are compiled and copied. Adding new packages to react-applications Adding of a new package in an app is done with lerna in the lerna-folder (/src/react-apps/). Command syntax for this will be: lerna add [package-name] --scope=[app-name] --exact If you are going to add react to a new app called Foo: »

Cheat Sheet

GIT git clone repourl git Docker docker ps to list all running docker containers. AKS kubectl get pods list all pods in current cluster kubectl -n default logs -f deployment/altinn-storage --all-containers=True - get logs for all components of the same deployment kubectl describe pod [pod name] describes current state and lists environment variables for a given pod kubectl delete pod [pod name] deletes a pod and a new pod of the same deployment will start »