Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • rette versions-nummeret i packages.json
  • køre npm install
  • kopiere trunk til tags-mappen, fx
    svn cp -m "<fantastisk commit-kommentar>" https://svn.nspop.dk/svn/components/nap/nap-administration/trunk https://svn.nspop.dk/svn/components/nap/nap-administration/tags/release-1.0.0rc8

nap-

...

Indeholder et angular projekt, der har til formål at vise og håndtere alle tilgængelig projekter.

Projektet bruger standard strukturen for et Angular projekt, dvs. alt koden ligger inde i src/ mappen.

Nap-admin-web gør brug af nap-administration backenden, til at vise projekterne. 

Funktionalitet

Projektet har to faner, hhv "Projekter" og "Hjælp".

Projekter viser alle projekter. Hvert projekt har titel, samt et versions nummer. Hvert projekt kan foldes ud ved at trykke på "mere", som så viser den tilknyttet web-app. Web-app'en viser titel, beskrivelse, version, udgivelses dato, url den ligger på, samt hvilke versioner af event kataloget den understøtter. 

Hjælp giver et link til at oprette en support sag. 

Udviklingsmiljø

Installer afhængigheder

Installer dependencies ved at køre "npm install --registry https://nexus.nspop.dk/nexus/repository/nsp-npm/"

Udviklingserver

For at starte en web pack dev server i docker køres "docker-compose build && docker-compose up" fra compose/development mappen.

Applikationen kan derefter bruges på http://localhost:8080/nap/admin/web/, hvis nap-compose reverse proxy er opsat som beskrevet i 1.3.1 - Udvikling , ellers på http://Localhost:4500.

nap-admin-web bruger nap-administration som backend til at vise projekterne. nap-administration skal derfor startes som beskrevet i 5 - nap-administration.

Hvis man ikke vil gøre brug af rigtige data, kan den "mockes" væk, således der vises dummy projekter. Dette kunne være for at se, hvordan det vil se ud hvis der var mange projekter tilføjet. Dette kan gøres ved at køre "npm run start:mock" hvis det køres lokalt, ellers kan der i compose/development ændres i docker-compose.yml "Command" parameter, hvor der tilføjes "--configuration=mock"

CI

Jenkins filen beskriver jenkins pipelinen.

Der kan laves snapshots og release-candidates fra jenkins.

Byg

Kør "npm run build" for at bygge projektet. Dette giver et output i dist/ folderen. Brug "npm run build-prod" for et produktionsbyg.

Linting

Kør "npm run lint" for linting, output kommer i konsollen. 

Test

Kør "npm run test" for at afvikle unit tests - output vil ligge I coverage/ mappen. 

Dokumentation

For at generere dokumentation til koden, kør "npm run doc". Dokumentation ligger i docs/ mappen.

nap-lobby-web

Indeholder et angular projekt, der har til formål at vise projekter som det givne LPS system har rettigheder til. Projektet bruger standard strukturen for et Angular projekt, dvs. alt koden ligger inde i src/ mappen. 

Nap-lobby-web gør brug af nap-administration backenden, til at hente de projekter der er til rådighed.

Funktionalitet

Projektet har to faner, hhv "Projekter" og "hjælp". 

...

Hjælp beskriver hvad applikation omhandler, samt et link til at oprette en support sag. 

Udviklingsmiljø

Installer afhængigheder

Installer dependencies ved at køre "npm install --registry https://nexus.nspop.dk/nexus/repository/nsp-npm/"

Udviklingserver

For at starte en web pack dev server i docker køres "docker-compose build && docker-compose up" fra compose/development mappen.

...

Hvis man ikke vil gøre brug af rigtige data, kan den "mockes" væk, således der vises dummy projekter. Dette kunne være for at se, hvordan det vil se ud hvis der var mange projekter tilføjet. Dette kan gøres ved at køre "npm run start:mock" hvis det køres lokalt, ellers kan der i compose/development ændres i docker-compose.yml "Command" parameter, hvor der tilføjes "--configuration=mock"

CI

Jenkins filen beskriver jenkins pipelinen.

Der kan laves snapshots og release-candidates fra jenkins.

Byg

Kør "npm run build" for at bygge projektet. Dette giver et output i dist/ folderen. Brug "npm run build-prod" for et produktionsbyg.

