Technik:CoPlanner-Server

Aus CoPlanner 11
Zur Navigation springenZur Suche springen

Der Ordner CoPlanner-Server muss auf jenem Rechner vorhanden sein, welcher als Server fungieren soll. Dieser enthält einige Konfigurationsdateien, welche Variablen, die Verbindung zu Clients, uvm. definieren. Diese müssen sorgfältig konfiguriert werden.

SysCommands.xml

Diese Datei ist im Serververzeichnis zu finden. Sie beinhaltet Informationen für CoPlanner Systemeinstellungen. Zu beachten ist hierbei nur, in welcher Sprache der SQL-Server installiert ist. Handelt es sich um ein deutsches Setup, so müssen Sie als Anwender nicht eingreifen. Handelt es sich um ein englisches Setup, muss die Datei „SysCommands.xml“ gelöscht oder umbenannt und danach die Datei „SysCommands_EnSql.xml“, welche ebenfalls im Serververzeichnis liegt, in „SysCommands.xml“ umbenannt werden.

SvrConfig.xml

Diese Datei definiert Eigenschafen des CoPlanner-Servers. Sie befindet sich im Serververzeichnis.

<?xml version="1.0" standalone="yes"?>
<SvrConfig.xml>
  <COPSettings>
    <Version>5</Version>
    <ConnectionString>Server=CopServer;Initial Catalog=COP_BIKE;Integrated Security=SSPI;pooling=false;TrustServerCertificate=True</ConnectionString>
    <DataBaseName>COP_BIKE</DataBaseName>
    <ObjectPrefix />
    <FiscalYear>0</FiscalYear>
    <ServiceName>copService</ServiceName>
    <TelnetDebugPort>6900</TelnetDebugPort>
    <DefaultLanguage>german</DefaultLanguage>
    <Backuppath>C:\temp\</Backuppath>
    <BackupRestoreLimitinMB>50</BackupRestoreLimitinMB>
    <LicenceID>00</LicenceID>
    <ClientConnectionTimeOut>1440</ClientConnectionTimeOut>
    <SessionHoldTimeInMinutes>15</SessionHoldTimeInMinutes>
    <EntitySecurity>True</EntitySecurity>
    <AllowNonPowerUserDeleteDimElementsWithData>False</AllowNonPowerUserDeleteDimElementsWithData>
    <MultiThreadStartup>True</MultiThreadStartup>
    <SkipImportHistory>True</SkipImportHistory>
    <CopSysIDStartOffset>0</CopSysIDStartOffset>
    <SecurityProxyLoad>False</SecurityProxyLoad>
    <MaxCalculationRecursionDepth>1000</MaxCalculationRecursionDepth>
    <StoredProcedureTimeout>3600</StoredProcedureTimeout>
    <DBCommandTimeout>600</DBCommandTimeout>
    <ShowLostDBConnectionWarning>True</ShowLostDBConnectionWarning>
    <TransportUserName />
    <PowerUserModeViaADOnly>False</PowerUserModeViaADOnly>
    <ADGroupPowerUser />
    <ADGroupPartnerUser />
    <ADGroupManufacturerUser />
    <DBSyncMaxThreads>2</DBSyncMaxThreads>
    <LoadAllEntityDimensionEntriesToClient>False</LoadAllEntityDimensionEntriesToClient>
    <DoVersionCheck>True</DoVersionCheck>
    <UseNewCaching>True</UseNewCaching>
    <AllowBatchProcessingViaMacro>False</AllowBatchProcessingViaMacro>
    <CacheSizeFactor>0,5</CacheSizeFactor>
    <StartTabAdress />
    <LogonMaximumPerTimeframe>1000</LogonMaximumPerTimeframe>
    <LogonMaximumTimeframeInSeconds>60</LogonMaximumTimeframeInSeconds>
    <DaysToKeepSysLogSession>90</DaysToKeepSysLogSession>
    <AllowConfigurationViaEnvironmentVariables>False</AllowConfigurationViaEnvironmentVariables>
  </COPSettings>
  <OlapServiceSettings>
    <OlapServiceUrl />
  </OlapServiceSettings>
  <SSASSettings>
    <Server>CopServer</Server> 
    <DataBaseName>cop_olap</DataBaseName>
    <XmlaLoadActive>true</XmlaLoadActive>
    <UseRealElementIDs>true</UseRealElementIDs>
    <UseMultipleHierarchies>true</UseMultipleHierarchies>
    <MultiSelectFilterActive>false</MultiSelectFilterActive>
    <LoadMeasureFormatAndType>true</LoadMeasureFormatAndType>
    <ReplaceNullValues>false</ReplaceNullValues>
    <DimensionLoadMode>AsDimAndHierarchy</DimensionLoadMode>
    <LoadDimensionsByAlias>true</LoadDimensionsByAlias>
  </SSASSettings>
  <SSRSSettings>
    <ReportServerUrl />
    <ReportWebServiceUrl />
    <RootFolder>/CoPlanner/Reports</RootFolder>
    <UserFolder>/CoPlanner/User</UserFolder>
    <TempFolder>/CoPlanner/Temp</TempFolder>
    <SharedDataSourceReference>/CoPlanner/DataSources/CoPlanner</SharedDataSourceReference>
    <Parameters />
  </SSRSSettings>
  <SupportConfig>
    <SupportMailAddress>support@coplanner.com</SupportMailAddress>
    <SupportFormAddress>https://copsupport.coplanner.com/support/</SupportFormAddress>
  </SupportConfig>
  <WebConfig>
    <SqlRestURL />
    <WebAppUrl>https://servername:4443/coplanner</WebAppUrl>
    <EnableHSTS>False</EnableHSTS>
    <EnableHttpsRedirection>False</EnableHttpsRedirection>
    <HttpsRedirectionPort />
    <StartUrl />
    <ReportServerUrl>https://servername:4444/coplanner</ReportServerUrl>
    <LogonLanguages>Deutsch|English</LogonLanguages>
    <LogonWithCoPlannerSecurity>True</LogonWithCoPlannerSecurity>
    <LogonWithSSPI>True</LogonWithSSPI>
    <CorsAllowedOrigins>https://servername:4443</CorsAllowedOrigins>
    <EnableSwagger>False</EnableSwagger>
    <ApiClientForPowerUserOnly>False</ApiClientForPowerUserOnly>
    <EnableExperimentalEndpoints>False</EnableExperimentalEndpoints>
    <EnableResponseCompression>True</EnableResponseCompression>
    <EnableIframeEmbedding>False</EnableIframeEmbedding>
    <EnableGuvFeatures>False</EnableGuvFeatures>
    <MaxRows>10000000</MaxRows>
    <MaxCells>0</MaxCells>
    <EnableUndoFeatureOnCopNeo>False</EnableUndoFeatureOnCopNeo>
    <EnableSingleLogout>True</EnableSingleLogout>
  </WebConfig>
  <DBCon>
    <stage>Server=localhost;Initial Catalog=COP_STAGE;Integrated Security=SSPI</stage>
  </DBCon>
