KON-678 Umzug der Dokumentation auf Eclipse Doc-Repository
diff --git a/pom.xml b/pom.xml index 6b9eba3..f617fe3 100644 --- a/pom.xml +++ b/pom.xml
@@ -46,10 +46,6 @@ <spring-security-test.version>5.2.1.RELEASE</spring-security-test.version> <powerMockReflect.version>2.0.0</powerMockReflect.version> <sonar-maven-plugin.version>3.2</sonar-maven-plugin.version> - <asciidoctor-maven-plugin-version>1.5.3</asciidoctor-maven-plugin-version> - <asciidoctorj-pdf-version>1.5.0-alpha.11</asciidoctorj-pdf-version> - <asciidoctorj-version>1.5.4</asciidoctorj-version> - <asciidoctorj-diagram-versions>1.5.4.1</asciidoctorj-diagram-versions> <jacoco-maven-plugin.version>0.7.9</jacoco-maven-plugin.version> <jruby-complete-version>9.0.0.0</jruby-complete-version> <mapstruct.version>1.2.0.Final</mapstruct.version> @@ -233,87 +229,6 @@ <artifactId>sonar-maven-plugin</artifactId> <version>${sonar-maven-plugin.version}</version> </plugin> - <plugin> - <groupId>org.asciidoctor</groupId> - <artifactId>asciidoctor-maven-plugin</artifactId> - <version>${asciidoctor-maven-plugin-version}</version> - <dependencies> - <dependency> - <groupId>org.jruby</groupId> - <artifactId>jruby-complete</artifactId> - <version>${jruby-complete-version}</version> - </dependency> - <dependency> - <groupId>org.asciidoctor</groupId> - <artifactId>asciidoctorj-pdf</artifactId> - <version>${asciidoctorj-pdf-version}</version> - </dependency> - <dependency> - <groupId>org.asciidoctor</groupId> - <artifactId>asciidoctorj</artifactId> - <version>${asciidoctorj-version}</version> - </dependency> - <dependency> - <groupId>org.asciidoctor</groupId> - <artifactId>asciidoctorj-diagram</artifactId> - <version>${asciidoctorj-diagram-versions}</version> - </dependency> - </dependencies> - <configuration> - <sourceDirectory>src/main/asciidoc</sourceDirectory> - <requires> - <require>asciidoctor-diagram</require> - </requires> - <attributes> - <imagesoutdir>${project.build.directory}/generated-docs/images</imagesoutdir> - <imagesDir>${project.build.directory}/generated-docs/images</imagesDir> - </attributes> - </configuration> - <executions> - <execution> - <id>output-html</id> - <phase>generate-resources</phase> - <goals> - <goal>process-asciidoc</goal> - </goals> - <configuration> - <skip>${skip.asciidoc}</skip> - <imagesDir>./images</imagesDir> - <requires> - <require>asciidoctor-diagram</require> - </requires> - <sourceHighlighter>coderay</sourceHighlighter> - <backend>html</backend> - <doctype>book</doctype> - </configuration> - </execution> - <execution> - <id>output-pdf</id> - <phase>generate-resources</phase> - <goals> - <goal>process-asciidoc</goal> - </goals> - <configuration> - <skip>${skip.asciidoc}</skip> - <imagesDir>${project.build.directory}/generated-docs/images</imagesDir> - <requires> - <require>asciidoctor-diagram</require> - </requires> - <sourceHighlighter>coderay</sourceHighlighter> - <backend>pdf</backend> - <doctype>book</doctype> - <attributes> - <icons>font</icons> - <pagenums /> - <toc /> - <idprefix /> - <idseparator>-</idseparator> - </attributes> - </configuration> - </execution> - </executions> - </plugin> - </plugins> </build>
diff --git a/src/main/asciidoc/architectureDocumentation/architectureDocumentation.adoc b/src/main/asciidoc/architectureDocumentation/architectureDocumentation.adoc deleted file mode 100644 index 1ea0a84..0000000 --- a/src/main/asciidoc/architectureDocumentation/architectureDocumentation.adoc +++ /dev/null
@@ -1,869 +0,0 @@ -//// - ******************************************************************************* - * Copyright (c) 2019 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - ******************************************************************************* -//// - -openKonsequenz - Architecture of the module 'Contact Base Data' -=============================================================== -Frank Dietrich <frank.dietrich@pta.de>; Simon Reis <simon.reis@pta.de> -:Date: 2020-02-25 -:Revision: 1 -:icons: -:source-highlighter: highlightjs -:highlightjs-theme: solarized_dark - -This documentation is based on the ARC42-Template (v7.0): - -== Introduction and Goals - -=== Requirements Overview - -Many user modules of an openKONSEQUENZ installion need contact data for their -daily business. Furthermore they have to fulfil the regulatory requirement -of the General Data Protection Regulation (GDPR). - -This core module 'Contact Base Data' provides a central component for managing contact -datas including the crucial functionality of GDPR. - -The full requirements of the module 'Contact Base Data' (in German: Modul 'Kontaktstammdaten') is described in the document - -* "Anforderungsspezifikation Modul Kontaktstammdaten" version 1.2 / 07-11-2019. - - - -=== Quality Goals -The module 'Contact Base Data' represents a core module that is based on the architecture platform of openKONSEQUENZ. The main quality -goals of the platform are: - -* *Flexibility* The reference platform shall grant that different systems and modules from different vendors/developers can interact and interoperate, and may be exchanged or recombined. -* *Availability* All platform modules that are running on the platform can only be as available as the platform same for user modules that are based on platform modules. -* *Maintainability* (and testability as part of maintainability) The platform and its platform modules shall be used longer than 15 years. -* *Integration performance* New implemented functionality of oK's own modules and external modules shall be included fast / automatically. -* *Security* The platform and its modules need to underly security-by-design - -The main quality goals of the core module Contact Base Data are: - -* *Functionality* The core module must fulfil the functional requirements mentioned in the section before -* *Ergonomics* The web interface must be realized according to oK-GUI-styleguide. -* *Good documentation* (i.e. code and architecture documentation) makes code changes easier and automatic -tests facilitate rigorous verification. -* *Modifiability* (and testability as part of modifiability) -* *Integration performance* The core module's integration into different production environments has to be easy. - -The following documents contain the quality goals in detail: - -* Architecture Committee Handbook v1.6.0 from 10-07-2019 -* Quality Committee Handbook v2.0.1 from 15-10-2018 - -The architecture is based on the AC-Handbook. The quality demands are described in the QC-Handbook. -Both specifications were fully complied with in the project, so that a high quality is given. - -The code quality regarding static code analysis and unit test code coverage on the backend and frontend sides -are ensured by the use of sonarqube. The rule set and the qualtity gate are defined by the default, the -so called "sonar way". - -The module 'Contact Base Data' is part of the Eclipse project 'Eclipse openK Core Modules'. -This project bases on the Eclipse Public Licence 2.0. - -=== Stakeholders - -.Stakeholders -[options="header,footer"] -|========================================================= -|Role/Name|Contact|Expectations -|Product Owner (represents the Distribution System Operators)|Gordon Pickfort, Rainer Fuhrmann|The software must fulfil their functional and nonfunctional requirements. -|Module Developer|Michel Alessandrini, Jonas Tewolde, Frank Dietrich|All relevant business and technical information must be available for implementing the software. -|External Reviewer (represents the AC/QC)|n.n.|The software and the documentation is realized according to the Quality and Architecture Handbook of openKONSEQUENZ. -|External Reviewer (represents the Eclipse-Requirements)|n.n.|The software is licensed under the EPL 2.0. It must be validated that all requirements are fulfilled. -|System Integrator|n.n.|A documentation for the integration of the module in the DSO specific environments must be available. -|========================================================= - -== Architecture Constraints - -The main architecture constraints are: - -* *Public License* The module must be available under the “Eclipse Public License 2.0”. -* *Standardization* The module must use the reference platform. -* *Availability* The source code of the module must be accessible to any interested person/company. - -Therefore the project is published under the following repositories: - -* https://git.eclipse.org/r/openk-usermodules/org.eclipse.openk-usermodules.contactBaseData.backend -* https://git.eclipse.org/r/openk-usermodules/org.eclipse.openk-usermodules.contactBaseData.frontend - - -=== Technical Constraints - -The following technical constraints are given: - -.Technical Contraints -[options="header,footer"] -|======================================================== -|Component|Constraints -|Base components of the reference platform -a|* Application Server Tomcat -* JPA EclipseLink -* Database PostgreSQL - -|Enterprise service bus -a|* ESB Talend -* Communication via RESTful Webservices - -|Programming language frontend -a|* Angular -* Bootstrap -* jQuery -* REST/JSON Interfaces - -|GUI design -a|* According to oK-GUI-Styleguide - -|Java QA environment -a| * Sonarqube 5.6.6 - -|Programming language -a|* Backend: Java 1.8 -* Frontend: Angular 7+ (Javascript, Typescript, HTML5, CSS3) - -|IDE -a|* Not restricted (Eclipse, IntelliJ, Microsoft Developer Studio, Microsoft Visual Code ...) - -|Build system -a|* Backend: Maven -* Frontend: NodeJS + Angular/cli - -|Libraries, frameworks, components -a|* Used Libraries/Frameworks have to be compatible to the Eclipse Public License - -|Architecture Documentation -a|* According ARC42-Template -|======================================================== - - -=== Technical Dependencies - -==== Modules -The following modules are required to use the 'Contact Base Data': - -.Modules -[options="header,footer"] -|========================================================= -|Name of the module|Purpose|Status of the module -|'Auth&Auth'|Authentification and Authorization|available -|========================================================= - - -==== Libraries - -The following libraries are used: - -.Libraries -[options="header,footer"] -|========================================================= -|Name of the library|Version|Artefact-id|Usage|License|Tier - - -|org.springframework.boot.spring-boot-starter-parent|2.2.1.RELEASE -a| -||Apache License 2.0|Backend - -|org.springframework.boot.spring-boot-starter-data-jpa|2.2.1.RELEASE -a| -||Apache License 2.0|Backend - -|org.springframework.spring-boot-starter-data-ldap|2.2.1.RELEASE -a| -||Apache License 2.0|Backend - -|org.springframework.boot.spring-boot-starter-oauth2-client|2.2.1.RELEASE -a| -||Apache License 2.0|Backend - -|org.springframework.boot.spring-boot-starter-security|2.2.1.RELEASE -a| -||Apache License 2.0|Backend - -|org.springframework.boot.spring-boot-starter-web|2.2.1.RELEASE -a| -||Apache License 2.0|Backend - -|org.flywaydb.flyway-core|6.0.8 -a| -||Apache License 2.0|Backend - -|org.springframework.cloud.spring-cloud-starter-openfeign|2.2.0.RELEASE -a| -||Apache License 2.0|Backend - -|org.springframework.cloud.spring-cloud-starter-netflix-ribbon|2.2.0.RELEASE -a| -||Apache License 2.0|Backend - -|org.keycloak.keycloak-core|3.4.2_Final -a| -||Apache License 2.0|Backend - -|org.postgresql.postgresql|42.2.8 -a| -||New BSD License|Backend - -|org.projectlombok.lombok|1.18.10 -a| -||MIT|Backend - -|org.mapstruct.mapstruct-processor|1.2.0.Final -a| -||Apache License 2.0|Backend - -|io.jsonwebtoken.jjwt|0.9.1 -a| -||Apache License 2.0|Backend - -|io.springfox.springfox-swagger2|2.9.2 -a| -||Apache License 2.0|Backend - -|io.springfox.springfox-swagger-ui|2.9.2 -a| -||Apache License 2.0|Backend - -|org.springframework.boot.spring-boot-starter-test|2.2.1.RELEASE -a| -||Apache License 2.0|Backend - -|org.springframework.security.spring-security-test|5.2.1.RELEASE -a| -||Apache License 2.0|Backend - -|org.powermock.powermock-reflect|2.0.0 -a| -||Apache License 2.0|Backend - -|com.h2database.h2|1.4.200 -a| -||EPL|Backend - -|org.springframework.cloud.spring-cloud-dependencies|Hoxton.RELEASE -a| -||Apache License 2.0|Backend - -|org.springframework.boot.spring-boot-maven-plugin|2.2.1.RELEASE -a| -||Apache License 2.0|Backend - -|org.jacoco.jacoco-maven-plugin|0.7.9 -a| -||EPL 2.0|Backend - -|org.sonarsource.scanner.maven.sonar-maven-plugin|3.2 -a| -||LGPL 3.0|Backend - -|org.asciidoctor.asciidoctor-maven-plugin|1.5.3 -a| -||Apache License 2.0|Backend - - -|org.jruby.jruby-complete|9.0.0.0 -a| -||EPL 2.0|Backend - -|org.asciidoctor.asciidoctorj-pdf|1.5.0-alpha.11 -a| -||Apache 2.0|Backend - - -|org.asciidoctor.asciidoctorj|1.5.4 -a| -||Apache 2.0|Backend - - -|org.asciidoctor.asciidoctorj-pdf|1.5.0-alpha.11 -a| -||Apache 2.0|Backend - - -|org.asciidoctor.asciidoctorj-diagram|1.5.4.1 -a| -||Apache 2.0|Backend - - -|Angular Font Awesome|3.1.2 -a| -||MIT License|Frontend - - -|@auth0/angular-jwt|3.0.1 -a| -||MIT License|Frontend - - -|font-awesome|4.7.0 -a| -||MIT License|Frontend - - -|@ngrx/core|1.2.0 -a| -||MIT License|Frontend - - -|@ngrx/effects|8-2-0 -a| -||MIT License|Frontend - - -|@ngrx/store|8.3.0 -a| -||MIT License|Frontend - - -|@ngrx/store-devtools|8.2.0 -a| -||MIT License|Frontend - - -|@ngx-translate/core|11.0.1 -a| -||MIT License|Frontend - - -|@ngx-translate/http-loader|4.0.0 -a| -||MIT License|Frontend - - -|ag-grid-angular|21.2.1 -a| -||MIT License|Frontend - - -|ag-grid-community|21.2.1 -a| -||MIT License|Frontend - - -|angular2-notifications|2.0.0 -a| -||MIT License|Frontend - - -|bootstrap|4.4.1 -a| -||MIT License|Frontend - - -|jquery|3.4.1 -a| -||MIT License|Frontend - - -|classlist.js|1.1.20150312 -a| -||MIT License|Frontend - - -|core-js|3.2.1 -a| -||MIT License|Frontend - - -|moment|2.24.0 -a| -||MIT License|Frontend - - -|ng2-popover|0.0.14 -a| -||MIT License|Frontend - - -|ngrx-forms|5.2.1 -a| -||MIT License|Frontend - - -|npm-install-peers|1.2.1 -a| -||MIT License|Frontend - - -|reselect|4.0.0 -a| -||MIT License|Frontend - - -|rxjs|6.5.3 -a| -||MIT License|Frontend - - -|rxjs-compat|6.5.4 -a| -||MIT License|Frontend - - -|ts-helpers|1.1.2 -a| -||MIT License|Frontend - - -|tslib|1.10.0 -a| -||MIT License|Frontend - - -|web-animations-js|2.3.2 -a| -||MIT License|Frontend - - -|zone.js|0.10.1 -a| -||MIT License|Frontend - - -|@swimlane/ngx-datatable|15.0.2 -a| -||MIT License|Frontend - - -|puppeteer|2.0.0 -a| -||MIT License|Frontend - - -|ngx-toastr|11.2.1 -a| -||MIT License|Frontend - -|popper.js|1.16.0 -a| -||MIT License|Frontend - -|@ng-bootstrap|5.1.5 -a| -||MIT License|Frontend - - -|========================================================= - -== System Scope and Context - -=== Business Context - -The core module 'Contact Base Data' communicates via Restful Webservices with the follwowing modules: - -* *Core Module 'Auth & Auth'* The 'Contact Base Data' can only be used by authorized users. -Therefore, it is essential to invoke the module 'Auth & Auth' for authorization and authentication -purposes. - - -=== Technical Context - -The following aspects have to be taken into account for external communication of the module 'Contact Base Data': - -* RESTful web services are used as interface-technology. -* Each external interface (interfaces between modules or external systems) has to be documented. -* Dependencies of modules to services realized by other modules have to be specified and documented explicitly. - -The interfaces of the module 'Contact Base Data' are described in the interface documentation. - -=== Solution Strategy - -The module 'Contact Base Data' is based on a three-tier architecture: - -. *Frontend* - The GUI is implemented as a web-frontend with rich-client functionality. -. *Backend* - The business functionalities are implemented in the backend tier. It provides the business functions via RESTful Webservices. -. *Database* - The database stores all module specific data. - - -== Building Block View - -=== Whitebox Overall System - -The module 'Contact Base Data' contains two components (see figure 2): - -. *UI* - Represents the graphical user interface and consumes the services from the business logic component via RESTful webservices. -. *Business Logic* - Realizes the business functionality and the data storage of the module. The -module itself is split up into several components due to the requirement to use -microservices. - -.Module components -[options="header,footer"] -[plantuml] ----- -node Module { - rectangle UI - rectangle BusinessLogic - - interface REST - - UI -> REST - REST -- BusinessLogic -} ----- - - - -The communication between WebBrowser and Apache Tomcat is established via HTTP/HTTPS. -ApacheTomcat is connected to the data source (PostgresDBMS) via TCP/IP. - -==== contactBaseDataFE - -This component implements the presentation logic for the *contact-base-data*-module using the *Angular*-TypeScript -framework. The Frontend is a so called *Single Page Application* (SPA) because -it behaves like a single HTML-page. - - -==== contact-base-data.jar (backend tier) - -This component implements the business functionality of the contact base data. And it provides services, that the -contactBaseDataFE can use the functions in the frontend. - -The "spring boot/spring cloud" framework is used to implement this application. - -==== ContactBaseDataDev-DB (Database tier) - -This component stores the data of the contact base data. It provides an interface to the contact-base-data.jar to create or -change data in the database. - -The ContactBaseDataDev-DB runs on a Postgres DBMS. -(The decision to use the Postgres DBMS was made by the openKONSEQUENZ architecture committee) - -=== Level 2 - -==== ContactBaseDataFE (frontend tier) - -The frontend component implements the concept of a single-page application (SPA). The framework used is Angular 8. - -It divides the contactBaseDataFE into three layers: - -. *Components* - The components (pages, lists, dialogs, common comp.) represent the presentation layer and the control layer. A component contains the control logic (.ts-file), an HTML-fragment as presentation description (.html-file) and a style definition (.css-file). -. *Services* - The service component communicates with the interfaces of the backend via HTTP requests by using the model component. -. *Model* - The model corresponds to the view-model of the backend tier. - -.Frontend tier -[options="header,footer"] -[plantuml] ----- - -node contactBaseData_Frontend { - component Model - - - node Components { - component "Pages" - component Lists - component "Common Components" - } - - component Services - - Components --> Services - Components --> Model - Services --> Model -} - -node "Contact Base Data Backend (simplified)" { - component RestService - component ViewModel_API__DTO -} - -Services .. RestService -Model .. ViewModel_API__DTO -RestService --> ViewModel_API__DTO ----- - - -==== contact-base-data.jar (backend tier) - -The backend tier contains five components which can be summarized in three layers: - -. *Presentation layer* - Represented by -.. REST-Srv -.. View model/DTO -. *Controller layer* - Represented by -.. Controller -.. Service -. *Model layer* - Represented by -.. Repository -.. Model - - - -.Backend tier -[options="header,footer"] -[plantuml] ----- - -node "Contact Base Data Backend" { - component Model - - - component RestService - - component ViewModel_DTO - - component Controller - - component Service - - component Repository - - RestService --> ViewModel_DTO - RestService --> Controller - Controller --> Service - Service --> Repository - Repository --> Model - } - -node DBMS { - component ContactBaseDataDB -} - -Repository --> ContactBaseDataDB ----- - -==== ContactBaseData-DB (database tier) - -The ContactBaseData-DB is realized as a relational database system. - -.Database tier -[options="header,footer"] -[plantuml] ----- - -node DBMS { - component ContactBaseDataDB -} ----- - - -==== Program Configuration - -== Runtime view - -=== Login / authentication - - -There is no login page, since the openK-Portal-Application is responsible for authentication and -the whole SSO (single sign on) process. -Therefore the application has to be started by providing a valid authentication token. -This token is a JWT (JSON Web Token). - -.contactBaseData application is called by the *portal* application. The User is already logged in -[plantuml] -.... -actor User -participant PortalFrontend -participant PortalBackend -participant ContactBaseDataFrontend -entity ContactBaseDataStorage -participant ContactBaseDataBackend - - -User->PortalFrontend: Start ContactBaseData(JWT) -PortalFrontend->ContactBaseDataFrontend: nav. to frontend-URL with JWT -ContactBaseDataFrontend->ContactBaseDataStorage: Extract JWT and store token in session -... some delay ... -ContactBaseDataFrontend->ContactBaseDataBackend: Call any secured service with JWT -group Call secured service - - ContactBaseDataBackend->PortalBackend: "/checkAut(JWT)" - group Authorization succeeded - ContactBaseDataBackend->ContactBaseDataBackend: run service - ContactBaseDataBackend->ContactBaseDataFrontend: return service result - end - group Authorization failed - ContactBaseDataBackend->ContactBaseDataFrontend: return HTTP Code 401 - end -end -.... - -=== Deployment of the application components - -==== Deployment of the frontend - -See "howtoRun.pdf" - -==== Deployment of the backend - -See "howtoRun.pdf" - -==== Deployment of the database - -See "howtoRun.pdf" - -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 - -See "howtoRun.pdf" - - -===== Configuration of the contact base data backend - -The backend service is configured in the * .yaml files, which are located in the JAR file. - -This yml-file can be divided into different configuration profiles. -When starting the backend-service one has the possibility to specify -the active profile. - -* *spring*: -** *configuration*: Section for the database connection -** *flyway*: -*** *enabled*: (true or false) If enabled=true then the database migrations - will be performed automatically when starting the application - (this parameter should normally be set to "false") -** *ldap*: -*** *base*: The base LDAP path -*** *port*: The LDAP server port -*** *username*: Admin user of your LDAP -*** *password*: Admin password -*** *urls*: The URL of the LDAP server should be in the format ldap://myserver.example.com:10389. -For SSL access, use the ldaps protocol and the appropriate port, e.g. ldaps://myserver.example.com:636 - -* *ldap-sync*: -** *attribute-mapping*: -*** [not changeable variable in contact base data modul]: [attribute field name in your LDAP to be mapped]. -All possible mappings are: - -[source,yml] -uid: uid -fullname: cn -lastname: sn -firstname: givenname -title: title -mail: mail -department: department -telephone-number: phone - -** *db-id-mapping*: -*** *telephone-number-id*: the primary ID for "telephone number" row in table REF_COMMUNICATION_TYPE. -(Default 1) If set to -1 ldapmapping is disable for "telephone number" -*** *mail-id*: the primary ID for "mail" row in table REF_COMMUNICATION_TYPE. -(Default 2) If set to -1 ldapmapping is disable for "mail" -** *scheduling*: -*** *enabled*: (true or false) Switches LDAP synchronisation on/off -*** *cron-expression*: http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html[Cron Trigger Tutorial] + -Spring Cron only takes 5 parameters not 6, the year is exlcuded! + -Examples: '*/10 * * * * *' = every 10 seconds, '0 0 */3 ? * *' = every 3 hours, '0 0 0 * * ?' = every day at midnight. - -* *authnauth-sync*: -** *attribute-mapping*: -*** *lastname*: (true or false) Switches AuthNAuth synchronisation of field Lastname on/off -*** *firstname*: (true or false) Switches AuthNAuth synchronisation of field Firstname on/off -** *scheduling*: -*** *enabled*: (true or false) Switches AuthNAuth synchronisation on/off -*** *cron-expression*: http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html[Cron Trigger Tutorial] + -Spring Cron only takes 5 parameters not 6, the year is exlcuded! + -Examples: '*/10 * * * * *' = every 10 seconds, '0 0 */3 ? * *' = every 3 hours, '0 0 0 * * ?' = every day at midnight. -** *technical-username*: A technical user from the AuthNAuth modul doesn't have to be an admin -** *technical-userpassword*: Technical user password - -* *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") -** *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) -* *services*: -** *authNAuth*: -*** *name*: authNAuthService - -* *authNAuthService*: -** *ribbon*: -*** *listOfServers*: Here one can configure the base -URL to the Auth'n'Auth-service Example: http://entopkon:8880 - -* *feign*: -** *client*: -*** *config*: -**** *default*: -***** *connectTimeout*: (Default 60000) Connection timeout for the REST-Calls (in ms). -***** *readTimeout*: (Default 60000) Read timeout for the REST-Calls (in ms). - -* *cors*: -** *corsEnabled*: (true or false) Cross-Origin Resource Sharing on/off - -=== CI- and CD-Components - -==== GIT-Repository -Backend: -https://git.eclipse.org/c/openk-coremodules/org.eclipse.openk-coremodules.contactBaseData.backend.git/ - -Frontend: -https://git.eclipse.org/c/openk-coremodules/org.eclipse.openk-coremodules.contactBaseData.frontend.git/ - -=== Continuous deployment - -The continuous deployment is realized on two platforms: - -* the development platform (Dev-Environment) -* the quality platform (Q-Environment) - -The automatic deployment on both of the environments is -directly linked to the branches on the GIT-repositories: - -. "SNAPSHOT" or "DEVELOP" -. "MASTER" or "TRUNC" - -The running development is exclusively made on the snapshot-branch. Every time -a developer checks in (pushes) code to the repository, an automatic build -starts on the hudson ci-server. If the snapshot-build is successful, then the result -of that build is directly deployed on the dev-environment. - -At the end of a scrum sprint or when a big user story is realized, all -code changes are merged from the *SNAPSHOT*-Branch to the *TRUNC*. -This automatically triggers the build and the deployment on the -Q-environment. - - -== Design decisions - -All architecture decisions are based on the Architecture Committee Handbook. There are no deviations. - -== Risks and Technical Debts - -(Currently there aren't any known issues) - -<<< - -== Glossary - -.Abbreviations and glossary terms -[options="header,footer"] -|======================================================== -|Short|Long|German|Description -|AC|Architecture Committee|Architektur-Komittee|Gives framework and constraints according to architecture for oK projects. -|CNCU|Central Network Control Unit|| -|DAO|Data Access Objects|| -|DTO|Data Transfer Object|| -|DSO|Distribution System Operator|Verteilnetzbetreiber (VNB)|Manages the distribution network for energy, gas or water. -|EPL|Eclipse Public License||Underlying license model for Eclipse projects like contact-base-data@openK -|ESB|Enterprise Service Bus||Central instance to exchange data to overcome point-to-point connections. -|oK|openKONSEQUENZ|openKONSEQUENZ|Name of the consortium of DSOs -|QC|Quality Committee|Qualitätskomitee|Gives framework and constraints according to quality for oK projects. -|SCADA|Supervisory Control and Data Acquisition|Netzleitsystem|System, that allows DSOs to view/control actual parameters of their power grid. -|========================================================
diff --git a/src/main/asciidoc/howto/howtoBuild.adoc b/src/main/asciidoc/howto/howtoBuild.adoc deleted file mode 100644 index e92236c..0000000 --- a/src/main/asciidoc/howto/howtoBuild.adoc +++ /dev/null
@@ -1,70 +0,0 @@ -= openKonsequenz - How to build the module "Contact Base Data" -:Date: 2020-02-28 -:Revision: 1 -:icons: -:source-highlighter: highlightjs -:highlightjs-theme: solarized_dark - -<<< - -IMPORTANT: Please be sure that you have first *Portal (Auth n Auth)* installed and configured! - -== Requirements -* Node.js 12.14.1 -* Angular-CLI - -== How to build the Backend -How to build the Backend is described in `/deploy/`*get_started.txt*. Since you are reading this file you have most likely already -have build the backend succesfully. - -== How to build the Frontend - -=== Install Node.js - -Node.js is an open-source, cross-platform JavaScript run-time environment for executing JavaScript (also Typescript which is a strongly typed form of JavaScript) code server-side. - -* Download Node.js 12.14.1 from https://nodejs.org/download/release/v12.14.1/ by clicking on a xxx.msi image for windows. -* Run the downloaded Node.js .msi Installer - including accepting the license, selecting the destination, and authenticating for the install. -This requires Administrator privileges, and you may need to authenticate -* To ensure Node.js has been installed, run the following in your terminal - you should get something like v12.14.1 - -[source,command] ----- - $ node -v ----- -{blank} - -=== Update the npm Angular-CLI client -This package manager comes bundled with Node.js and its good to have the latest version. - -* Open a command line and navigate to the root folder of the frontend project -* Run the following commands (the version is defined in the package.json file): - -[source,command] ----- - $ npm install --save-dev @angular/cli ----- -{blank} - -[source,command] ----- - $ npm install ----- -{blank} - -=== Building the Frontend - -* Open a command line and navigate to the root folder of the frontend project -* Run the following commands: - -[source,command] ----- - $ npm run build ----- -{blank} - - -TIP: Next Step -> Read the *howtoRun* file! - - -
diff --git a/src/main/asciidoc/howto/howtoRun.adoc b/src/main/asciidoc/howto/howtoRun.adoc deleted file mode 100644 index c703116..0000000 --- a/src/main/asciidoc/howto/howtoRun.adoc +++ /dev/null
@@ -1,229 +0,0 @@ -= openKonsequenz - How to run the module "Contact Base Data" -:Date: 2020-02-28 -:Revision: 1 -:icons: -:source-highlighter: highlightjs -:highlightjs-theme: solarized_dark - -<<< - -IMPORTANT: Please be sure that you have first *Portal (Auth n Auth)* installed and configured! - -== Requirements -* Browser (Chrome or Firefox) -* `contact-base-data.jar` file after a successfully maven build located in `<backend project root>/target`. -See `get_started.txt`. - -== Prerequisites - -* *To see this application running you have to run Portal application too.* The reason is the authentication, which happened in the Portal login phase. - -== Configure Keycloak -Login into your Keycloak Admin Console and add the following Roles: - -* kon-access -* kon-admin -* kon-reader -* kon-writer - -* Option 1: Add/Edit users manually to/in Keycloak (see *Portal (Auth n Auth)* documents (not included here)) with the according roles. -* Option 2: You can also use the `deploy/keycloak/addKeycloakUsersCDB.sh` script to add users. Adjust the script accordingly. -The script has to be copied and executed within the bin folder of the Keycloak installation `[keycloakRootFolder]/bin`. - - -== Install and configure Apache Tomcat -Tomcat is an open-source Java Servlet Container and provides a "pure Java" HTTP web server environment in which Java code can run. - -* Download Tomcat version 8.x.xx from https://archive.apache.org/dist/tomcat/tomcat-8/ -and extract it (apache-tomcat-8-x-xx.zip). -* Place the extracted folder on your C drive. - - -== Install and deploy the Database - -Use any software for databases which is compatible to postgreSQL, we suggest pgAdmin 3: - -. Download and install pgAdmin (version 3 is used during developing process) from: - https://www.pgadmin.org/download/ -. Create a database example: `ContactBaseDataDbProd` -. Create a Role with name `CBD_SERVICE` and a password. You can either use the script -in `<backend project root>/deploy/db/01_createRole.sql` (edit the password beforehand) or do it manually with pgAdmin. -. Execute the sql script `<backend project root>/deploy/db/02_create_tables_with_example_data.sql` - -The Database is now ready to use and filled with some example data. If you want to clean the example data execute the sql script -`<backend project root>/deploy/db/03_clean_example_data.sql` - -== How to run the Backend - -Put the `contact-base-data.jar` (see Requirements) in a folder of your choice. -Copy the file `application.yml` from `<backend project root>/src/main/resources/application.yml` next to your `contact-base-data.jar`. -Configure your copied `application.yml` according to your desired and mandatory settings. See next paragraph for an explanation of each -option. - -=== Configuration of the Contact Base Data Backend - -The backend service is configured with the `application.yml` file. - -==== Profiles -This yml-file can be divided into different configuration profiles. -When starting the backend-service one has the possibility to specify -the active profile with the -D flag (more on that later). -If no active profile is selected the "Default" profile will be used. -The "Default" profile starts at the beginning of the file and ends at the first "---". -Profiles are divided by "---" and can be recognised by the keyword "spring: profiles: <profilename>". - -If a profile is missing a setting, it'll be taken from the "Default" profile. - -[source, txt] ----- -[...] - ---- - -spring: -profiles: test - -[...] ----- - -==== Configuration Settings -All possible configuration values located in the in application.yml and their explanation. - -* *spring*: -** *datasource*: Section for the database connection -*** url: jdbc:postgresql://serverdomain:port (default: 5432)/NameOfDatabase (Example: ContactBaseDataDbProd) -*** username: cbd_service -*** password: <password of cbd_service> see "Install and deploy the Database" point 3 -** *flyway*: -*** *enabled*: (true or false) If enabled=true then the database migrations -will be performed automatically when starting the application -(this parameter should normally be set to "false") -** *ldap*: -*** *base*: The base LDAP path -*** *port*: The LDAP server port -*** *username*: Admin user of your LDAP -*** *password*: Admin password -*** *urls*: The URL of the LDAP server should be in the format ldap://myserver.example.com:10389. -For SSL access, use the ldaps protocol and the appropriate port, e.g. ldaps://myserver.example.com:636 - -* *ldap-sync*: -** *db-id-mapping*: -*** *telephone-number-id*: the primary ID for "telephone number" row in table REF_COMMUNICATION_TYPE. -(Default: 1) If set to -1 ldapmapping is disable for "telephone number" -*** *mail-id*: the primary ID for "mail" row in table REF_COMMUNICATION_TYPE. -(Default: 2) If set to -1 ldapmapping is disable for "mail" -** *scheduling*: -*** *enabled*: (true or false) Switches LDAP synchronisation on/off -*** *cron-expression*: http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html[Cron Trigger Tutorial] + -Spring Cron only takes 5 parameters not 6, the year is exlcuded! + -Examples: '*/10 * * * * *' = every 10 seconds, '0 0 */3 ? * *' = every 3 hours, '0 0 0 * * ?' = every day at midnight. -** *attribute-mapping*: -*** [not changeable variable in contact base data modul]: [attribute field name in your LDAP to be mapped].All possible mappings are: -[source,yml] ----- -uid: uid -fullname: cn -lastname: sn -firstname: givenname -title: title -mail: mail -department: department -telephone-number: phone ----- - -* *authnauth-sync*: -** *attribute-mapping*: -*** *lastname*: (true or false) Switches AuthNAuth synchronisation of field Lastname on/off -*** *firstname*: (true or false) Switches AuthNAuth synchronisation of field Firstname on/off -** *scheduling*: -*** *enabled*: (true or false) Switches AuthNAuth synchronisation on/off -*** *cron-expression*: http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html[Cron Trigger Tutorial] + -Spring Cron only takes 5 parameters not 6, the year is exlcuded! + -Examples: '*/10 * * * * *' = every 10 seconds, '0 0 */3 ? * *' = every 3 hours, '0 0 0 * * ?' = every day at midnight. -** *technical-username*: A technical user from the AuthNAuth modul doesn't have to be an admin -** *technical-userpassword*: Technical user password - - -* *server*: -** *port*: (Default: 9155) Port which is used for this backend 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") -** *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) -* *services*: -** *authNAuth*: -*** *name*: authNAuthService - -* *authNAuthService*: -** *ribbon*: -*** *listOfServers*: Here one can configure the base -URL to the Auth'n'Auth-service Example: http://entopkon:8880. -The server where the Auth'n'Auth modul is installed. - -* *feign*: -** *client*: -*** *config*: -**** *default*: -***** *connectTimeout*: (Default: 60000) Connection timeout for the REST-Calls (in ms). -***** *readTimeout*: (Default: 60000) Read timeout for the REST-Calls (in ms). - -* *cors*: -** *corsEnabled*: (Default: false) (true or false) Cross-Origin Resource Sharing on/off - -=== Starting the Backend - -To execute the backend with the "Default" profile just run the command: - -[source,command] ----- - $ java -jar ./contact-base-data.jar qserver ----- -To execute the backend with for example the profile "qserver" run the command: - -[source,command] ----- - $ java -Dspring.profiles.active=qserver -jar ./contact-base-data.jar qserver ----- - -IMPORTANT: Make sure you have set "corsEnabled" to true in your Production environment since -Frontend (Tomcat) and Backend (Spring Application) will run on different ports! - -TIP: It's recommend to install the execution of the Backend as a System Service (Win/Linux). - -== How to run the Frontend - -=== Configure your Webserver -Frontend (Tomcat) and Backend (Spring Application) will run on different ports you need to configure -your webserver to proxy the request coming form the Frontend to the Backend. -The following is an example configuration for an Apache HTTP Server (Webserver) for port 80. - -[source,conf] ----- - -<VirtualHost *:80> - - # Kontaktstammdaten - ProxyPass /contactdatabase/api http://localhost:9155 - -</VirtualHost> - ----- - -`http://localhost:9155` is the location of the Backend. The port has to be adjusted according to your settings made in -see section "How to run the Backend" -> "Configuration of the Contact Base Data Backend" -> "Configuration Settings" -> "Server:" "Port:" - - -=== Deploying the Frontend - -. Create a folder named `contactdatabase` in `<tomcat>/webapps` folder -. After building the Frontend (see `howtoBuild` file) copy the content of the `dist` folder to `<tomcat>/webapps/contactdatabase` -. Start your Tomcat - -Now log in with the "Portal Application" and open the "Contact Base Data" module. If it shows the overview and the its example data -the application was successfully deployed. - -
diff --git a/src/main/asciidoc/images/abbrechen.png b/src/main/asciidoc/images/abbrechen.png deleted file mode 100644 index 4c4abb2..0000000 --- a/src/main/asciidoc/images/abbrechen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/abmelden.png b/src/main/asciidoc/images/abmelden.png deleted file mode 100644 index db1eb04..0000000 --- a/src/main/asciidoc/images/abmelden.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/admin-menue-symbol.png b/src/main/asciidoc/images/admin-menue-symbol.png deleted file mode 100644 index 24c32dd..0000000 --- a/src/main/asciidoc/images/admin-menue-symbol.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/adresse-anlegen.png b/src/main/asciidoc/images/adresse-anlegen.png deleted file mode 100644 index f73886d..0000000 --- a/src/main/asciidoc/images/adresse-anlegen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/adresseliste-gefuellt.png b/src/main/asciidoc/images/adresseliste-gefuellt.png deleted file mode 100644 index 3ad145d..0000000 --- a/src/main/asciidoc/images/adresseliste-gefuellt.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/adressliste-leer.png b/src/main/asciidoc/images/adressliste-leer.png deleted file mode 100644 index d09b5a3..0000000 --- a/src/main/asciidoc/images/adressliste-leer.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/adresstyp-anlegen.png b/src/main/asciidoc/images/adresstyp-anlegen.png deleted file mode 100644 index eb6ff9e..0000000 --- a/src/main/asciidoc/images/adresstyp-anlegen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/adresstypen-uebersicht.png b/src/main/asciidoc/images/adresstypen-uebersicht.png deleted file mode 100644 index dce5123..0000000 --- a/src/main/asciidoc/images/adresstypen-uebersicht.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/anpsrechpartner-leer.png b/src/main/asciidoc/images/anpsrechpartner-leer.png deleted file mode 100644 index 5c0436e..0000000 --- a/src/main/asciidoc/images/anpsrechpartner-leer.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/anrede-anlegen.png b/src/main/asciidoc/images/anrede-anlegen.png deleted file mode 100644 index f5f34a2..0000000 --- a/src/main/asciidoc/images/anrede-anlegen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/ansprechpartner-anlegen.png b/src/main/asciidoc/images/ansprechpartner-anlegen.png deleted file mode 100644 index f57a9ca..0000000 --- a/src/main/asciidoc/images/ansprechpartner-anlegen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/ansprechpartner-gefuellt.png b/src/main/asciidoc/images/ansprechpartner-gefuellt.png deleted file mode 100644 index 3b44ee2..0000000 --- a/src/main/asciidoc/images/ansprechpartner-gefuellt.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/auge-symbol.png b/src/main/asciidoc/images/auge-symbol.png deleted file mode 100644 index 455abd2..0000000 --- a/src/main/asciidoc/images/auge-symbol.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/auswahl-kontakt-anlegen.png b/src/main/asciidoc/images/auswahl-kontakt-anlegen.png deleted file mode 100644 index a427896..0000000 --- a/src/main/asciidoc/images/auswahl-kontakt-anlegen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/auswahl-kontakttypen.png b/src/main/asciidoc/images/auswahl-kontakttypen.png deleted file mode 100644 index 5d1bc27..0000000 --- a/src/main/asciidoc/images/auswahl-kontakttypen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/auswahl-sortierung-2.png b/src/main/asciidoc/images/auswahl-sortierung-2.png deleted file mode 100644 index 319866f..0000000 --- a/src/main/asciidoc/images/auswahl-sortierung-2.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/auswahl-sortierung.png b/src/main/asciidoc/images/auswahl-sortierung.png deleted file mode 100644 index 63ef815..0000000 --- a/src/main/asciidoc/images/auswahl-sortierung.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/beantragen.png b/src/main/asciidoc/images/beantragen.png deleted file mode 100644 index 88044aa..0000000 --- a/src/main/asciidoc/images/beantragen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/button_tabelle_kalender.jpg b/src/main/asciidoc/images/button_tabelle_kalender.jpg deleted file mode 100644 index 92a33ce..0000000 --- a/src/main/asciidoc/images/button_tabelle_kalender.jpg +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/dateien_hochladen.png b/src/main/asciidoc/images/dateien_hochladen.png deleted file mode 100644 index c07d4be..0000000 --- a/src/main/asciidoc/images/dateien_hochladen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/dialog-nach-abbrechen.png b/src/main/asciidoc/images/dialog-nach-abbrechen.png deleted file mode 100644 index fa13b42..0000000 --- a/src/main/asciidoc/images/dialog-nach-abbrechen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/dsgvo-anonymisieren-hinweis.png b/src/main/asciidoc/images/dsgvo-anonymisieren-hinweis.png deleted file mode 100644 index 6a90519..0000000 --- a/src/main/asciidoc/images/dsgvo-anonymisieren-hinweis.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/dsgvo-anonymisieren-vorher.png b/src/main/asciidoc/images/dsgvo-anonymisieren-vorher.png deleted file mode 100644 index a828b7c..0000000 --- a/src/main/asciidoc/images/dsgvo-anonymisieren-vorher.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/dsgvo-module.png b/src/main/asciidoc/images/dsgvo-module.png deleted file mode 100644 index 1652bb1..0000000 --- a/src/main/asciidoc/images/dsgvo-module.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/dsgvo-suche.png b/src/main/asciidoc/images/dsgvo-suche.png deleted file mode 100644 index 0338145..0000000 --- a/src/main/asciidoc/images/dsgvo-suche.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/einzelmassnahme-loeschen.png b/src/main/asciidoc/images/einzelmassnahme-loeschen.png deleted file mode 100644 index f74a18c..0000000 --- a/src/main/asciidoc/images/einzelmassnahme-loeschen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/email-verteiler.png b/src/main/asciidoc/images/email-verteiler.png deleted file mode 100644 index 52966ce..0000000 --- a/src/main/asciidoc/images/email-verteiler.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/erinnerung_datum_grau.png b/src/main/asciidoc/images/erinnerung_datum_grau.png deleted file mode 100644 index 069c12f..0000000 --- a/src/main/asciidoc/images/erinnerung_datum_grau.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/erinnerung_datum_orange.png b/src/main/asciidoc/images/erinnerung_datum_orange.png deleted file mode 100644 index f59a47b..0000000 --- a/src/main/asciidoc/images/erinnerung_datum_orange.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/erinnerung_datum_rot.jpg b/src/main/asciidoc/images/erinnerung_datum_rot.jpg deleted file mode 100644 index d5b4a64..0000000 --- a/src/main/asciidoc/images/erinnerung_datum_rot.jpg +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/erinnerung_glocke_grau.png b/src/main/asciidoc/images/erinnerung_glocke_grau.png deleted file mode 100644 index d4ea274..0000000 --- a/src/main/asciidoc/images/erinnerung_glocke_grau.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/erinnerung_glocke_orange.png b/src/main/asciidoc/images/erinnerung_glocke_orange.png deleted file mode 100644 index 918723f..0000000 --- a/src/main/asciidoc/images/erinnerung_glocke_orange.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/erinnerung_glocke_rot.jpg b/src/main/asciidoc/images/erinnerung_glocke_rot.jpg deleted file mode 100644 index 1ce63ec..0000000 --- a/src/main/asciidoc/images/erinnerung_glocke_rot.jpg +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/externe-person-1.png b/src/main/asciidoc/images/externe-person-1.png deleted file mode 100644 index 3b451b8..0000000 --- a/src/main/asciidoc/images/externe-person-1.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/filter_speichern.png b/src/main/asciidoc/images/filter_speichern.png deleted file mode 100644 index 5a7d08a..0000000 --- a/src/main/asciidoc/images/filter_speichern.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/haus-symbol.png b/src/main/asciidoc/images/haus-symbol.png deleted file mode 100644 index 4ace3d2..0000000 --- a/src/main/asciidoc/images/haus-symbol.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/hilfe.png b/src/main/asciidoc/images/hilfe.png deleted file mode 100644 index b5c6f9e..0000000 --- a/src/main/asciidoc/images/hilfe.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/icons/caution.png b/src/main/asciidoc/images/icons/caution.png deleted file mode 100644 index 9a8c515..0000000 --- a/src/main/asciidoc/images/icons/caution.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/icons/important.png b/src/main/asciidoc/images/icons/important.png deleted file mode 100644 index be685cc..0000000 --- a/src/main/asciidoc/images/icons/important.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/icons/note.png b/src/main/asciidoc/images/icons/note.png deleted file mode 100644 index 7c1f3e2..0000000 --- a/src/main/asciidoc/images/icons/note.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/icons/tip.png b/src/main/asciidoc/images/icons/tip.png deleted file mode 100644 index f087c73..0000000 --- a/src/main/asciidoc/images/icons/tip.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/icons/warning.png b/src/main/asciidoc/images/icons/warning.png deleted file mode 100644 index d41edb9..0000000 --- a/src/main/asciidoc/images/icons/warning.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/interne-person-1.png b/src/main/asciidoc/images/interne-person-1.png deleted file mode 100644 index b9ff552..0000000 --- a/src/main/asciidoc/images/interne-person-1.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/interne-person-2.png b/src/main/asciidoc/images/interne-person-2.png deleted file mode 100644 index 61fac82..0000000 --- a/src/main/asciidoc/images/interne-person-2.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/kommunikationskanaele-leer.png b/src/main/asciidoc/images/kommunikationskanaele-leer.png deleted file mode 100644 index 1ddc182..0000000 --- a/src/main/asciidoc/images/kommunikationskanaele-leer.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/kommunikationskanal-anlegen.png b/src/main/asciidoc/images/kommunikationskanal-anlegen.png deleted file mode 100644 index 55407a6..0000000 --- a/src/main/asciidoc/images/kommunikationskanal-anlegen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/kommunikationskanal-gefuellt.png b/src/main/asciidoc/images/kommunikationskanal-gefuellt.png deleted file mode 100644 index 83bf398..0000000 --- a/src/main/asciidoc/images/kommunikationskanal-gefuellt.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/kommunikationstyp-nur-ansicht.png b/src/main/asciidoc/images/kommunikationstyp-nur-ansicht.png deleted file mode 100644 index 80950be..0000000 --- a/src/main/asciidoc/images/kommunikationstyp-nur-ansicht.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/kommunikationstypen-anlegen.png b/src/main/asciidoc/images/kommunikationstypen-anlegen.png deleted file mode 100644 index 4590ad0..0000000 --- a/src/main/asciidoc/images/kommunikationstypen-anlegen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/kommunikationstypen-uebersicht.png b/src/main/asciidoc/images/kommunikationstypen-uebersicht.png deleted file mode 100644 index 2cfe3e2..0000000 --- a/src/main/asciidoc/images/kommunikationstypen-uebersicht.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/kontakte_uebersichtstabelle.png b/src/main/asciidoc/images/kontakte_uebersichtstabelle.png deleted file mode 100644 index 2221e0e..0000000 --- a/src/main/asciidoc/images/kontakte_uebersichtstabelle.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/loesch-symbol.png b/src/main/asciidoc/images/loesch-symbol.png deleted file mode 100644 index 22af7fa..0000000 --- a/src/main/asciidoc/images/loesch-symbol.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/meldung-fehler.png b/src/main/asciidoc/images/meldung-fehler.png deleted file mode 100644 index 4dfa584..0000000 --- a/src/main/asciidoc/images/meldung-fehler.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/meldung-hinweis.png b/src/main/asciidoc/images/meldung-hinweis.png deleted file mode 100644 index cb9f0d9..0000000 --- a/src/main/asciidoc/images/meldung-hinweis.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/meldung-loeschen.png b/src/main/asciidoc/images/meldung-loeschen.png deleted file mode 100644 index 9d70d50..0000000 --- a/src/main/asciidoc/images/meldung-loeschen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/meldung_hinweis.png b/src/main/asciidoc/images/meldung_hinweis.png deleted file mode 100644 index e64fc27..0000000 --- a/src/main/asciidoc/images/meldung_hinweis.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/modul-zuordnen.png b/src/main/asciidoc/images/modul-zuordnen.png deleted file mode 100644 index 3b56d58..0000000 --- a/src/main/asciidoc/images/modul-zuordnen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/modulzuordnung-gefuellt.png b/src/main/asciidoc/images/modulzuordnung-gefuellt.png deleted file mode 100644 index 0ab1681..0000000 --- a/src/main/asciidoc/images/modulzuordnung-gefuellt.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/modulzuordnung-leer.png b/src/main/asciidoc/images/modulzuordnung-leer.png deleted file mode 100644 index 20923b9..0000000 --- a/src/main/asciidoc/images/modulzuordnung-leer.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/neu.png b/src/main/asciidoc/images/neu.png deleted file mode 100644 index b9c37be..0000000 --- a/src/main/asciidoc/images/neu.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/oeffnen-modul.png b/src/main/asciidoc/images/oeffnen-modul.png deleted file mode 100644 index e031a76..0000000 --- a/src/main/asciidoc/images/oeffnen-modul.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/personentypen-anlegen.png b/src/main/asciidoc/images/personentypen-anlegen.png deleted file mode 100644 index 4988a36..0000000 --- a/src/main/asciidoc/images/personentypen-anlegen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/personentypen-uebersicht.png b/src/main/asciidoc/images/personentypen-uebersicht.png deleted file mode 100644 index 67e3f2f..0000000 --- a/src/main/asciidoc/images/personentypen-uebersicht.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/speichern.png b/src/main/asciidoc/images/speichern.png deleted file mode 100644 index 74aec3a..0000000 --- a/src/main/asciidoc/images/speichern.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/stift-symbol.png b/src/main/asciidoc/images/stift-symbol.png deleted file mode 100644 index 3c392e5..0000000 --- a/src/main/asciidoc/images/stift-symbol.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/such-symbol.png b/src/main/asciidoc/images/such-symbol.png deleted file mode 100644 index 2207a59..0000000 --- a/src/main/asciidoc/images/such-symbol.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/suche-beispiel.png b/src/main/asciidoc/images/suche-beispiel.png deleted file mode 100644 index e44f831..0000000 --- a/src/main/asciidoc/images/suche-beispiel.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/tabellen-menue.png b/src/main/asciidoc/images/tabellen-menue.png deleted file mode 100644 index 943eced..0000000 --- a/src/main/asciidoc/images/tabellen-menue.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/tabellenspalten-verschieben.png b/src/main/asciidoc/images/tabellenspalten-verschieben.png deleted file mode 100644 index 0953ee8..0000000 --- a/src/main/asciidoc/images/tabellenspalten-verschieben.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/uebersicht-anrede.png b/src/main/asciidoc/images/uebersicht-anrede.png deleted file mode 100644 index 4c9163f..0000000 --- a/src/main/asciidoc/images/uebersicht-anrede.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/unternehmen-2.png b/src/main/asciidoc/images/unternehmen-2.png deleted file mode 100644 index aa99aa2..0000000 --- a/src/main/asciidoc/images/unternehmen-2.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/images/unternehmen.png b/src/main/asciidoc/images/unternehmen.png deleted file mode 100644 index d2e344b..0000000 --- a/src/main/asciidoc/images/unternehmen.png +++ /dev/null Binary files differ
diff --git a/src/main/asciidoc/userDocumentation/userDocumentation.adoc b/src/main/asciidoc/userDocumentation/userDocumentation.adoc deleted file mode 100644 index 986320f..0000000 --- a/src/main/asciidoc/userDocumentation/userDocumentation.adoc +++ /dev/null
@@ -1,789 +0,0 @@ -= Benutzerhandbuch: Kontaktstammdaten - -<<< - - -* Version: 1.0.1 -* Datum: 25.02.2020 -* Status: Final - -<<< - -:Author: Dr. Michel Alessandrini -:Email: michel.alessandrini@pta.de - -:Date: 2020-02-25 -:Revision: 1.0.1 - -:icons: - -:source-highlighter: highlightjs -:highlightjs-theme: solarized_dark - -:lang: de -:encoding: utf-8 - -:imagesdir: ../images -:iconsdir: ../images/icons - -:toc: -:toclevels: 4 -:toc-title: Inhaltsverzeichnis -:toc-placement!: -:sectanchors: -:numbered: - -toc::[] - -<<< - -== Sinn und Zweck des Moduls Kontaktstammdaten - -Das Modul Kontaktstammdaten ist ein Domain-Modul der openKONSEQUENZ-Plattform. - -Das Modul Kontaktstammdaten übernimmt die Verwaltung aller Kontaktdaten -in einer openKONSEQUENZ-Installation. D.h. es synchronisiert sich mit den -Benutzern des Auth&Auth-Moduls oder mit dem Unternehmens-LDAP. Des Weiteren -verwaltet es alle (Internen und Externen) Personen sowie Unternehmen, die in den -User Modulen benötigt werden. - -Das Modul Kontaktstammdaten ist somit die zentrale Stelle zur Verwaltung -aller Kontakte und personenbezogener Daten in einer openKONSEQUENZ-Installation. -Es setzt die DSGVO-Vorgaben um. - -<<< - - -[[uebersicht-benutzerrollen]] -== Benutzerrollen und Aufgaben -Zur Bearbeitung von Kontaktstammdaten sind folgende Benutzerrollen -definiert. - -[[lesende-rolle]] -=== Lesende Rolle -* <<uebersicht-aller-kontakte,Darf alle Kontakte sehen>> -* <<suche-suche,Darf nach Kontakten suchen>> - -[[schreibende-rolle]] -=== Schreibende Rolle -* <<lesende-rolle,Darf alles, was die Lesende Rolle darf>> -* <<kontakt-erstellen,Darf neue Kontakte anlegen>> -* <<kontakt-bearbeiten,Darf bestehende Kontakte bearbeiten>> -* <<ansprechparter-loeschen,Darf Ansprechpartner eines Unternehmens entfernen>> -* <<dsgvo-funktionen,Darf DSGVO-Funktionen ausführen>> - -[[admin-rolle]] -=== Administrator -* <<schreibende-rolle,Darf alles, was die Schreibende Rolle darf>> -* <<verwaltung-stammdaten,Darf Stammdaten anlegen, bearbeiten, löschen>> - - -<<< - -== Verwaltung der Kontakte - -[[uebersicht-aller-kontakte]] -=== Übersicht -Die Übersichtsseite stellt standardmäßig alle Kontakte -in einer Tabelle dar. - -.Übersicht der Kontakte -[options="header,footer"] -image::kontakte_uebersichtstabelle.png[] - -Die Übersichtstabelle zeigt zu jedem Kontakt folgende Informationen an: - -.Felder in der Tabellenübersicht -[options="header"] -|========================================================= -|Feld|Erläuterung -|Name -a| - * Name des Kontakts (Personen- oder Firmen-Name) - -|E-Mail -a| - -* E-Mail-Adresse des Kontakts - -|Kontakttyp -a| - -* Unternehmen -* Interne Person -* Externe Person -* Ansprechpartner - -|Notiz -a| - -* Bemerkung bzw. Hinweis zu einem Kontakt - -|Hauptadresse -a| - -* Primäre Anschrift - -|(ohne Überschrift) -a| - -* Benutzeraktionen, siehe <<uebersicht-bearbeitungssymbole, Symbole>> - -|========================================================= - -[[uebersicht-bearbeitungssymbole]] -=== Kontakt anlegen, anzeigen, bearbeiten und löschen - -Jeder Kontakt kann direkt aus der Tabelle zur Anzeige oder zur Bearbeitung -geöffnet werden. - -==== Kontakt anzeigen - -Über folgendes Symbol öffnet sich der entsprechende Kontakt zur Anzeige. - -.Auge-Symbol zum Anzeigen eines Kontakts -[options="header,footer"] -image::auge-symbol.png[] - -CAUTION: Das Auge-Symbol ist nur bei der "Lesenden Rolle" sichtbar. - -[[kontakt-bearbeiten]] -==== Kontakt bearbeiten - -Über folgendes Symbol öffnet sich der entsprechende Kontakt -zur Bearbeitung. - -.Stift-Symbol zum Bearbeiten eines Kontakts -[options="header,footer"] -image::stift-symbol.png[] - -CAUTION: Das Stift-Symbol ist nur bei der "Schreibenden Rolle" und der Rolle "Administrator" sichtbar. - -==== Kontakt löschen -Kontakte können nicht entfernt, sondern lediglich <<dsgvo-anonymisieren,anonymisiert>> werden. -Die einzige Ausnahme bilden die <<ansprechparter-loeschen,Ansprechpartner eines Unternehmens>>, -die entfernt werden können. - -CAUTION: Anonymisieren und löschen ist nur bei der "Schreibenden Rolle" und der Rolle "Administrator" sichtbar. - -[[kontakt-erstellen]] -==== Kontakt anlegen -Ist ein Benutzer mit der Benutzerrolle "Schreibende Rolle" angemeldet, -so besteht die Möglichkeit über die Schaltfläche "Neuen Kontakt anlegen" einen -neuen Kontakt hinzuzufügen. - -.Schaltfläche zum Erstellen von Kontakten -[options="header,footer"] -image::auswahl-kontakt-anlegen.png[] - -Hier muss der Bearbeiter den Kontakttyp bestimmen: - -.Kontakttypen -[options="header"] -|========================================================= -|Kontakttyp|Erläuterung -|Interner Kontakt -a| - * Eine natürliche Person, die dem Unternehmen angehört - -|Externer Kontakt -a| -* Eine natürliche Person, die dem Unternehmen nicht angehört - -|Unternehmen -a| -* Eine juristische Person -|========================================================= - -Anschließend öffnet sich die Eingabemaske für den ausgewählten Kontakttypen. - - -=== Kontakttypen - -==== Interne Person -Die Basisinformationen eines Kontakts befindet sich im oberen -Teil des Benutzerdialogs. - -Pflichtfelder sind farblich markiert. Zunächst sind diese rot. Erst wenn die -Inhalte entsprechend eingetragen sind, ändert sich die Markierung auf grün. - -.Basis-Informationen eines Kontakts am Beispiel einer internen Person -[options="header,footer"] -image::interne-person-1.png[] - -Eine interne Person besitzt folgende Attribute: - -.Attribute einer internen Person -[options="header"] -|========================================================= -|Attribut |Pflichtfeld |Inhaltsart |Beschreibung -|Vorname |nein |Textfeld |Vorname der natürlichen Person -|Name |ja |Textfeld |Nachname der natürlichen Person -|Titel |nein |Textfeld |z.B. Prof. oder Dr. -|Anrede |nein |Auswahlfeld |Auswahl einer Anrede, z.B. Herr oder Frau -|Personentyp |nein |Auswahlfeld |Auswahl eines Personentyps -|LDAP User |nein |Textfeld |Bezeichnung des Benutzers im Unternehmens-LDAP. Im linken Feld kann durch Erfassung eines Namens im LDAP gesucht werden. Der ausgewählte Benutzer (im rechten Feld) wird zur Synchronisation verwendet. -|Portal User |nein |Textfeld |Bezeichnung des Benutzers im Portal. Im linken Feld kann durch Erfassung eines Namens im Portal gesucht werden. Der ausgewählte Benutzer (im rechten Feld) wird zur Synchronisation verwendet. -|Abteilung |nein |Textfeld |Abteilung der Person -|Notiz |nein |Textfeld |Beliebige Hinweise zur Person -|========================================================= - -Um den Kontakt zu speichern, muss die folgende Schaltfläche betätigt werden. - -.Schaltfläche zum Speichern -[options="header,footer"] -image::speichern.png[] - -Wenn die neu erfassten Daten nicht gespeichert werden sollen, dann ist folgende Schaltfläche zu drücken: - -.Schaltfläche zum Abbrechen (ohne speichern) -[options="header,footer"] -image::abbrechen.png[] - -Anschließend erscheint ein Dialog, der mit "Ja" zu bestätigen ist. - -.Dialog nach Abbrechen -[options="header,footer"] -image::dialog-nach-abbrechen.png[] - -==== Externe Person -Die Basisinformationen eines Kontakts befindet sich im oberen -Teil des Benutzerdialogs. - -Pflichtfelder sind farblich markiert. Zunächst sind diese rot. Erst wenn die -Inhalte entsprechend eingetragen sind, ändert sich die Markierung auf grün. - -.Basis-Informationen eines Kontakts am Beispiel einer externen Person -[options="header,footer"] -image::externe-person-1.png[] - -Eine externe Person besitzt folgende Attribute: - -.Attribute einer externen Person -[options="header"] -|========================================================= -|Attribut |Pflichtfeld |Inhaltsart |Beschreibung -|Vorname |nein |Textfeld |Vorname der natürlichen Person -|Name |ja |Textfeld |Nachname der natürlichen Person -|Titel |nein |Textfeld |z.B. Prof. oder Dr. -|Anrede |nein |Auswahlfeld |Auswahl einer Anrede, z.B. Herr oder Frau -|Personentyp |nein |Auswahlfeld |Auswahl eines Personentyps -|Notiz |nein |Textfeld |Beliebige Hinweise zur Person -|========================================================= - -==== Unternehmen -Die Basisinformationen eines Kontakts befindet sich im oberen -Teil des Benutzerdialogs. - -Pflichtfelder sind farblich markiert. Zunächst sind diese rot. Erst wenn die -Inhalte entsprechend eingetragen sind, ändert sich die Markierung auf grün. - -.Basis-Informationen eines Kontakts am Beispiel eines Unternehmens -[options="header,footer"] -image::unternehmen.png[] - -Ein Unternehmen besitzt folgende Attribute: - -.Attribute eines Unternehmens -[options="header"] -|========================================================= -|Attribut |Pflichtfeld |Inhaltsart |Beschreibung -|Name |ja |Textfeld |Nachname der natürlichen Person -|Rechtsform |nein |Textfeld |z.B. GmbH oder AG -|Handelsregisternummer |nein |Textfeld |Nummer in der Form HR A 11111 -|Notiz |nein |Textfeld |Beliebige Hinweise zum unternehmen -|========================================================= - -==== Ansprechpartner -Der Ansprechpartner ist kein eigener Kontakttyp. Dieser kann ausschließlich - <<ansprechpartner-unternehmen,über das Unternehmen erfasst werden, zudem der Ansprechpartner gehört.>> - - -=== Weitere Informationen zu einem Kontakt -Die Detailinformationen zu einem Kontakt befinden sich im unteren -Teil der Erfassungsmaske in aufklappbaren Bereichen: - -.Detail-Informationen eines Kontakts -[options="header,footer"] -image::unternehmen-2.png[] - -CAUTION: Bei der Neu-Anlage eines Kontakts sind die Details zunächst nicht sichtbar. Erst nach dem Speichern und dem erneuten Aufruf des neuen Kontakts werden die folgenden Detailinformationen angezeigt. - -Dieser Bereich ist in folgende Abschnitte unterteilt: - -* Adressen -* Kommunikationskanäle -* Modulzuordnung -* Ansprechpartner (nur bei Unternehmen) - - -==== Adressen -Die Adressliste beinhaltet alle Adressen der internen Person. Eine Adresse besteht aus folgenden Attributen: - -.Attribute einer Adresse (Kontakt-Detailinformationen) -[options="header"] -|========================================================= -|Attribut |Pflichtfeld |Inhaltsart |Beschreibung -|Adresstyp |ja |Auswahlfeld |Auswahl eines Adresstyps -|Hauptadresse |nein |Checkbox |Kennzeichen, ob dies die Hauptadresse ist (nur relevant, wenn mehrere Adressen vorhanden) -|Postleitzahl |nein |Zahl |Adressdaten -|Ort |nein |Textfeld |Adressdaten -|Adresse (Zusatz) |nein |Textfeld |Adressdaten -|Straße |nein |Textfeld |Adressdaten -|Hausnummer |nein |Textfeld |Adressdaten -|WGS84-Zone |nein |Textfeld |World Geodetic System 1984 für Positionsangaben -|Längengrad |nein |Textfeld |Geographische Länge: Ein Winkel, der ausgehend vom Nullmeridian (0°) bis 180° in östlicher und 180° in westlicher Richtung angegeben wird -|Breitengrad |nein |Textfeld |Geographische Breite: Angabe in Grad, Minuten und Sekunden -|Google Maps URL |nein |Textfeld |URL zu Google Maps mit den entsprechenden Parametern -|Notiz |nein |Textfeld |Beliebige Hinweise zur Person -|========================================================= - -Der geöffnete Bereich sieht folgendermaßen aus: - -.Tabellenansicht der Adressen unter einem Kontakt -[options="header,footer"] -image::adresseliste-gefuellt.png[] - -Über die Schaltfläche "Neue Adresse anlegen" kann eine Adresse angelegt werden. -Anschließend öffnet sich die folgende Maske, die auch bei der Bearbeitung zum Einsatz kommt: - -.Maske zur Anlage einer Adresse unter einem Kontakt -[options="header,footer"] -image::adresse-anlegen.png[] - - -==== Kommunikationskanäle -Die Kommunikationskanäle beinhalten alle Kontaktinformationen. Ein Kommunikationskanal besteht aus folgenden Attributen: - -.Attribute eines Kommunikationskanals (Kontakt-Detailinformationen) -[options="header"] -|========================================================= -|Attribut |Pflichtfeld |Inhaltsart |Beschreibung -|Typ |ja |Auswahlfeld |Auswahl eines Kommunikationskanals -|Daten |nein |Textfeld |Kontaktinformationen des entsprechenden Kommunikationskanals -|Notiz |nein |Textfeld |Beliebige Hinweise zum Kommunikationskanal -|========================================================= - -Der geöffnete Bereich sieht folgendermaßen aus: - -.Tabellenansicht der Kommunikationskanäle unter einem Kontakt -[options="header,footer"] -image::kommunikationskanal-gefuellt.png[] - -Über die Schaltfläche "Neuen Kommunikationskanal anlegen" kann ein Kommunikationskanal angelegt werden. -Anschließend öffnet sich die folgende Maske, die auch bei der Bearbeitung zum Einsatz kommt: - -.Maske zur Anlage eines Kommunikationskanals unter einem Kontakt -[options="header,footer"] -image::kommunikationskanal-anlegen.png[] - -[[zugeordnete-module]] -==== Zugeordnete Module -Die Modulzuordnung legt fest, in welchen Modulen der Kontakt genutzt wird. -Des Weiteren kann hinterlegt werden, wie lange die Kontaktdaten mindestens -aufbewahrt werden müssen und wann diese ablaufen. - -Eine Modulzuordnung besteht aus folgenden Attributen: - -.Attribute einer Modulzuordnung (Kontakt-Detailinformationen) -[options="header"] -|========================================================= -|Attribut |Pflichtfeld |Inhaltsart |Beschreibung -|Modulname |ja |Auswahlfeld |Auswahl eines openKONSEQUENZ-Moduls -|Ablaufdatum |nein |Datum |Zeitpunkt, ab wann die Kontaktdaten gemäß DSGVO gelöscht werden müssen -|Löschsperre bis |nein |Datum |Zeitpunkt, bis wann die Kontaktdaten gemäß DSGVO nicht gelöscht werden dürfen -|Notiz |nein |Textfeld |Beliebige Hinweise zum Modul -|========================================================= - -Der geöffnete Bereich sieht folgendermaßen aus: - -.Tabellenansicht der Modulzuordnungen unter einem Kontakt -[options="header,footer"] -image::modulzuordnung-gefuellt.png[] - -Über die Schaltfläche "Neue Modulzuordnung anlegen" kann eine Modulzuordnung angelegt werden. -Anschließend öffnet sich die folgende Maske, die auch bei der Bearbeitung zum Einsatz kommt: - -.Maske zur Anlage einer Modulzuordnung unter einem Kontakt -[options="header,footer"] -image::modul-zuordnen.png[] - -[[ansprechpartner-unternehmen]] -==== Ansprechpartner (nur bei Unternehmen) -Die Ansprechpartner sind Personen, die zu einem Unternehmen gehören. Deshalb gibt es diese Daten nur bei dem Kontakttyp Unternehmen. -Ein Ansprechpartner besitzt folgende Attribute: - -.Attribute eines Ansprechpartners (Kontakt-Detailinformationen) -[options="header"] -|========================================================= -|Attribut |Pflichtfeld |Inhaltsart |Beschreibung -|Vorname |nein |Textfeld |Vorname des Ansprechpartners -|Name |ja |Textfeld |Nachname des Ansprechpartners -|Titel |nein |Textfeld |z.B. Prof. oder Dr. -|Anrede |nein |Auswahlfeld |Auswahl einer Anrede, z.B. Herr oder Frau -|Personentyp |nein |Auswahlfeld |Auswahl eines Personentyps -|Notiz |nein |Textfeld |Beliebige Hinweise zum Ansprechpartner -|========================================================= - -Der geöffnete Bereich sieht folgendermaßen aus: - -.Tabellenansicht der Ansprechpartner unter einem Kontakt -[options="header,footer"] -image::ansprechpartner-gefuellt.png[] - -Über die Schaltfläche "Neuen Ansprechpartner anlegen" kann ein Ansprechpartner angelegt werden. -Anschließend öffnet sich die folgende Maske, die auch bei der Bearbeitung zum Einsatz kommt: - -.Maske zur Anlage eines Ansprechpartners unter einem Kontakt -[options="header,footer"] -image::ansprechpartner-anlegen.png[] - -[[ansprechparter-loeschen]] -==== Löschen von weiteren Informationen eines Kontakts -Über das folgende Symbol in der Tabelle kann der entsprechende Eintrag -(Adresse, Kommunikationskanal, Modulzuordnung oder Ansprechpartner) -gelöscht werden. - -.Löschen-Symbol -[options="header,footer"] -image::loesch-symbol.png[] - -CAUTION: Das Mülleimer-Symbol ist nur bei der "Schreibenden Rolle" und bei der Rolle "Administrator" sichtbar. - -CAUTION: Die Löschfunktion steht nur beim Kontakttyp "Ansprechpartner" zur Verfügung. Andere Kontakte können nicht gelöscht werden. - -Nach Klick auf das Löschen-Symbol erscheint ein Dialog, der mit "Ja" zu bestätigen ist. - -.Dialog nach Klick auf Löschen -[options="header,footer"] -image::meldung-loeschen.png[] - - -<<< - -[[dsgvo-funktionen]] -== DSGVO-Funktionen -Das Modul Kontaktstammdaten ermöglicht für eine openKONSEQUENZ-Installation -die zentrale Umsetzung der DSGVO-Aufgaben: - -* Alle Informationen zu einem Kontakt finden -* Gültigkeitszeiträume für Personendaten festlegen -* Sperrfristen für Personendaten festlegen -* Abgelaufene Kontakte identifizieren -* Kontakte anonymisieren - -[[dsgvo-erfassen]] -=== Erfassung der DSGVO-Informationen zu einem Kontakt -Kontaktdaten können grundsätzlich in mehreren openKONSEQUENZ-Modulen verwendet werden. -Deshalb ist es bei jedem Kontakt (Interne und externe Person) möglich, die einzelnen -Module bei den Detailinformationen unter <<zugeordnete-module,Zugeordnete Module>> -zu erfassen. - -In diesem Vorgang können zu jeder Modulzuordnung weitere DSGVO-relevante Informationen -hinterlegt werden: - -* openKONSEQUENZ-Modul: Modul, dass diesen Kontakt verwendet -* Zuweisungsdatum: Wann der Kontakt erstmalig dem Modul verwendet wurde -* Ablaufdatum: Zeitpunkt nachdem der Kontakt zu anonymisieren ist -* Löschsperre bis: Zeitpunkt bis wann der Kontakt nicht anonymisiert werden darf - -Ein Beispiel für einen Kontakt mit mehreren Modulzuordnungen: - -.Beispiel Modulzuordnungen -[options="header,footer"] -image::dsgvo-module.png[] - -[[dsgvo-suche]] -=== Abgelaufene Kontakte identifizieren -In der Hauptübersicht befindet sich eine DSGVO-Suchfunktion. Mit dieser Suche -können folgende DSGVO-Informationen abgefragt werden: - -* Auswahl Module -* Ablaufdatum überschritten -* Löschsperre abgelaufen - -Des Weiteren kann diese Suche mit den Such-Kriterien der Standardsuche kombiniert werden. -Das folgende Beispiel zeigt eine Suche nach abgelaufenen Kontakten: - -.DSGVO-Suche -[options="header,footer"] -image::dsgvo-suche.png[] - -CAUTION: Es erfolgt keine automatische Anonymisierung nachdem das Ablaufdatum und/oder die Löschsperre abgelaufen sind. - -[[dsgvo-anonymisieren]] -=== Kontakt anonymisieren -Kontakte einer openKONSEQUENZ-Installation werden ausschließlich über das Modul -Kontaktstammdaten anonymisiert. Dabei ist folgendes zu beachten: - -CAUTION: Das Anonymisieren von Kontakten erfolgt immer manuell und für jeden Kontakt einzeln. - -Des Weiteren sind entsprechende Berechtigungen notwendig: - -CAUTION: Für das Anonymisieren von Kontakten ist die "Schreibende Rolle" oder die Rolle "Administrator" notwendig. - -Sind alle Voraussetzung erfüllt, wird der Kontakt wird über das <<kontakt-bearbeiten,Bearbeiten-Symbol>> in der Haupttabelle -aufgerufen, anschließend öffnet sich die Erfassungsmaske zur Bearbeitung eines -Kontakts: - -.Kontaktansicht mit Anonymisieren-Button -[options="header,footer"] -image::dsgvo-anonymisieren-vorher.png[] - -Über die Schaltfläche "Anonymisieren" erfolgt das Unkenntlichmachen des Kontakts. -Dazu wird der Name auf "* * *" geändert und alle anderen Felder geleert. - -Zuvor muss aber noch der folgende Dialog bestätigt werden: - -.Hinweis vor dem Anonymisieren -[options="header,footer"] -image::dsgvo-anonymisieren-hinweis.png[] - -Ist dies erfolgt, öffnet sich anschließend die Hauptansicht und der anonymisierte -Kontakt ist nicht mehr auffindbar. - -CAUTION: Ein anonymisierter Kontakt kann nicht wiederhergestellt werden. - -<<< - -[[verwaltung-stammdaten]] -== Verwaltung der Stammdaten -Die Funktionen zur Verwaltung der Stammdaten verbirgt sich hinter dem folgenden -Symbol in der Menüleiste: - -.Symbol zum Aufruf der Stammdaten-Verwaltung -[options="header,footer"] -image::admin-menue-symbol.png[] - -CAUTION: Die Stammdaten-Verwaltung ist nur für die Rolle "Administrator" verfügbar. - -Es können folgende Stammdaten bearbeitet werden: - -* Anreden -* Adresstypen -* Kommunikationstypen -* Personentypen - -=== Anreden -Nach dem Aufruf der Anreden-Verwaltung erscheint die Übersicht mit allen bereits -angelegten Anreden: - -.Tabellenansicht der Anreden -[options="header,footer"] -image::uebersicht-anrede.png[] - -Über die Schaltfläche "Neu" kann ein Eintrag angelegt werden. -Anschließend öffnet sich die folgende Maske, die auch bei der Bearbeitung zum Einsatz kommt: - -.Maske zur Anlage von Anreden -[options="header,footer"] -image::anrede-anlegen.png[] - - -=== Adresstypen -Nach dem Aufruf der Adresstypen-Verwaltung erscheint die Übersicht mit allen bereits -angelegten Adresstypen: - -.Tabellenansicht der Adresstypen -[options="header,footer"] -image::adresstypen-uebersicht.png[] - -Über die Schaltfläche "Neu" kann ein Eintrag angelegt werden. -Anschließend öffnet sich die folgende Maske, die auch bei der Bearbeitung zum Einsatz kommt: - -.Maske zur Anlage eines Adresstyps -[options="header,footer"] -image::adresstyp-anlegen.png[] - - -=== Kommunikationstypen -Nach dem Aufruf der Kommunikationstypen-Verwaltung erscheint die Übersicht mit allen bereits -angelegten Kommunikationstypen: - -.Tabellenansicht der Kommunikationstypen -[options="header,footer"] -image::kommunikationstypen-uebersicht.png[] - -Über die Schaltfläche "Neu" kann ein Eintrag angelegt werden. -Anschließend öffnet sich die folgende Maske, die auch bei der Bearbeitung zum Einsatz kommt: - -.Maske zur Anlage eines Kommunikationstypens -[options="header,footer"] -image::kommunikationstypen-anlegen.png[] - -Einige Einträge sind in der Standardkonfiguration enthalten und dürfen somit -nicht geändert werden. Diese sind in der Übersichtstabelle mit einem Auge-Symbol -gekennzeichnet. Wird der entsprechende Eintrag über dieses Symbol geöffnet, -so können keine Anpassungen vorgenommen werden. - -.Maske zur Ansicht eines Kommunikationstyps -[options="header,footer"] -image::kommunikationstyp-nur-ansicht.png[] - - -=== Personentypen -Nach dem Aufruf der Personentypen-Verwaltung erscheint die Übersicht mit allen bereits -angelegten Personentypen: - -.Tabellenansicht der Personentypen -[options="header,footer"] -image::personentypen-uebersicht.png[] - -Über die Schaltfläche "Neu" kann ein Eintrag angelegt werden. -Anschließend öffnet sich die folgende Maske, die auch bei der Bearbeitung zum Einsatz kommt: - -.Maske zur Anlage eines Personentyps -[options="header,footer"] -image::personentypen-anlegen.png[] - - -[[meldungen-hinweise]] -== Hinweise und Meldungen nach Benutzeraktionen -Nach Benutzeraktionen erscheinen in bestimmten Fällen Meldungen des Systems, -um den Benutzer: - -* Handlungsanweisungen zu geben, -* über Fehler des Systems zu informieren. - -=== Erfolg einer Aktion -Ist eine Benutzeraktion erfolgreich, so erscheint keine Meldung. - -=== Handlungsanweisung -In einigen Situationen muss der Benutzer weitere Aktionen ausführen, damit die -Handlung erfolgreich abgeschlossen werden kann. Diese gelb hinterlegten Hinweise -erscheinen im folgenden Fall: - -* Fehlenden Informationen (Pflichtfelder füllen) -* LDAP- und Auth&Auth-User dürfen für einen Kontakt nicht gleichzeitig synchronisiert werden - -.Hinweis Pflichtfelder -[options="header,footer"] -image::meldung-hinweis.png[] - -Diese Meldungen bleiben für fünf Sekunden sichtbar und verschwinden dann wieder -automatisch. - -=== Fehlermeldungen -Wenn Aktionen aufgrund technischer Gegebenheiten nicht erfolgreich durchgeführt -werden können, erscheinen rot hinterlegte Fehlermeldungen. Das kann u.a. in -folgenden Situationen passieren: - -* Speichern fehlgeschlagen -* Web Services nicht verfügbar - -.Fehlermeldung -[options="header,footer"] -image::meldung-fehler.png[] - -Diese Meldungen bleiben solange sichtbar bis sie durch den Benutzer über das -kleine x geschlossen werden. In diesen Fällen ist der Administrator zu -informieren. - -<<< - -== Allgemeine Funktionen - -=== An- und abmelden - -==== Modul "Kontaktstammdaten" aus Portal starten -Nach erfolgreicher Anmeldung am openKONSEQUENZ-Portal und mit entsprechender -Berechtigung für das Modul "Kontaktstammdaten" ist die Kachel für das Modul -sichtbar. Mit einem Klick auf die Kachel startet das Modul "Kontaktstammdaten" -in einem neuen Fenster. - -.Kachel zum Starten des Moduls "Kontaktstammdaten" -[options="header,footer"] -image::oeffnen-modul.png[] - -==== Abmelden -Die Schaltfläche zum Abmelden befindet sich hinter dem Benutzernamen. - -.Abmelden vom openKONSEQUENZ-System -[options="header,footer"] -image::abmelden.png[] - -CAUTION: Beim Klick auf "Abmelden" erfolgt nicht nur die Abmeldung vom Modul -Kontaktstammdaten, sondern die Abmeldung vom Portal. D.h. alle parallel geöffneten -openKONSEQUENZ-Module (wie z.B. Betriebstagebuch, Geplante Netzmaßnahme) werden -automatisch mit abgemeldet. - -Um die parallel geöffneten openKONSEQUENZ-Module nicht mit abzumelden, ist -lediglich das Browserfenster mit dem Modul Kontaktstammdaten zu schließen. - -=== Home-Button -Über den folgenden Home-Button in der Menüleiste kann jederzeit zur Tabellenansicht -zurückgekehrt werden. - -.Home-Button -[options="header,footer"] -image::haus-symbol.png[] - -CAUTION: Der Aufruf des Home-Buttons setzt die Suche, Filter und Sortierfunktion wieder zurück, sodass die Standardansicht wiederhergestellt ist. - -[[suche-suche]] -=== Suche -In der Übersicht ist eine Such-Funktion integriert, die eingegebenen Zeichen in -den Datensätzen der Kontaktstammdaten sucht. Bei der Suche werden alle Felder -berücksichtigt. - -.Suchfunktion -[options="header,footer"] -image::suche-beispiel.png[] - -Das Auswahlfeld "Kontakttypen" bestimmt den Suchumfang: - -* Alle Kontakttypen -* Interne Personen -* Externe Personen -* Unternehmen -* Ansprechpartner - -Die Suche wird direkt beim Eintippen des Suchbegriffs bzw. bei der Auswahl -eines Filterkriteriums ausgeführt. - -Darüber hinaus steht eine <<dsgvo-suche,DSGVO-Suche>> zur Verfügung. - -[[sortieren]] -=== Sortieren -Die Sortierung in der Haupttabelle erfolgt über zwei Auswahlfelder: - -.Auswahl des Attributs für die Sortierung -[options="header,footer"] -image::auswahl-sortierung.png[] - -.Auswahl der Reihenfolge -[options="header,footer"] -image::auswahl-sortierung-2.png[] - -Nach Auswahl der entsprechenden Felder erfolgt die Suche automatisch. - -=== Hilfe -Diese Benutzerdokumentation ist über das Hilfe-Symbol in der Kopfzeile erreichbar: - -.Hilfe-Symbol -[options="header,footer"] -image::hilfe.png[] - -=== Synchronisierung mit Verzeichnisdiensten -Die Aktivierung der Synchronisierung der Kontaktstammdaten mit den Verzeichnisdiensten -LDAP und/oder Auth&Auth erfolgt durch den Administrator. - -<<< - -== Kompatibilität -Die Anwendung ist für folgende Endgeräte optimiert: - -* Desktop-PC -* Tablet - -Es unterstützt folgende Browser: - -* Google Chrome -* Firefox - -Die Bildschirmauflösung bzw. die Fenstergröße des Browsers sollte folgende -Werte nicht unterschreiten: - -* 1.024 x 768 Pixel - -<<<