Linting

Kør "npm run lint" for linting, output kommer i konsollen

Test

Kør "npm run test" for at afvikle unit tests - output vil ligge I coverage/ mappen. 

Dokumentation

For at generere dokumentation til koden, kør "npm run doc". Dokumentation ligger i docs/ mappen.

...

Indeholder et angular projekt, der har til formål at være test-platform for værtssystemsudvikler.

Funktionalitet

Projektet har til hensigt at teste der kan sendes og modtages beskender igennem NAP sdk'erne.

Der er separate tests cases, som kan køres enkeltvis eller samlet.  

Udviklingsmiljø

Installer afhængigheder

Installer dependencies ved at køre "npm install --registry https://nexus.nspop.dk/nexus/repository/nsp-npm/"

Udviklingserver

For at starte en web pack dev server i docker køres "docker-compose build && docker-compose up" fra compose/development mappen.

Applikationen kan nu nåes  http://localhost:8080/nap/test/web/, hvis nap-compose reverse proxy er opsat som beskrevet tidligere, ellers på http://Localhost:4500.

CI

Jenkins filen beskriver jenkins pipelinen.

Der kan laves snapshots og release-candidates fra jenkins.

Byg

Kør "npm run build" for at bygge projektet. Dette giver et output i dist/ folderen. Brug "npm run build-prod" for et produktionsbyg.

Linting

Kør "npm run lint" for linting.

Dokumentation

For at generere dokumentation til koden, kør "npm run doc". Dokumentation ligger i docs/ mappen.

...

nap-administration fungerer som den administrative service for NAP projekter og webapplikationer. 

Funktionalitet

nap-administration indeholder 2 REST services for projekter og webapplikationer og håndterer de enkelte vært-/ LPSsystemers projektrettigheder. 

Udviklingsmiljø

Installer afhængigheder

Installer dependencies ved at "mvn install". 

Udviklingserver

For at starte en wildfly server til udvikling køres "docker-compose build && docker-compose up" fra compose/development mappen.

Applikationen kan nu nåes internt i docker på netværket nap_net på  http://napadmin:8080/, og  http://localhost:8080/nap/admin/services/main,  hvis nap-compose reverse proxy er opsat som i 1.3.1 - Udvikling.

CI

Jenkins filen beskriver jenkins pipelinen.

Der kan laves snapshots og release-candidates fra jenkins.

Test

JUnit anvendes til implementering af unit tests. Der er løbende gennemført unit tests på alle komponenter i projektet.
Unit tests kan afvikles ved at køre: `mvn test` og Coverage rapport generes med maven-surefire og publiceres med jacoco.

Dokumentation

For at generere dokumentation til koden, kør "npm run doc". Dokumentation ligger i docs/ mappen.

...

De følgende konfigurationsfiler skal således volume mappes ind i modulet "dk/sds/nsp/nap/admin/main/" på applikations serveren (/pack/wildfly8/modules/ i docker).

Konfigurationsfiler
FilnavnIndhold
nap-admin-compose-ds.xml

Datasource beskrivelse.

<datasources xmlns="http://www.jboss.org/ironjacamar/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.org/ironjacamar/schema https://docs.jboss.org/ironjacamar/schema/ironjacamar_1_0.xsd">
<datasource jndi-name="java:jboss/datasources/admin" pool-name="MariaDBDS">
<connection-url>jdbc:mysql://napadmindb:3306/administration?autoReconnect=true</connection-url>
<driver>mysql</driver>
<pool>
<max-pool-size>30</max-pool-size>
<min-pool-size>5</min-pool-size>
</pool>
<security>
<user-name>root</user-name>
<password>pw</password>
</security>
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>10000</background-validation-millis>
</validation>
<timeout>
<idle-timeout-minutes>10</idle-timeout-minutes>
</timeout>
</datasource>
</datasources>
log4j-napadmin.xmllog4j konfigurationnap.jksJKS fil indeholdende NAP certifikat til audience /napnap-admin.properties# Path to the service provider certificate
keystorePath=nap.jks
# Password to the service provider certificate
keystorePassword=Test1234
# Path where public certificates of trusted STS services are stored
trustedStsCert=trusted-sts-certs.jks
# Password for the trusted sts certifikate keystore
trustedStsCertPassword=Test1234
# The audience, SAML-tokens are required to have
expectedAudience=https://audience.nspop.dk/nap
# Max clock skew
allowedClockDrift=3
trusted-sts-certs.jksJKS fil med certifikater fra STS providers.