</SvrConfig.xml>

CopSettings

Folgende Punkte müssen im Bereich CopSettings definiert werden:

Eintrag Beschreibung
ConnectionString
Server Name des Servers, auf dem sich die Datenbank befindet
Initial Catalog Name der Datenbank
User id Name des Benutzers, mit dem sich der CoPlanner-Server am SQL-Server anmeldet (standardmäßig sollte bereits die ID „sa“ existieren). Alternativ kann bzw. muss ein User mit entsprechenden Rechten am SQL-Server angelegt werden.
Password Passwort des Benutzers
Pooling Damit Restore Database (fix integriert im Entwicklermenü) funktioniert, muss im Connectionstring Pooling = false vorhanden sein!
DataBaseName Name der SQL-Datenbank
FiscalYear Legt die Versetzung des Wirtschaftsjahres des Unternehmens zum Kalenderjahr fest. Dabei wird ausgehend vom Monat Jänner gerechnet.
  • 0: keine Wirtschaftsjahrversetzung
  • -1: Anfang des Wirtschaftsjahres im Dezember des Vorjahres
  • 1: Anfang des Wirtschaftsjahres im Februar desselben Jahres
ServiceName Name des CopService
TelnetDebugPort Es ist möglich, mittels Telnet ein Sichtfenster zum CoPlanner-Server aufzubauen. Dieser Eintrag legt die Portnummer für die Telnetverbindung fest. Die Verbindung erfolgt durch die DOS-Eingabeaufforderung (Start Ausführen cmd). Zum Aufruf der Verbindung geben Sie: telnet rechnername portnummer (Bsp: telnet hostname 6900) ein und drücken auf Return.
DefaultLanguage Die Defaultsprache des CoPlanner Servers.
BackupPath Legt den temporären Speicherplatz für ein Datenbankbackup, welches durch einen Client veranlasst werden kann, fest. Der SQL-Server muss Schreibrechte auf das angegebene Verzeichnis haben. Es darf kein Netzlaufwerk sein, sondern auf ein lokales Volume des SQL-Servers verweisen.
BackupRestoreLimitinMB Maximale Größe des Datenbankbackup in MB.
WebAuthenticateUrl (Bis einschließlich

CoPlanner 11 Release 1 2024)

