SI-2513 how to build aktualisieren SI-2514 how to run aktualisieren how to configure erstellt
diff --git a/get_started.txt b/get_started.txt index 6eac812..a40deb3 100644 --- a/get_started.txt +++ b/get_started.txt
@@ -21,14 +21,21 @@ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * ********************************************************************** +Here you find a step-by-step instruction on how to build all documentation in this repository including: +- architectureDocumentation.adoc +- howtoBuild.adoc +- howtoConfigure.adoc +- howtoRun.adoc +- userDocumentation.adoc +At the end you have a pdf and a html version of each adoc (documentation). ---------------- REQUIREMENTS ------------- * Java 1.8 * Apache Maven 3.6.1 +* Graphviz - -IF you have this versions, check if you have set JAVA_HOME and M2_HOME. - - If yes: Ignore step 1 and 2 +If you meet this requirements, check if you have set JAVA_HOME and M2_HOME. + - If yes: Ignore step 1,2 and 3 - If no: Follow the corresponding steps below @@ -74,57 +81,20 @@ Value of variable: <GRAPHVIZ_DIR>\bin -------------------- 4 --------------------- -To get started with the project you have to clone gridFailureInformation backend and frontend projects. - -Backend <project_url>: https://git.eclipse.org/r/openk-usermodules/org.eclipse.openk-usermodules.gridFailureInformation.backend.git -Frontend <project_url>: https://git.eclipse.org/r/openk-usermodules/org.eclipse.openk-usermodules.gridFailureInformation.frontend.git - -- Create a folder and do following for each of them -- Open a cmd and navigate to the folder -- use the command to create a clone of each project - § git clone <project_url> - -Developing only: -- if you are going to develop, important is a switch to the develop branch - - navigate in the folder with the clone and switch to develop branch - $ git checkout <branch> -- At the end just pull the actual version of the code - $ git pull origin <branch> - - --------------------------- -Active Develop Branches: | -Backend -> DEVELOP | -Frontend -> DEVELOP | --------------------------| -Stable Branches: master | --------------------------- - - --------------------- 5 --------------------- -Build the maven project - -The backend repository consists of several subprojects. The main backend is the -"gfsBackService". Depending on the interfaces and the features you want to use, you -need to build other subprojects as well: --addressImport: Importing addresses from csv-files --mailExport: Publish messages via e-mail --stoerungsauskundtInteraces: Export and import messages from the site "stoerungsauskunft.de" --others in future - -Building such a maven project, will produce a <project_name>.jar file, which is needed to run the project. -- Open a command line and navigate to the root folder of the backend project -- Use the following call to cleanly build and install artifacts into the local repository: +Building the documentation: +- Open a command line and navigate to the root folder of this project (same location of this very get_started.txt file) +- Use the following call to cleanly build and install artifacts: $ mvn clean install --------------------- 6 --------------------- -Open and familiarize yourself with the project - -- if you successfully build the maven project you can find in /target/generated-docs all the documentations of this projects +-------------------- 5 --------------------- +If you successfully build the maven project you can find in /target/generated-docs all the documentations of this projects +in pdf and html form, choose according to your liking: - "howtoBuild" -> here you can read how to build the whole (backend and frontend) project - - "howtoRun" -> here you can read how to run the Application + - "howtoConfigure" -> here you can read how to configure the Application + - "howtoRun" -> here you can read how to run/start the Application - "architectureDocumentation" -> here you can read about the architecture pf this module + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NEXT STEP -> READ THE howtoBuild FILE ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! \ No newline at end of file
diff --git a/src/main/asciidoc/architectureDocumentation/architectureDocumentation.adoc b/src/main/asciidoc/architectureDocumentation/architectureDocumentation.adoc index 773124b..8067369 100644 --- a/src/main/asciidoc/architectureDocumentation/architectureDocumentation.adoc +++ b/src/main/asciidoc/architectureDocumentation/architectureDocumentation.adoc
@@ -1012,23 +1012,6 @@ |5|power station name|String(255) |========================================================= -=== Deployment of the application components - -==== Deployment of the frontend - -TODO: - -==== Deployment of the backend -TODO: - -==== Deployment of the database -The component "Flyway" is used to make to distribute structural -or content related changes to the database. - -The database is built out of the scripts in the directory "db/migrations". Every sql -script contains the complete db script for the contact base data database (in different versions). -The highest version number indicates the currently valid script. - ==== Configuration of the system ===== DB based configuration @@ -1163,6 +1146,21 @@ This automatically triggers the build and the deployment on the Q-environment. +==== Deployment of the frontend + +TODO: + +==== Deployment of the backend +TODO: + +==== Deployment of the database +The component "Flyway" is used to make to distribute structural +or content related changes to the database. + +The database is built out of the scripts in the directory "db/migrations". Every sql +script contains the complete db script for the contact base data database (in different versions). +The highest version number indicates the currently valid script. + <<< == Design decisions
diff --git a/src/main/asciidoc/howto/howtoBuild.adoc b/src/main/asciidoc/howto/howtoBuild.adoc index 193ce1b..f9a3aea 100644 --- a/src/main/asciidoc/howto/howtoBuild.adoc +++ b/src/main/asciidoc/howto/howtoBuild.adoc
@@ -12,6 +12,8 @@ :lang: en :encoding: utf-8 +:sectanchors: +:numbered: <<< IMPORTANT: Please be sure that you have first *Portal (Auth n Auth)* and *ContactBaseData* installed and configured! @@ -19,9 +21,62 @@ == Requirements * Node.js 12.14.0 * Angular-CLI +* Java 1.8 +* Apache Maven + +== Chekout the project +To get started with the project you have to clone gridFailureInformation backend and frontend projects. + +Backend repository url <project_url>: + +https://git.eclipse.org/r/openk-usermodules/org.eclipse.openk-usermodules.gridFailureInformation.backend.git + +Frontend repository url <project_url>: + +https://git.eclipse.org/r/openk-usermodules/org.eclipse.openk-usermodules.gridFailureInformation.frontend.git + + +- Create a folder and do following for each of them +- Open a cmd and navigate to the folder +- use the command to create a clone of each project + +§ git clone <project_url> + +.Developing only: +If you are going to develop, important is a switch to the develop branch. + +- Navigate in the folder with the clone and switch to develop branch: + +---- +$ git checkout <branch> +---- +- At the end just pull the actual version of the code: + +---- +$ git pull origin <branch> +---- + +Active Develop Branches: + +Backend -> DEVELOP + +Frontend -> DEVELOP + +Stable Branches -> master + == How to build the Backend -To build the backend you need to have installed Apache Maven and Java (look at `/deploy/`*get_started.txt*). + +The backend repository consists of several subprojects. The main backend is the +"gfsBackendService". Depending on the interfaces and the features you want to use, you +need to build other subprojects as well: + +[horizontal] +addressImport:: Importing addresses from csv-files +mailExport:: Publish messages via e-mail +stoerungsauskundtInteraces:: Export and import messages from the site "stoerungsauskunft.de" +SARIS-Interface:: Import messages from SARIS +SAMO-Interface:: Import messages from SAMO +other interfaces in future:: ... + + +Building such a maven project, will produce a <project_name>.jar file, which is needed to run the project. + +- Open a command line and navigate to the root folder of the backend project +- Use the following call to cleanly build and install artifacts into the local repository: + +---- +$ mvn clean install +---- == How to build the Frontend @@ -58,7 +113,7 @@ ---- {blank} -TIP: Next Step -> Read the *grid-failure-information_howtoRun* file! +TIP: Next Step -> Read the *howtoRun* file! == How to build the SIT-Web-FE (Map- and Table-Component) === Prerequirements
diff --git a/src/main/asciidoc/howto/howtoConfigure.adoc b/src/main/asciidoc/howto/howtoConfigure.adoc new file mode 100644 index 0000000..638d7ff --- /dev/null +++ b/src/main/asciidoc/howto/howtoConfigure.adoc
@@ -0,0 +1,313 @@ += openKonsequenz - How to configure the modules + +:Date: 2020-03-24 +:Revision: 1 + +:icons: +:source-highlighter: highlightjs +:highlightjs-theme: solarized_dark + +:imagesdir: ../img +:iconsdir: ../img/icons + +:lang: en +:encoding: utf-8 +:sectanchors: +:numbered: +:xrefstyle: full + +<<< + +IMPORTANT: Please be sure that you have first *Portal (Auth n Auth)* and *ContactBaseData* installed and configured! + + +== Prerequisites +* *howToBuild* documentation read and steps completed +* *howToRun* documentation read +* *application.yml* was copied from [microservice]/src/main/resources/application.yml next to the *.jar into the deployment folder +of each microservice you want to use + +CAUTION: Each [microservice] has its *own application.yml* + +== Configuration of the system + +The backend services are configured in *application.yml* files. If there is an *application.yml* file next to the +**.jar* file of the microservice this very *application.yml* has precedence over the default *application.yml* which resides +inside the jar file. In other words if there is no *application.yml* next to the jar file the default one inside is beeing used. +For reasons of convenience we use the method config-file outside and next to the jar. +After editing an *application.yml* file, you have to restart the microservice for changes to take effect. + +Yml-files can be divided into different configuration profiles. +When starting the backend-service one has the possibility to specify +the active profile, if no profile is set the default is beeing used. +The default profile is the one which you most likely want to configure and which you are going +to use. If you want different or more profiles see the following link for further details: +https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-profiles + +CAUTION: _Credentials (Username and Password)_ + +All credentials in this yml-files are hidden. Environment variables are used to set +them. Get an environment variable in a yml-file this way `${ENVIRONEMT_VARIABLE}`. +To successfully run the backend service either set the environment variable for the using platform +or replace them in the yml-file. + + +=== Periodically executed jobs - Cron expression + +To execute periodically occuring jobs, Spring uses a form of cron expression. +They don't follow the same format as UNIX cron expressions. + +Spring Cron expression consists of six sequential fields: +---- +second, minute, hour, day of month, month, day(s) of week +---- + +.Explenation +[options="header,footer"] +|======================= +|syntax |means |example | explanation +|* |match any |"* * * * * *" | do always +|*/x |every x |"*/5 * * * * *"| do every five seconds +|? |no specification |"0 0 0 24 12 ?"| do every Christmas Day +|======================= + +.Examples +[options="header,footer"] +|======================= +|syntax |means +|"0 0 * * * *" |the top of every hour of every day. +|"0 */1 * ? * *" |every minute starting at second 0. +|"0 */5 * ? * *" |every 5 minutes starting at second 0. +|"*/10 * * * * *" |every ten seconds. +|"0 0 8-10 * * *" |8, 9 and 10 o'clock of every day. +|"0 0/30 8-10 * * *" |8:00, 8:30, 9:00, 9:30 and 10 o'clock every day. +|"0 0 9-17 * * MON-FRI" |on the hour nine-to-five weekdays +|"0 0 0 24 12 ?" |every Christmas Day at midnight +|======================= + +You can use the following generator but keep in mind to *not use the year*. +The spring expression hast to consist of six fields only: + +https://www.freeformatter.com/cron-expression-generator-quartz.html + +[#secureEndpoints] +=== Secure Endpoints + +The main backend (gfsBackendService) is secured by JWTs (JSON-Web-Tokens). +The following services are secured by "Basic Authentication": + +* addressImport +* mailExport +* stoerungsauskunftInterface +* SARISInterface + +For each of them you will find the following parameters to configure the "Basic Authentication" in the +corresponding *application.yml*: + +* *security.endpoint.user* Username for the secure endpoint +* *security.endpoint.password* Password for the secure endpoint + +SAMOInterface has no public endpoints and therefore doesn't need to be secured. + +[NOTE] +Besides the initial manual import of all addresses, this endpoints (in combination with Swagger) are primarily a convenient way to +test the functionality of the application. + + +=== Configuration of each service + +The following services has to be configured and its parameters will be explained in the next sections: + +* <<configuration-gfsBackendService>> +* <<configuration-addressImport>> +* <<configuration-mailExport>> +* Interfaces +** <<configuration-stoerungsauskunftInterface>> +** <<configuration-SAMOInterface>> +** <<configuration-SARISInterface>> + +Some parameters explained in <<configuration-gfsBackendService>> below, are used in other services +as well an won't be explained again (for example <<configuration-section-rabbit_mq>>). + +[#configuration-gfsBackendService] +==== Configuration of gfsBackendService (Main Backend) + + +* *spring.datasource* configuration section for the database connection +* *flyway.enabled* If enabled=true then the database migrations +will automatically performed when starting the application +(this parameter should normally be set to "false" +* *server.port* Port on which this microservice is deployed on (DEPLOYMENT_PORT). (E.g. for gfsBackendService: 9165) +* *server.max-http-header-size* Maximum size for the http-headers +* *jwt.tokenHeader* Name of the http-header which carries the authentication-token. +(should be "Authorization") +* *jwt.useStaticJwt* If set to "true" then the backend will use *jwt.staticJwt* +as Authorization-token. (This won't work for calls to other modules +like the Auth'n'Auth-Modul, because the token will be out of date) +* *process.definitions.classification.plannedMeasureDbid* Id in DB of "geplante Maßnahme" of table ref_failure_classification. +This is needed for the proccess grid. +* *reminder.status-change.minutes-before* Send reminder mail to publisher distribution group x minutes before planned end date +of the gridfailureinformation. (value in minutes, Example: 1440) +* *export-to-dmz.enabled* Switch to export periodically published gridfailureinformations to the external "Table/Map-Web-Component" +(true or false) +* *export-to-dmz.cron* Cron-expression for the export job (above). (Example: 0 */10 * ? * *) +* *swagger.enabled* Switch to enabled/disable Swagger (Endpoints). (true/false) + + + +[#configuration-section-rabbit_mq, reftext="_RabbitMQ configuration_"] +_RabbitMQ configuration_ + +* *rabbitmq.host* RabbitMQ-Server (for example "localhost") +* *rabbitmq.port* Port of the RabbitMQ-Server (for example "5672") +* *rabbitmq.username* Username for the technical RabbitMQ user +* *rabbitmq.password* Password the the technical RabbitMQ user +* *rabbitmq.routingkey* Routing key for the import queue +* *rabbitmq.exchangename*: Exchange name for the import queue +* *rabbitmq.importExchange*: Exchange name for the import queue +* *rabbitmq.importQueue* Queuename for the import queue (will be created by the backend) +* *rabbitmq.importkey* Routing key for the import queue +* *rabbitmq.exportExchange*: Exchange name for the export queue +* *rabbitmq.exportQueue*: Queuename for the export queue (will be created by the backend) +* *rabbitmq.exportKey*: Exchange name for the export queue +* *rabbitmq.isMailType*: Should this channel be treated as a mail channel? + +If true messages of this channel will be sent via email. + +*exportExchange* in the main backend is further divided into *channels* functionality stays the same as describe above. + + +[#configuration-section-settings] +_UI setting_ + +* *overviewMapInitialZoom*: Initial zoom-factor for the display of the overview map (default is 10) +* *detailMapInitialZoom*: Inital zoom-factor for the display of map in the detail view (for example 10) +* *overviewMapInitialLatitude*: Initial latitude for the overview map (for example 49.656634) +* *overviewMapInitialLongitude*: Initial longitude for the overview map (for example 8.423207) +* *daysInPastToShowClosedInfos*: Days in the past, before a closed failure information will not be shown any more (for example 365) +* *dataExternInitialVisibility*: *show* or *hide* data in the external map or table unless a postcode has been entered + +[#configuration-section-mailtemplates] +_Mail settings (Default templates)_ + + +* *emailSubjectPublishInit*: Template for the subject of the publishing e-mail +* *emailContentPublishInit*: Template for the body of the publishing e-mail +* *emailSubjectUpdateInit*: Template for the subject of the update e-mail +* *emailContentUpdateInit*: Template for the body of the update e-mail +* *emailSubjectCompleteInit*: Template for the subject of the completed e-mail +* *emailContentCompleteInit*: Template for the body of the completed e-mail +* *distribution-group-publisher.name*: Name of the distribution group for the publisher (Example: "Veröffentlicher") +* *distribution-group-publisher.distribution-text*: Template for the body of the e-mail +which is sent to the publisher distribution group + +[#configuration-section-visibility-of-fields] +_Field visibility settings_ + +Please configure the visibilty of fields in this section using "show" or "hide" + +* *visibilityConfiguration.fieldVisibility*: Here you can set the visibility of fields in the detail mask of the Failure +Information +* *visibilityConfiguration.tableInternColumnVisibility*: Here you can set the visibility of column in the +internal table +* *visibilityConfiguration.tableExternColumnVisibility*: Use "show" or "hide" to toggle the visibility of columns +in the external table +* *visibilityConfiguration.mapExternTooltipVisibility*: Here you can define which column shall be shown or hidden +in the tooltips of the external map + +[#configuration-section-services] +_Services configuration_ + +* *services.authNAuth.name* Name for Auth'n'Auth-Service-Service (for example "authNAuthService") +* *services.authNAuth.technical-username* Technical user for Auth'n'Auth-Service-Service +* *services.authNAuth.technical-userpassword* Password for technical-user for Auth'n'Auth-Service-Service +* *services.contacts.name* Name for ContactBaseData-Service (for example "contactService") +* *services.contacts.communicationType.mobile* Designation of mobile phone number as communication type in +ContactBaseData-Service (for example "Mobil") +* *services.contacts.useModuleNameForFilter* Boolean Parameter to decide whether to filter contacts in +contact service by module name in ContactBaseData-Service ("true" / "false") +* *services.contacts.moduleName* name of module to filter data from ContactBaseData-Service +(for example "Störungsinformationstool") +* *services.sitCache.name* Name for SitCache-Service (for example "sitCacheService") + +* *portalFeLoginURL* Login Url of your Portal (Auth n Auth) module. +This is needed for the creation of the direct email link to a gridfailure information message. +* *portalFeModulename* Name of this module as it is displayed in the Portal (Auth n Auth) module +below the corresponding image (example "Störungsinformationstool"). +This is needed for the creation of the direct email link to a gridfailure information message. + +* *authNAuthService.ribbon.listOfServers* Here one can configure the base url to the Auth'n'Auth-Service +* *contactService.ribbon.listOfServers* Here one can configure the base url to the ContactBaseData-Service +* *sitCacheService.ribbon.listOfServers* Here one can configure the base url to the SitCacheService-Service + + +[#configuration-addressImport] +==== Configuration of addressImport +* *utm.zoneNumber* Parameters needed to calculate latitude/longitude coordinates (32) +* *utm.zoneLetter* Parameters needed to calculate latitude/longitude coordinates (U) +https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system + +* *adressimport.cleanup* Cleanup the adress database before each import? (true/false) +* *adressimport.cron* Cron-expression for the adress import job +* *adressimport.file(s)* Path of each CSV-file to import + +'''' +.How to start import of addresses manually +To start the import of addresses manually you can use the endpoint of the addressImporter, +alternatively you can wait until the cron expression starts the job automatically. + +. Navigate with your browser to: + +---- +[HOSTNAME_OF_DEPLOYMENT]:[DEPLOYMENT_PORT_OF_ADDRESSIMPORTER]/swagger-ui.html#/ +---- + +[start=2] +. Enter the credentials you have set for the endpoints of the addressImporter. (See <<secureEndpoints>>) +. Press "adress-import-controller". You should see now the following screen: + +image::swagger-ui-addressimporter.png[] + +[start=3] +. Press somewhere in the "POST" row and then press "Try it out" + +image::swagger-ui-addressimporter-try-out.png[] + +[start=4] +. Now press the big blue "Execute" button +. The import has successfully started if you receive a status code 200 + +[#configuration-mailExport] +==== Configuration of mailExport +* *email.sender* Email adress of your sender for the automatically sent emails. +* *email.smtpHost* SMTP-Host of your email provider +* *email.port* Port of your email provider + +[#configuration-stoerungsauskunftInterface] +==== Configuration of stoerungsauskunft-Interface +* *stoerungsauskunft.apiUrl* URL to the endpoint of "stoerungsauskunft.de" +(Development: https://stage-api-operator.stoerungsauskunft.de/api/v1.0/ ) +change to production enviroment accordingly. +* *stoerungsauskunft.user* Username for stoerungsauskunft.de +* *stoerungsauskunft.password* Password for stoerungsauskunft.de +* *stoerungsauskunft.scheduling-import.enabled* Switch to enable/disable automatic import from stoerungsauskunft.de (true/false) +* *stoerungsauskunft.scheduling-import.cron* Cron-expression for automatic import from stoerungsauskunft.de (Example: 0 */20 * ? * *) + +[#configuration-SAMOInterface] +==== Configuration of SAMO-Interface +* *sftp.enable-polling* Switch to enable/disable automatic import from SAMO (true/false) +* *sftp.host* IP-address of the host + +You can decide if you want to access sftp via username/password or with ssh private/publicKey. If you set a path to a privateKey +this method has precedence over username/password-method and is used instead. Keep in mind *not* to set an passphrase since +confirmation of the passphrase is not possible in this automatic process. + +* *sftp.privateKey* Private key in form of "file: _PATH_TO_FILE_" without quotes (Example: "file:C:\sshKeys\privateOpenKQServer_key-SAMO-Interface" without quotes) +* *sftp.privateKeyPassphrase* leave it empty +* *sftp.user* Username for the sftp access +* *sftp.password* Password for the sftp access +* *sftp.deleteRemoteFile* Switch to delete remote file after succesfully import. Leave it on true (true/false) +* *sftp.directory* Path of the remote directory on the server where the *.json file to import is located +* *sftp.fileFilter* Which file formats to import, leave it in JSON (*.json) +* *sftp.cron* Cron-expression for automatic import from SAMO (Example: 0 */10 * ? * *) + +[#configuration-SARISInterface] +==== Configuration of SARIS-Interface \ No newline at end of file
diff --git a/src/main/asciidoc/howto/howtoRun.adoc b/src/main/asciidoc/howto/howtoRun.adoc index 1ac35d0..1fbffb7 100644 --- a/src/main/asciidoc/howto/howtoRun.adoc +++ b/src/main/asciidoc/howto/howtoRun.adoc
@@ -38,13 +38,23 @@ *** To initialize the database schema run the latest sql script: - /src/resources/db/migration/V0_??__CREATE_GFI_DB.sql + /src/resources/db/migration/V0_60__CREATE_GFI_DB_Complete_V_1.0.0.sql == How to run the Backend -To run the backend you to create a separate directory for each backend microservice +To run the backend you need to create a separate directory for each backend microservice you want to use, get the **.jar* file from the *target* directory of the java-project (which should exists after -a successful maven-build) and copy it to the new directory (i.e. "gfsBackService"). +a successful maven-build) and copy it to the new directory (i.e. "gfsBackendService" = [_deployFolder_]). + +To configure each application (microservice) and adjust to your likings, we use the file *application.yml* for. + +Copy the file *application.yml* from [microservice]/src/main/resources/application.yml next to the **.jar* in your [_deployFolder_]. +This step has to be done for *each* microservice but most of the configuration is done in the "main backend" (i.e. +"gfsBackendService"), so every microservice has its own *application.yml*. + +The folder *logs* is created at the first time you start the application. + +.Deployment folder structure, folder logs is created at first start +image::deployStructure.png[] + Depending on which services you want to use, you have to install different microservices: @@ -52,10 +62,11 @@ * *gfsBackend* (Main backendservice - always needed) * *mailExport* (Export messages via e-mail) * *SAMOInterface* (Import interface for the SAMO System) +* *SARISInterface* (Import interface for the SARIS System) * *StoerungsauskunftInterface* (Import and export interface for the site "Stoerungsauskunft.de") -Once you created a directory and copied the **.jar* file you need to configure each service. Please -read the architecture documentation to get information about the possible configurations of the services. +Once you created a directory and copied the **.jar* file you need to configure each service via the *application.yml*. + +See *howtoConfigure* documentation to get information about the possible configurations of the services. * Open a command line and navigate to the root folder of the service you want to start * Run the command @@ -68,32 +79,32 @@ == How to run the Frontend + +IMPORTANT: Please be sure that you have first *Portal (Auth n Auth)* and *ContactBaseData* installed and configured! +Make sure you have added the module *gridFailureInformation* to the *Portal (Auth n Auth)* module configuration (see Portal Project: moduleConfig***.json) + To run the frontend project you need to have installed and updated Node.js and npm Angular-CLI. === Compile the Frontend To compile say Angular-CLI to start. +* Navigate to the root folder of the project. Adjust the parameter "target" in the file *proxy.conf.json* (root folder) accordingly, pointing to the main backend url and its port. + +Example: If you have started the main backend ("gfsBackendService") on the same machine with default values, then the "target" would be +"http://localhost:9165/". * Open a command line and navigate to the root folder of the frontend project * Run the command [source,command] ---- - $ npm start + $ npm start-local ---- {blank} -* Open a browser and type: +* You can now access the application via the *Portal (Auth n Auth)* with a valid user who owns rights for the module *gridFailureInformation*. -[source,http] ----- - http://localhost:4200 ----- {blank} -IMPORTANT: The reason you maybe don´t see the application running properly, is that you have not even logged in. -To do so, run first the Portal project, where you can log in and then open the elogbook. - == How to run the SIT-Web-Cache-Service === Prerequirements * SIT-Web-Cache-Service is built properly. Otherwise following the instructions in the *howtoBuild* file!
diff --git a/src/main/asciidoc/img/deployStructure.png b/src/main/asciidoc/img/deployStructure.png new file mode 100644 index 0000000..105c457 --- /dev/null +++ b/src/main/asciidoc/img/deployStructure.png Binary files differ
diff --git a/src/main/asciidoc/img/swagger-ui-addressimporter-try-out.png b/src/main/asciidoc/img/swagger-ui-addressimporter-try-out.png new file mode 100644 index 0000000..47634cb --- /dev/null +++ b/src/main/asciidoc/img/swagger-ui-addressimporter-try-out.png Binary files differ
diff --git a/src/main/asciidoc/img/swagger-ui-addressimporter.png b/src/main/asciidoc/img/swagger-ui-addressimporter.png new file mode 100644 index 0000000..415d2c1 --- /dev/null +++ b/src/main/asciidoc/img/swagger-ui-addressimporter.png Binary files differ