Ft.Datafangst.Tool
2.1.16
dotnet tool install --global Ft.Datafangst.Tool --version 2.1.16
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local Ft.Datafangst.Tool --version 2.1.16
#tool dotnet:?package=Ft.Datafangst.Tool&version=2.1.16
nuke :add-package Ft.Datafangst.Tool --version 2.1.16
FT-Tool 🔧
Er et CLI verktøy for med ulike kommadoer som gjør det lettere og mer effektivt å jobbe med Altinn repoer lokalt.
Installering
For å installere ft-tools
må man kjøre følgende:
dotnet tool install --global Ft.Datafangst.Tool
Denne laster ned ft-tools
globalt, som gjør at den vil være tilgjengelig i alle repoer du har.
Oppdateringer kommer relativt ofte så derfor er det anbefalt å kjøre
dotnet tool update --global Ft.Datafangst.Tool
for å få med seg siste versjon av tools.
Hvordan bruke FT-Tool
Noen av verktøyene under krever at du kjører cd .\App\
fra root før du kjører kommandoene.
Alle verktøy skal ha støtte for både v3 og v4 av frontend.
Snippets
Snippets brukes for å fylle inn kode fra predefinerte maler.
For å bruke snippets kan du enten konfigurere disse selv eller kjøre:
ft-tool snippets
Denne henter og legger til snippets (foreløpig kun for VSCode). Snippets som er brukt er definert her, og kan endres på lokalt dersom man ønsker.
Summary
For å få ferdigskrevet oppsummeringsside for appen din kan du kjøre:
ft-tool summary
Denne vil generere en Summary.json
med alle feltene som er i din layout-mappe. Den inkluderer ikke Alert
komponenter, men alle titler og paragrafer vil inkluderes.
Grid
Dersom man ønsker å stille komponentene på følgende måte med spørsmål og svarboks på samme linje kan man bruke grid
.
Ved å kjøre:
ft-tool grid
legges det på grid-styling med følgende konfigurasjon
{
"grid": {
"labelGrid": {
"sm": 5
},
"innerGrid": {
"sm": 7
}
}
}
i alle layout-filer for Input
- og Dropdown
-komponentene.
Nynorsk
For å oversette appen fra bokmål til nynorsk kan du kjøre:
ft-tool nynorsk
Dette vil generere en ny ressursfil, resource.nn.json
, som inneholder alle tekstressursene i resource.nb.json
oversatt til nynorsk.
Verktøyet benytter Apertium, et oversettingsprogram, til å oversette alt av tekster. Denne er ikke alltid perfekt, så det anbefales å dobbelsjekke resultatet fra oversettingen manuelt.
Dersom du trenger at en spesifik tekst ikke blir oversatt, opprett en fil som heter ignore.nn.json i samme mappe som språkfilene. Denne må inneholde en liste over de tekstene som ikke skal bli oversatt. Eksempel:
[
"1-2-Input.title",
"1-4-Input.title"
]
TekstRens
Dersom man ønsker å fjerne ubrukte tekstressurser fra språkfilene, kan man bruke tekstrens. Dette holder filen litt mer ryddig.
ft-tool tekstrens
NB: Tekstressurser som brukes i logikk-mappene vil også fjernes. Tekster som er lagt til programatisk, som f. eks i dynamiske uttrykk vil også fjernes. Men vi ser på støtte for dette.
Schema Injector
Alle layoutfiler følger et statisk $schema
som angir reglene for hvordan komponenter skal legges til, hva som er obligatorisk å ha med, riktig verdier å bruke for ulike parametere og liknende.
De som brukes per i dag, mangler derimot regler for feltet datamodelBindings
, nemlig fordi den er dynamisk og endres fra skjema til skjema. Ved å bruke:
ft-tool schemaInjector
vil det bli laget et midlertidig $schema
. Dette muliggjør IntelliSense/auto-complete for verdier i datamodelBindings
, som baserer seg på datamodellen sin struktur i model.cs
filen.
Dermed får man også advarsel dersom man bruker noe som ikke er tillatt i datamodelBindings.
NB: Skal kun brukes under utvikling. Når man er ferdig med utvikling må man kjøre
ft-tool schemaInjector --revert
for å tilbakestille til opprinnelig schema (fra Altinn CDN) og slette midlertidig schema-fil.
Text Resource Generator
Dersom man ønsker å ha flere filer til å ha tekstressursene i, så kan man bruke:
ft-tool textGenerator
Denne genererer en språkfil fra flere delfiler. Dette betyr at du kan jobbe med mindre filer og kombinere dem sammen med dette værktøyet.
Du trenger en ny mappe i text mappen med navn "nb". Pathen til denne blir da App/config/texts/nb
. Inne i denne kan du skrive så mange språkfiler som du vil så lenge de har strukturen til en standard språkfil.
dvs.
{
"resources": [
{
"id": "appName",
"value": "KRT-1116 Søknad om vedtektsendring for finansforetak og finansstiftelser"
}
]
}
Det er også mulig å legge på "kommentarer" ved å legge på ekstra json attributter for hver språk komponent.
{
"resources": [
{
"id": "1-Header.title",
"value": "**1. Generelle opplysninger**",
"comment": "here is a comment"
}
]
}
Man kan også sette "ignore" på språk komponentene som betyr at neste gang man kjører oversetteren vil de komponentene bli ignorert dersom det allerede finnes en oversatt versjon av komponenten på det oversatte språket.
{
"resources": [
{
"id": "1-Header.title",
"value": "**1. Generelle opplysninger**",
"ignore": ["nn"]
}
]
}
Validate
Validerer appen
ft-tool validate
Ikke støtte for ennå.
Lag nuget release
Nuget releaser er basert på git tags, og det er satt opp en workflow som bygger og pusher en ny release til nuget hver gang det kommer en ny tag til github. En ny tag kan enten lages med git lokalt og pushes opp til repo, eller man kan lage en ny release i github gui og i prosessen opprette en ny tag basert på master.
Nuget versjonsnummer hentes fra tag, så det er viktig at man bruker rett format. Tag navn skal starte med v
og fortsette med [major].[minor].[patch]
Typiske eksempler vil da være v1.0.2
og v1.23.3
.
For at workflow deploy skal virke må det være konfigurert en secret NUGET_API_KEY
som inneholder en api nøkkel til finanstilsynets nuget bruker.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
2.1.16 | 219 | 6/7/2024 |
2.1.15 | 132 | 5/28/2024 |
2.1.14 | 178 | 4/25/2024 |
2.1.13 | 144 | 4/24/2024 |
2.1.12 | 136 | 4/22/2024 |
2.1.11 | 108 | 4/22/2024 |
2.1.10 | 208 | 4/16/2024 |
2.1.9 | 227 | 4/15/2024 |
2.1.8 | 204 | 4/9/2024 |
2.1.7 | 204 | 4/2/2024 |
2.1.6 | 239 | 2/26/2024 |
2.1.5 | 182 | 2/1/2024 |
2.1.4 | 163 | 2/1/2024 |
2.1.3 | 235 | 1/16/2024 |
2.1.2 | 287 | 12/18/2023 |
2.1.1 | 242 | 12/12/2023 |
2.1.0 | 240 | 11/29/2023 |
2.0.6 | 266 | 11/22/2023 |
2.0.4 | 245 | 11/16/2023 |
2.0.3 | 217 | 11/15/2023 |
2.0.2 | 238 | 11/15/2023 |
2.0.1 | 217 | 11/14/2023 |
2.0.0 | 248 | 11/14/2023 |
1.3.5 | 263 | 10/31/2023 |
1.3.4 | 269 | 10/26/2023 |
1.3.3 | 374 | 10/12/2023 |
1.3.2 | 281 | 10/11/2023 |
1.3.1 | 284 | 9/12/2023 |
1.3.0 | 297 | 9/6/2023 |
1.2.0 | 296 | 9/4/2023 |
1.1.9 | 220 | 9/4/2023 |
1.1.8 | 260 | 9/4/2023 |
1.1.7 | 221 | 9/4/2023 |
1.1.6 | 201 | 9/4/2023 |
1.1.5 | 275 | 8/30/2023 |
1.1.4 | 270 | 8/30/2023 |
1.1.3 | 312 | 8/30/2023 |
1.1.2 | 266 | 8/30/2023 |
1.1.1 | 333 | 8/30/2023 |
1.1.0 | 215 | 5/12/2023 |
1.0.8 | 210 | 5/12/2023 |
1.0.7 | 273 | 4/4/2023 |
1.0.5 | 258 | 4/4/2023 |
1.0.4 | 281 | 4/3/2023 |