Bis CoPlanner 11 Release 2 2024. Seit 2024 sollte der Link leer sein.
LicenceID Wird zwingend für den Start des CoPlanner Servers benötigt. (ID der Lizenz bspw. 123)
ClientConnectionTimeOut Nach Ablauf wird die Client-Session am Server gelöscht. Angabe in Minuten. Default-Wert 1.440 Minuten.
EntitySecurity Durch diesen Eintrag kann man die Unternehmenssecurity deaktivieren, dass heißt der User kann nicht unternehmensübergreifend Werte erfassen. Ist der Eintrag nicht im Config File vorhanden, ist die Security per default aktiv.
AllowNonPowerUserDeleteDimElementsWithData Legt fest, ob nicht Poweruser Elemente mit Daten löschen dürfen.
MultiThreadCommand Bis CoP11 Rel 1 2025 Legt fest, ob die Abarbeitung in mehreren Threads durchgeführt wird.
ProActiveCaching Bis CoP11 Rel 1 2025 Bei CoPlanner Würfeln wird ein Tupel Caching aktiviert. Dies hat zur Folge, das mehrmals verwendete Zwischenergebnisse zwischengespeichert werden und somit eine Performanceverbesserung erreicht wird.
SkipImportHistory Ist dieser Eintrag auf true, werden Fehlermeldungen beim Datenimport nicht in die History-Tabelle geschrieben.
SecurityProxyLoad Ist dieser Eintrag auf true, wird die Security erst beim LogIn für den User aufbereitet.
CopSysIDStartOffset Die erste vom System vergebene CopSysID wird um diesen Offset erhöht. Werden mehrere Modell mit unterschiedlichen CopServices verwendet, werden so doppelte CopSysIDs vermieden.
DebugMode Ist dieser Eintrag auf true wird am Server detailierter gelogged.
StoredProcedureTimeout Optionale Angabe eines Timeouts in Sekunden ehe die Ausführung einer SQL Prozedur im CoPlanner abgebrochen wird. Per default ist diese auf 3600 Sekunden gesetzt.
ShowLostDBConnectionWarning Ist dieser Eintrag auf True wird am Client angezeigt wenn die Verbindung zur Datenbank verloren gegangen ist.
TransportUserName Relevant für das automatisierte Transportwesen. Bitte beachten Sie, dass der hier vergebene User immer Herstellerrechte hat, auch wenn er sich normal über den Client anmeldet. Es muss sich hier um einen vollqualifizierten Windows Domänenuser handeln.
PowerUserModeViaADOnly Definiert, ob man in den unten definierten AD Gruppen sein muss, um sich als Hersteller, Partner oder PowerUser anmelden zu können.
ADGroupPowerUser Definiert die AD Gruppe für den Zugriff als PowerUser.
ADGroupPartnerUser Definiert die AD Gruppe für den Zugriff als Partner.
ADGroupManufacturerUser Definiert die AD Gruppe für den Zugriff als Hersteller.
LoadAllEntityDimensionEntriesToClient Definiert, ob die Filterung der Elemente bei Mandantendimensionen erst am Client stattfindet oder schon am Server. False bedeutet, dass die Filterung am Server stattfindet.
FormulasUsePriorityQueue (Bis einschließlich

CoPlanner 11 Release 1 2024)