Disse filer bliver loadet ind på classpath wildfly når applikationen deployes.

Ved konfigurationsændringer skal wildfly serveren genstartes.

 

Vigtigt med jndi navn  "java:jboss/datasources/nap-lobby-facade" da dette skal matche konfiguration i  persistence.xml

log4j-napadmin.xmlLog4j opsætninger der følger gængs standard på NSP.

Disse filer bliver loadet ind på classpath wildfly når applikationen deployes.

Ved konfigurationsændringer skal wildfly serveren genstartes.

Konfiguration af oiosaml sker i filerne "compose/configuration/oiosaml". 

Der findes en konfiguration til develop / test-develop / og test-1 (test1 miljøet). 

De forskellige konfigurationer adskiller sig primært for singleLogoutService i SPMetadata og iDpMetadata samt og service provider url i oiosaml-sp.properties. 

Oiosaml konfigurationerne skal ligeledes være tilgængelig i oiosaml.home under deployment (oiosaml.home sættes med JAVA_OPTS i compose filerne og er sat til /pack/oiosaml).

Konfigurationsfiler


oiosaml-sp.log4j.xml

lndeholder Log4j opsætninger der følger gængs standard på NSP.
oiosaml-sp.properties

# Properties used by oiosaml-j

# Reference to the location of the certificate used for signing SAML documents with - relative to ${oiosaml.home}

oiosaml-sp.certificate.location=

# Opaque/encrypted password to the certificate used for signing SAML documents
oiosaml-sp.certificate.password

# Required authentication level. 2=password, 3=certificate
oiosaml-sp.assurancelevel

# Name of the meta data file for the current service provider - overrides setting in brs-common.properties
common.saml2.metadata.sp.filename

# URI References to the current service provider
oiosaml-sp.uri.home

# Force login
#oiosaml-sp.authn.force

# Disable support for self-signed certificates by default
oiosaml-sp.selfsignedcertificates

# Disable revocation checking on OCES test certificats (because the CRL/OCSP endpoints are behind a firewall)
oiosaml-sp.crl.disable-in-oces-test


# Enable this setting to be eid compatible. Note this effects how AuthnRequests are generated
oiosaml-sp.eid.compatible

funktionscertifikat

JKS fil indeholdende Sundhedsdatastyrelsen reference funktionscertifikat certifikat. 

Skal være samme navn som oiosaml-sp.certificate.location i oiosaml-sp.properties

metadata/idP/IdPMetadata.xmlOIOSAML identity provider metadata til konfiguration af OIOSAML filteret
metadata/SP/SPMetadata.xmlOIOSAML service provider metadata til konfiguration af OIOSAML filteret

Persistence

Persitence.xml placeret i meta-inf definerer hibernate konfigurationen. Hvis der tilføjes nye tables, skal denne opdateres

...

...


Database

Datamodellen kan ses her i Data.

...

nap-host-java er en tyk java klient. Den fungerer som et eksempel på et værtssystem, egnet som test-platform for gæstesystemudviklere, samt som et implementations eksempel for værtsystems- / LPSudviklere

Funktionalitet

For beskrivelse af funktionaliteten i nap-host-java, findes der mere information beskrevet i Guide til anvendere 

For at nap-host-java kan vise projekterne, er det vigtigt at nap-lobby-web er sat op til at køre som beskrevet i 3. Nap Lobby Web.

Udviklingsmiljø

Installer afhængigheder

Installer dependencies ved at "mvn install". 

Udviklingserver

For at starte applikationen køres main fra Launcher klassen.  

CI

Jenkins filen beskriver jenkins pipelinen.

Der kan laves snapshots og release-candidates fra jenkins.

Test

JUnit anvendes til implementering af unit tests. Der er løbende gennemført unit tests på alle komponenter i projektet.
Unit tests kan afvikles ved at køre: `mvn test` og Coverage rapport generes med maven-surefire og publiceres med jacoco.

...

Nap-host-java konfigureres i nap-java-host.properties som pakkes med i classpath.

...

.

...