Wenn auf true werden die Formeln nach der im Modell vergebenen Priorität abgearbeitet. Sollte nur bei Projekten verwendet werden, die auch eine vergebene Priorität haben.
DoVersionCheck Gibt an, ob bei Anmeldungen von den Clients geprüft werden soll, ob die Version und Hotfixnummer übereinstimmt.
DBSyncMaxThreads Gibt an, wie viele Threads zum Schreiben in die Datenbank verwendet werden, wenn der neue DB Sync aktiv ist. Wird kein Wert eingetragen, werden max. 2 Threads verwendet. Maximal wird der standardmäßig ermittelte Wert für die CPU (=Anzahl Cores – minus heuristischer Reduktion bei mehreren Cores) hergenommen, auch, wenn hier ein höherer Wert angegeben wäre. Ist hier ein niedrigerer Wert angegeben, wird der niedrigere Wert verwendet. Ist die Last beim Schreiben auf die Datenbank zu hoch, dann sollte dieser Wert reduziert werden.
DBCommandTimeout Datenbank-Kommando-Timeout für bestimmte Befehle. Dieses Timeout zieht z.B. bei der Datenbringung von Importen. Früher gab es hier ein hard-codiertes Timeout von 10 Minuten, wo der SQL Server die Daten für den Import bereitstellen muss. Nun kann man dieses Timeout hier setzen. 600 entspricht den 10 Minuten.
UseNewCaching Gibt an, ob das neue Caching aktiviert werden soll.
CacheSizeFaktor Nur Auswirkung bei UseNewCaching=true. Beim neuen Caching werden Daten, die in Masken angezeigt werden, in einem spaltenorientierten Cache abgelegt. Damit der Speicherverbrauch durch das neue Caching nicht zu groß wird, wird die Anzahl der Daten, die in spatenorientierten Caches abgelegt werden darf, begrenzt. Mit dem CacheSizeFactor wird diese Grenze grob in Relation zu den in den CoPlanner-Tabellen vorhandenen Daten festgelegt – ein Cache Faktor von 0,5 gibt an, dass der Cache in etwa halb so viele Daten halten darf wie in den CoPlanner-Tabellen vorhanden sind.
StartTabAdress Wenn diese Eigenschaft leer ist, wird wie bisher die Start.html als Startseite geladen. Man kann hier aber auch z.B. die Tiles als Startseite anzeigen lassen. Bsp.: @Session_WebAppUrl@/tiles/?menu=MeineStartseite&SessionID=@Session_ID@)
LogonMaximumPerTimeframe Maximale Anzahl von Loginversuchen pro Sekunden, welche bei LogonMaximumTimeframeInSeconds angegeben wurden. Wurde also z.B. LogonMaximumPerTimeframe auf 100 gesetzt und LogonMaximumTimeframeInSeconds auf 60, dann werden in 60 Sekunden 100 Loginversuche zugelassen. 0 steht für kein Limit.
LogonMaximumTimeframeInSeconds Anzahl von Sekunden in denen maximal so viele Logins, wie bei LogonMaximumPerTimeframe versucht werden können. Wurde also z.B. LogonMaximumPerTimeframe auf 100 gesetzt und LogonMaximumTimeframeInSeconds auf 60, dann werden in 60 Sekunden 100 Loginversuche zugelassen. 0 steht für kein Limit.
SupportColumnTable (bis einschließlich CoPlanner 11 Release 3 2023) Derzeit eine Betavariante, die ohne Abstimmung nicht aktiviert werden sollte. Um die ColumnTable nutzen zu können müssen auch UseNewCaching und ForumulasUsePriorityQueue aktiviert sein.
AllowBatchProcessingViaMacro Wenn diese Option aktiviert wird, kann man Batchdateien, die im Serververzeichnis in dem Scripts-Ordner liegen, aus einem Makro aufrufen. Diese Option ist per Default deaktiviert und sollte dies aus security-technischen Gründen auch bleiben.
DaysToKeepSysLogSession Beim Serverstart werden Einträge der Sys_Log_Session Tabelle gelöscht. Mit diesem Parameter kann angegeben werden, wieviele Tage erhalten bleiben sollen.
AllowConfigurationViaEnvironmentVariables Folgende Parameter können momentan mit Umgebungsvariablen übersteuert werden, wenn dieser Parameter auf true ist:
  • COP_SVRCONFIG_CONNECTIONSTRING (entspricht "CopSettings/ConnectionString")
  • COP_SVRCONFIG_DATABASENAME (entspricht "CopSettings/DataBaseName")
  • COP_SVRCONFIG_WEBAPPURL (entspricht "WebConfig/WebAppUrl")
  • COP_SVRCONFIG_REPORTSERVERURL (entspricht "WebConfig/ReportServerUrl")


Beispiel: Umgebungsvariablen in PowerShell setzen:

$env:COP_SVRCONFIG_CONNECTIONSTRING ="<hier eingeben>"

SessionHoldTimeInMinutes Zeit, welche die Session noch Reaktiviert werden kann, nachdem diese auf OnHold gegangen ist (z.B. wegen fehlendem IsAlive durch Ruhezustand des Laptops)
ObjectPrefix

(Ab CoPlanner 11 Release 5 2023)

Es wird an mit dem Planungsassistent vom System erstellte Objekte ein Präfix vorangestellt der mit dieser Option eingestellt werden kann

SSASSettings

Folgende Punkte müssen im Bereich SSASSettings definiert werden:

Eintrag Beschreibung
Server Name des Servers, auf dem sich die OLAP-Datenbank befindet. Es muss der Name des Server bzw. die IP Adresse angegeben werden. Folgende Namen sind nicht zulässig: localhost, ., 127.0.0.1 und local.
DataBaseName Name der OLAP-Datenbank
XmlaLoadActive Ist dieser Eintrag auf true, werden Strukturdaten mittels XMLA geladen enormer Performancegewinn!
UseRealElementIDs Die echten OLAP-Keys werden verwendet unter der Voraussetzung, dass diese numerisch sind.
UseMultipleHierarchies Ist dieser Eintrag auf true, werden Alternativhierarchien von Olap Dimensionen geladen und können verwendet werden (ab SSAS 2005).
MultiSelectFilterActive Ist dieser Eintrag auf true, werden Dimensionen, die als Filter verwendet werden, mit Mehrfachauswahl (Multiselect) unterstützt. (Derzeit bis 9.3 werden keine MultiselectFilter für CoPlanner Dimensionen unterstüzt.)
LoadMeasureFormatAndType Ist dieser Eintrag auf true, werden Measureformat und Typ vom Olap Server pro Measure geladen. Bei false werden Measures immer als Text geladen und die Formatted Value verwendet (Achtung bei Culturevermischungen) (ab SSAS 2005).
ReplaceNullValues Ist dieser Eintrag auf true, werden Null Values vom Connector mit 0 ersetzt.
DimensionLoadMode Betrifft das Ladeverhalten von OLAP Dimensionen. Folgende Einträge sind zulässig: AsDimension (Defaultwert), AsDimHierarchy und AsDimAndHierarchy. Siehe: Exkurs SSAS Einstellungen
LoadDimensionsByAlias Diese Einstellung zieht wenn einem OLAP Cube eine Dimension mehrfach, mit unterschiedlichen Bezeichnungen, zugeordnet ist. Ist der Eintrag auf False gesetzt so wird die erste gefundene Dimension geladen, ist der Eintrag auf True gesetzt so werden alle Dimensionen geladen. Siehe: Exkurs SSAS Einstellungen
Wichtig  Werden die SSAS Einstellungen LoadDimensionByAlias bzw. DimensionLoadMode im Nachhinein geändert so müssen sämtliche Cubes die auf OLAP verweisen neu aufgebaut werden.

SSRSSettings

Folgende Punkte müssen im Bereich SSRSSettings definiert werden:

Eintrag Beschreibung
ReportServerUrl Das virtuelle Verzeichnis für den Berichtsserver.
ReportWebServiceUrl Der SOAP-Endpunkt für die Berichtsverwaltung.
RootFolder Das Basisverzeichnis für die Berichte am Berichtsserver.
UserFolder Das Verzeichnis für Berichte, die im BI-Center mit dem Berichtsassistenten erstellt werden. Fehlt die Angabe, wird das Basisverzeichnis verwendet.
TempFolder Das Verzeichnis für Berichte, die im Analyzer mit dem Berichtsassistenten erstellt werden. Fehlt die Angabe, wird das Basisverzeichnis verwendet.
SharedDataSourceReference Pfad und Name zu einer bereits vorhandenen Datenquelle am Berichtsserver, die vom Berichtsassistenten beim Erstellen eines neuen Berichtes verwendet wird. Fehlt diese Angabe erzeugt der Berichtsassistent eine im Bericht eingebettete Datenquelle. Bei Berichten mit eingebetteten Datenquellen kann vom Reportbuilder keine Vorschau angezeigt werden.
Parameters Derzeit nicht in Verwendung.

Folgende Punkte müssen im Bereich DBCon definiert werden:

Eintrag Beschreibung
Stage
Server Name des Servers, auf dem sich die Datenbank befindet
Initial Catalog Name der Datenbank
User id Name des Benutzers, mit dem sich der CoPlanner-Server am SQL-Server anmeldet (standardmäßig sollte bereits die ID „sa“ existieren). Alternativ kann bzw. muss ein User mit entsprechenden Rechten am SQL-Server angelegt werden.
Password Passwort des Benutzers
Pooling Damit Restore Database (fix integriert im Entwicklermenü) funktioniert, muss im Connectionstring Pooling = false vorhanden sein!

Weitere Variablen:
Variablen können zum Beispiel bei Importen benutzt werden. Importobjekte benötigen einen Connectionstring, um zB. eine Verbindung zu einer Vorsystemdatenbank aufbauen zu können. Um nun mit einem Eintrag mehrere Objekte gleichzeitig ändern zu können wird empfohlen, solche Connectionstrings als Variablen zu definieren, um Änderungen schneller vollziehen zu können.

<add key="Variablenname" value="Wert bzw. Eintrag, den die Variable haben soll"></add>

SupportConfig

Eintrag Beschreibung
SupportMailAddress Wird für Aufrufe des Supports per Mail verwendet.
SupportFormAddress Formular, welches bei Aufruf des Support aufgerufen wird.

WebConfig

Folgende Punkte müssen im Bereich WebConfig definiert werden:

Eintrag Beschreibung
WebAppUrl Zwingend erforderlich. Über diese URL erfolgt die komplette Kommunikation mit den Clients.

Bei Verwendung müssen die Schritte, welche unter Einrichtung des CoPlanner-Servers mit HTTPS angeführt sind, ausgeführt werden.

Es können mehrere URL durch | getrennt angegeben werden (z.B. https://+:4443/%7Chttp://+:8080/).

Erlaubte Hostnamen werden in appsettings.json konfiguriert.

ReportServerUrl URL über die mit dem Reportserver kommuniziert werden kann. Nur notwendig, wenn das Webreporting im Einsatz ist.
LogonLanguages Definiert in welchen Sprachen man sich am Webclient anmelden kann.
LogonWithCoPlannerSecurity Definiert, ob man sich im Webclient mit CoPlanner Security anmelden kann. Bei false steht die Option nicht zur Verfügung.
LogonWithSSPI Definiert, ob man sich im Webclient mit Single Sign-on anmelden kann. Bei false steht die Option nicht zur Verfügung.
CorsAllowedOrigins Wird von einem anderen Host auf die API zugegriffen, muss der Host hier definiert werden. z.B. Aufruf erfolgt über https://servername:5000/irgendeinaufruf, dann muss hier https://servername:5000 vergeben werden. Mit | getrennt können mehrere angegeben werden.
EnableSwagger Definiert, ob man auf den Swagger zugreifen kann. Sofern das am System nicht benötigt wird, sollte die Option auf false sein. Die URL lautet dann: @Session_WebAppUrl@/swagger/index.html
ApiClientForPowerUserOnly Muss false sein, wenn man den Windowsclient, Reportserver oder ein Addin auch ohne den PowerUser-Modus verwenden möchte. Ist die Option true, kann man sich nur mehr als PowerUser, Partner oder Hersteller anmelden, außer im Webclient.
EnableExperimentalEndpoints Muss true sein, wenn Hilfeseiten, CSV-Upload, Cockpits oder etwas anderes aus dem Prototype aufgerufen wird. Sofern diese Apps nicht verwendet werden sollte man diese Option auf false setzen.
EnableMssEndpoints

(bis einschl. CoPlanner 11 Release 4 2025 HF1)

Aktiviert die Endpunkte, die für MSS Masken benötigt werden. Sofern diese Masken nicht im Einsatz sind sollte diese Option auf false sein.
EnableAuthWithSessionId

(bis einschl. CoPlanner 11 Release 4 2025 HF1)

Wird benötigt für die Übergabe der Session-ID im Windowsclient für MSS-Masken und die Prototype Dinge. Sofern diese nicht verwendet werden sollte diese Option auf false sein.
EnableHttpsRedirection Wenn die Option auf true ist, werden HTTP-Verbindungen auf den HTTPS-Port weitergeleitet. Gibt es in der WebAppUrl nur eine URL mit HTTPS, so wird automatisch dieser Port herangezogen. Gibt es mehrere HTTPS-URLs, so muss der Port, auf den umgeleitet werden soll bei HttpsRedirectionPort eingetragen werden.
HttpsRedirectionPort Hier kann der HTTPS-Port angegeben werden, auf welchen die HTTP-Verbindungen weitergeleitet werden.
EnableHSTS Mit dieser Option kann HTTP Strict Transport Security (HSTS) aktiviert werden.
StartUrl Mit dieser Option gibt es eine Weiterleitung, wenn man den Pfad der WebAppUrl direkt aufruft und definiert die Startseite hinter dem Logobutton in der Headerleiste des Webclients. Dieser Pfad sollte alles hinter dem Port beinhalten. z.B. /coplanner/tiles/?menu=Startmenue. Wird https://meinservername:4443/coplanner aufgerufen, gibt es hier eine automatische Weiterleitung auf https://meinservername:4443/coplanner/tiles/?menu=Startmenue.
EnableResponseCompression Möglichkeit zum Deaktivieren der ResponseCompression. Komprimierung und https kann zu Security-Problemen führen, weshalb es hier die Möglichkeit gibt, diese auch bei Bedarf zu deaktivieren.
EnableIframeEmbedding Steuert, ob Inhalte in Iframes angezeigt werden können
MaxRows Steuert die maximale Anzahl von Zeilen, die angezeigt wird (z.B. in Zeilensichten)
MaxCells Steuert die maximale Anzahl von Zellen, die geladen wird (Matrizen) (z.B. Eingabemasken)
EnableGuvFeatures Steuert ob die GuV spezifischen Funktionen eingeschaltet sind oder nicht. Darf nur und muss auf der CoPlanner GuV Version auf true sein.
EnableSingleLogout Beim Ausloggen aus dem CoPlanner wird für über SAML2 authentifizierte Sessions ein Single-Logout durchgeführt, wenn diese Option aktiv ist. Der Identity-Provider muss "SP initiated" Single-Logout unterstützen, damit es funktioniert.
EnableUndoFeatureOnCopNeo Noch keine Funktion

OlapServiceSettings

Eintrag Beschreibung
OlapServiceUrl Es gibt die Möglichkeit künftig die Anbindung an den CoPlanner über ein eigenes OLAP Service laufen zu lassen und nicht mehr direkt integriert. Will man das Service verwenden, muss man dieses konfigurieren, hier die URL des Service angegeben und den Server und den Databasename aus den SSASSettings rausnehmen.


Exkurs SSAS Einstellungen

Der CoPlanner-Server bietet mehrere Möglichkeiten SSAS-Dimensionen zu laden. Im Folgenden werden die zulässigen Einstellungen aufgelistet.

DimensionLoadMode LoadDimensionByAlias Einstellung Ergebnis
AsDimension False
AsDimension True
AsDimHierarchy True
AsDimAndHierarchy True
Wichtig  Per Default gelten folgende Einstellungen: DimensionLoadMode=AsDimHierarchy bzw. LoadDimensionByAlias=True.
Wichtig  Werden die SSAS Einstellungen LoadDimensionByAlias bzw. DimensionLoadMode im Nachhinein geändert so müssen sämtliche Cubes die auf OLAP verweisen neu aufgebaut werden.

Nachfolgend werden die zulässigen OLAP Einstellungen näher beschrieben

Eintrag Beschreibung
XmlaLoadActive
  • Defaultwert = True, dieser Wert wird vom CoPlanner gesetzt, wenn die Einstellung nicht im SvrConfig getroffen wurde
  • diese Einstellung gibt an mit welcher Methode die OLAP Dimensionselemente geladen werden:
   - False: die DimensionsMembers werden mittels Level.GetMembers() geladen
   - True: die DimensionsMembers werden aus SchemaDataSet geholt. (Die ADOMD Methode GetSchemaDataSet(…) wird verwendet.)

Konfigurationstool

Zum Bearbeiten der CoPlanner Server Einstellungen steht im Server-Verzeichnis ein Konfigurationstool "SvrConfig.exe" zur Verfügung.

NLog.Server.config bzw. NLog.Service.config

Prinzipiell kann hier mehr angepasst werden, aber die grundlegenden Eigenschaften:

  • logDirectory: Verzeichnis ohne den Dateinamen, wo hingeloggt werden soll
  • fileName: Hier kann man den Dateinamen anpassen oder wenn man möchte auch den gesamten Pfad
  • archiveAboveSize: gibt an, ab welcher Dateigröße eine neue Datei geschrieben wird. Der Standard von 10000000 entspricht 10 MB.


Eine Beispieldaten zum Loggen in eine Datenbank finden Sie hier.

appsettings.json und CoPlanner Agent (LLM) Konfiguration

Die genauen Konfigurationsmöglichkeiten der appsettings.json und die Konfiguration und Voraussetzungen die für die Benutzung des CoPlanner Agent (LLM) notwendig ist finden Sie hier.
CoPlanner Agent vorbehaltlich verfügbar ab CoPlanner 11 Release 3 2026

CoPlanner-Server als Dienst

Der CoPlanner-Server kann auch als Dienst installiert werden. Wichtig hierbei ist, dass Sie Administratorrechte besitzen, um die Installation durchführen zu können. Sie starten den Dienst mit der Schaltfläche "Install service", der unter CopSettings zu finden ist. Der Service wird mit dem Namen gestartet, der unter ServiceName angegeben ist. Um den CoPlanner-Server als Dienst zu deinstallieren wählen Sie "Uninstall service".

Mehrere CoPlanner Dienste auf einem Rechner installieren

Auf einem Rechner können auch mehrere CoPlanner Services installiert werden. Dazu ist lediglich der ServiceName unter den CopSettings zu ändern und der Dienst erneut zu installieren. Unter den Windows Diensten sind dann 2 voneinander unabhängige Dienste vorhanden.

CoPlanner-Server als Applikation

Starten des Servers als Applikation

Durch das Kopieren des Serververzeichnisses auf den Rechner ist die Installation eigentlich beendet. Sie müssen nur noch die Datei CopServer.exe starten. Ein Konsolenfenster erscheint. Hier können Sie mit verfolgen, welche Operationen der CoPlanner-Server gerade ausführt.


Einrichtung des CoPlanner-Servers mit HTTPS

Um eine sichere Kommunikation des Webclients mit dem CoPlanner-Server gewährleisten zu können, sollte unbedingt HTTPS eingesetzt werden.

Dies bietet insbesondere zwei Vorteile:

  • Verschlüsselung (es kann nicht mitgelesen werden)
  • Signaturprüfung (es ist sichergestellt, dass auch mit dem richtigen Server kommuniziert wird)

Um HTTPS nutzen zu können, wird ein Zertifikat benötigt. Dieses kann entweder selbst erstellt oder von diversen Anbietern bezogen werden. Beide Optionen haben Vor- und Nachteile. Das Zertifikat muss ein "X.509 Certificate" sein (liegt meist als PFX-Datei vor) und für die Domain gültig sein, auf der der CoPlanner-Server laufen soll.

Beispiel: Soll der Server unter https://sample.copserver.mycompany:8080/coplanner laufen, muss das Zertifikat für sample.copserver.mycompany gültig sein.

Selbst erstellte Zertifikate ("self signed")

Vorteile: Frei konfigurierbar, jederzeit verfügbar, unabhängig

Nachteile: Von gängigen Webbrowsern standardmäßig nicht akzeptiert


Soll ein selbst erstelltes Zertifikat verwendet werden, muss es auf den PCs der Endanwender für deren Browser als vertrauenswürdig markiert werden. Die genaue Einstellung unterscheidet sich je nach Browser und Betriebssystem. Grundsätzlich beachten die meisten Webbrowser die Zertifikatseinstellungen des Betriebssystems (zum aktuellen Zeitpunkt mindestens Chrome, Edge und Internet Explorer). Firefox muss allerdings separat konfiguriert werden (siehe diese Information von Mozilla).

Es ist möglich, Zertifikate mittels Gruppenrichtlinie in Windows-Domänen zu verteilen.

Zertifikat von einem Anbieter

Vorteile: Von gängigen Webbrowsern ohne Konfiguration akzeptiert

Nachteile: Teilweise kostenpflichtig, unterschiedlicher Service je Anbieter


Anbieter für SSL-Zertifikate gibt es viele, die Preise ändern sich laufend.

Beispiele für Anbieter:

Let’s Encrypt: https://letsencrypt.org/de/

Kostenlos. Muss alle drei Monate erneuert werden.

Thawte: https://www.thawte.de/

Kostenpflichtig.


Der Prozess unterscheidet sich je nach Anbieter. Im Endeffekt sollte das Zertifikat als Datei vorliegen, die auf dem Server installiert werden kann.

Einrichtung von HTTPS unter Windows Server

Als Hosting-Komponente für den CoPlanner-Server wird Kestrel, ein plattformunabhängiger Webserver für ASP.NET Core verwendet. Diese kümmert sich auch um HTTPS.

Das Zertifikat muss für die Installation entweder als Datei vorliegen, oder bereits am Server installiert sein. Falls das Zertifikat bereits installiert ist, müssen Store, Location und Subject bekannt sein und der Serviceuser muss das Leserecht auf den Private-Key des Zertifikats besitzt.

Zusätzlich muss bekannt sein, für welchen Aufruf das Zertifikat gültig ist. Dieser muss der Adresse entsprechen, mit dem die Nutzer auf den CopServer zugreifen werden. Die WebAppUrl sollte ebenfalls auf genau diese Adresse gesetzt werden (es sollte kein "+" mehr darin verwendet werden).


Beispiele:

Unsicher: https://+:8080/coplanner

In Ordnung: https://*.copserver.mycompany:8080/coplanner

In Ordnung: https://sample.copserver.mycompany:8080/coplanner

Anpassung SPN (Service Principal Name) für Single Sign-On am Server

Kestrel verwendet für die Authentifizierung Negotiate (Kerberos). Dazu braucht man eine vertrauenswürdige Verbindung mit einem service principle name (SPN). Diese kann mit setspn in der Konsole erstellt werden.


Ausgabe aller Service Principal Names (SPNs) für myserver:

setspn -L myserver


Mit setspn -S "HTTP/myserver.coplanner.com" MeinServiceBenutzername kann der Eintrag hinzufügt werden. Um dies zu machen braucht man das Domänenadminrecht oder das Recht "Validated write to service principal name".

Nähere Infos zu setspn finden Sie unter https://social.technet.microsoft.com/wiki/contents/articles/717.service-principal-names-spn-setspn-syntax.aspx.

Für den Zugriff aller Clients, die eine ClientConfig.xml besitzen (z.B. Windowsclient, MakroExecutor, AddIns,...), mit Single Sign-On direkt am Server muss in der ClientConfig.xml der Eintrag ServicePrincipalNameForServerUrl auf HOST/myserver gesetzt werden.

Wurde ein SPN Eintrag falsch gesetzt bzw muss dieser aktualisiert werden so kann der bestehende Eintrag wie folgt gelöscht werden:

setspn -D HTTP/myserver.coplanner.com

Anpassung für Single Sign-On im Firefox

Wenn beim Single Sing-On im Firefox noch eine Box kommt, wo man den Namen und Passwort nochmal eingeben muss, dann sollte man folgende Schritte ausführen oder diese per GPO ausrollen:

  • Firefox öffnen und in Adressleiste about:config eingeben und mit Enter bestätigen
  • Suchen nach dem Eintrag network.negotiate-auth.trusted-uris
  • Hier dann den Namen angeben, mit dem die Seite aufgerufen wird. z.B. servername, wenn der Aufruf über http://servername:4488/... erfolgt oder servername.coplanner.com, wenn der Aufruf über http://servername.coplanner.com:4488/... erfolgt. Sollte es für beide Varianten funktionieren, kann man bei dem Eintrag mehrere Namen mit , getrennt angeben.

Anpassung für Single Sign-On in Chrome und Edge

Wenn beim Single Sing-On im Chrome oder Edge noch eine Box kommt, wo man den Namen und Passwort nochmal eingeben muss, dann sollte man folgende Schritte ausführen oder diese per GPO ausrollen:

  • Öffnen Sie die Systemsteuerung > Internetoptionen.
  • Wählen der Registerkarte Sicherheit
  • Wählen Sie Lokales Intranet aus und klicken Sie auf Sites.
  • Klicken Sie auf Erweitert
  • Hier dann den Namen angeben, mit dem die Seite aufgerufen wird. Beispiel: https://servername.coplanner.com
  • Bestätigen mit Hinzufügen