Technik:Abo-System: Unterschied zwischen den Versionen

Aus CoPlanner 11
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 33: Zeile 33:
In der Datei "AboExecutor.exe.config" im Verzeichnis "\server\AboExecutor" wird der E-Mail Versand konfiguriert. Folgende Einträge sind zu beachten:  
In der Datei "AboExecutor.exe.config" im Verzeichnis "\server\AboExecutor" wird der E-Mail Versand konfiguriert. Folgende Einträge sind zu beachten:  


  <font color="#0000ff"><?</font><font color="#3a3aff">xml </font><font color="#ff0000">version</font><font color="black">=</font><font color="#000000">"</font><font color="#803aff">1.0</font><font color="#000000">"</font> <font color="#ff0000">encoding</font><font color="#0000ff">=</font><font color="#000000">"</font><font color="#803aff">utf-16</font><font color="#000000">"</font> <font color="#ff0000">standalone</font><font color="#0000ff">=</font><font color="#000000">"</font><font color="#803aff">yes</font><font color="#000000">"</font><font color="#0000ff">?></font>
<font color="#0000ff"><?</font><font color="#3a3aff">xml </font><font color="#ff0000">version</font><font color="black">=</font><font color="#000000">"</font><font color="#803aff">1.0</font><font color="#000000">"</font> <font color="#ff0000">encoding</font><font color="#0000ff">=</font><font color="#000000">"</font><font color="#803aff">utf-16</font><font color="#000000">"</font> <font color="#ff0000">standalone</font><font color="#0000ff">=</font><font color="#000000">"</font><font color="#803aff">yes</font><font color="#000000">"</font><font color="#0000ff">?></font>
  <font color="#0000ff"><</font><font color="#3a3aff">configuration</font><font color="#0000ff">></font>
  <font color="#0000ff"><</font><font color="#3a3aff">configuration</font><font color="#0000ff">></font>
  <font color="#0000ff">  <</font><font color="#3a3aff">appSettings</font><font color="#0000ff">></font>
  <font color="#0000ff">  <</font><font color="#3a3aff">appSettings</font><font color="#0000ff">></font>
  <font color="#0000ff"><</font><font color="#3a3aff">add </font><font color="#ff0000">key</font><font color="#0000ff">=</font><font color="803aff">"abo" </font><font color="ff0000">value</font><font color="black">=</font><font color="803aff">"633964077278817699"</font><font color="#0000ff">/></font>
  <font color="#0000ff">   <</font><font color="#3a3aff">add </font><font color="#ff0000">key</font><font color="#0000ff">=</font><font color="803aff">"abo" </font><font color="ff0000">value</font><font color="black">=</font><font color="803aff">"633964077278817699"</font><font color="#0000ff">/></font>
  <font color="#0000ff"><</font><font color="#3a3aff">add </font><font color="#ff0000">key</font><font color="#0000ff">=</font><font color="803aff">"user" </font><font color="ff0000">value</font><font color="black">=</font><font color="803aff">"PowerUser"</font><font color="#0000ff">/></font>  
  <font color="#0000ff">   <</font><font color="#3a3aff">add </font><font color="#ff0000">key</font><font color="#0000ff">=</font><font color="803aff">"user" </font><font color="ff0000">value</font><font color="black">=</font><font color="803aff">"PowerUser"</font><font color="#0000ff">/></font>  
  <font color="#0000ff"><</font><font color="#3a3aff">add </font><font color="#ff0000">key</font><font color="#0000ff">=</font><font color="803aff">"pass" </font><font color="ff0000">value</font><font color="black">=</font><font color="803aff">"UserPasswort"</font><font color="#0000ff">/></font>  
  <font color="#0000ff">   <</font><font color="#3a3aff">add </font><font color="#ff0000">key</font><font color="#0000ff">=</font><font color="803aff">"pass" </font><font color="ff0000">value</font><font color="black">=</font><font color="803aff">"UserPasswort"</font><font color="#0000ff">/></font>  
  <font color="#0000ff"><</font><font color="#3a3aff">add </font><font color="#ff0000">key</font><font color="#0000ff">=</font><font color="803aff">"maxAttachmentSizeInKB"</font><font color="ff0000">value</font><font color="black">=</font><font color="803aff">"1000"</font><font color="#0000ff">/></font>
  <font color="#0000ff">   <</font><font color="#3a3aff">add </font><font color="#ff0000">key</font><font color="#0000ff">=</font><font color="803aff">"maxAttachmentSizeInKB"</font><font color="ff0000">value</font><font color="black">=</font><font color="803aff">"1000"</font><font color="#0000ff">/></font>
     <font color="#0000ff"><</font><font color="#3a3aff">/appSettings</font><font color="#0000ff">></font>
     <font color="#0000ff"><</font><font color="#3a3aff">/appSettings</font><font color="#0000ff">></font>
   
   
Zeile 54: Zeile 54:
  <font color="#0000ff"> </</font><font color="#3a3aff">system.net</font><font color="#0000ff">></font>
  <font color="#0000ff"> </</font><font color="#3a3aff">system.net</font><font color="#0000ff">></font>
<font color="#0000ff"></</font><font color="#3a3aff">configuration</font><font color="#0000ff">></font>
<font color="#0000ff"></</font><font color="#3a3aff">configuration</font><font color="#0000ff">></font>
 


Das '''abo'''-Attribut kann vernachlässigt werden, da das durch den Job für das Abo entsprechend gesetzt wird.
Das '''abo'''-Attribut kann vernachlässigt werden, da das durch den Job für das Abo entsprechend gesetzt wird.

Version vom 21. Oktober 2015, 11:47 Uhr

Voraussetzungen

Am CoPlanner Server müssen folgende Komponenten aus dem Feature Pack für den SQL Server 2005 (auch wenn eine neuere Version des SQL Server zum Einsatz kommt) in der richtigen Architektur (x86 bzw. x64) installiert werden (wichtige Links):

  • Microsoft SQL Server Native Client (SqlNCli)
  • Microsoft SQL Server 2005-Verwaltungsobjektauflistung (XMO)

Nach Möglichkeit die zum SQL Server passende Sprachversion verwenden.

Das xp_cmdshell-Feature für den SQL Server muss aktiviert werden, damit die Abonnements ausgeführt werden können.

Am Berichtsserver muss der Benutzer des von xp_cmdshell erzeugten Prozesses der Berichts-Generator- und Browser- oder der Inhaltsmanager-Rolle angehören.

Des Weiteren muss der Dienst "SQL Server-Agent (MSSQLSERVER)" gestartet sein.

Für den Abo-Executor müssen die Konfigurationsdateien „ClientConfig.xml„ und „ClientSettings.dat“ (z.B. aus dem Clientverzeichnis kopieren) zur Verfügung gestellt werden.

In der AboExecutor.exe.config muss zumindest das PowerUser Passwort ergänzt werden.


Hinweis  Das Abo-System ist nur für Berichte geeignet, die mit der CoPlanner Reporting Services Integration auf reine CoPlanner-Daten zugreifen. Der Zugriff über Analysesichten auf Olap-Würfel wird aus technischen Gründen nicht unterstützt, da das Abo-System üblicherweise mit einem Serviceaccount ausgeführt wird und der Olap-Zugriff nur mit SSPI möglich ist.


Hinweis  Bei der Verwendung des Abo-Systems ist auf die Anmeldeinformationen für die Datenquelle zu achten. Die volle Funktionalität (Berechtigungen für die Benutzer) ist nur dann gegeben, wenn für die Anmeldeinformationen der Modus zur Eingabe der Anmeldeinformationen auffordern eingestellt ist. Bei Windows Authentifizierung wird das Abonnement immer im Kontext von xp_cmdshell ausgeführt.

AboExecutor.exe.config

In der Datei "AboExecutor.exe.config" im Verzeichnis "\server\AboExecutor" wird der E-Mail Versand konfiguriert. Folgende Einträge sind zu beachten:

<?xml version="1.0" encoding="utf-16" standalone="yes"?>

<configuration>
   <appSettings>
   <add key="abo" value="633964077278817699"/>
   <add key="user" value="PowerUser"/> 
   <add key="pass" value="UserPasswort"/> 
   <add key="maxAttachmentSizeInKB"value="1000"/>
   </appSettings>

   <system.net>
   <mailSettings>
      <smtp deliveryMethod="Network" from="aboexecutor@coplanner.com">
         <network
            host="psad001.graz.coplanner.com"
            port="25"
            defaultCredentials="true"
            />
      </smtp>
   </mailSettings>
 </system.net>

</configuration>


Das abo-Attribut kann vernachlässigt werden, da das durch den Job für das Abo entsprechend gesetzt wird.

Gültige Einträge für das user-Attribut sind der PowerUser, Partner oder Hersteller.

Bei dem pass-Attribut muss das entsprechende Passwort für den User eingetragen werden.

maxAttachmentSizeInKB: Die maximale Attachment-Größe bei E-Mail Versand in kB, wenn "0" oder nicht vorhanden, dann unlimitiert.

Das deliveryMethod-Attribut gibt die Übermittlungsmethode für E-Mails an. Zulässige Werte sind "network", "pickupDirectoryFromIis" und "specifiedPickupDirectory".

Das from-Attribut gibt die Absenderadresse für E-Mails an.

Das specifiedPickupDirectory-Attribut legt das Verzeichnis fest, in dem Anwendungen E-Mail-Nachrichten zur späteren Verarbeitung mit dem SMTP-Server speichern. Im Beispiel ist "c:\temp\pickup" als E-Mail-Pickup-Verzeichnis angegeben.

Das network-Attribut konfiguriert die Netzwerkoptionen für einen externen SMTP-Server.


Architektur (Customizing)

Für jedes im CoPlanner-Client angelegte Abonnement wird vom CoPlanner Server ein Auftrag im SQL Server Agent erzeugt. Der Auftrag besteht aus einem einzigen T-SQL-Schritt, der die gespeicherte Prozeder dbo.ExecReportAbo mit der COPSYS_ID des Abonnements aufruft.

Der Auftrag wird laut Zeitplan ausgeführt, kann aber auch manuell im CoPlanner-Client angestoßen werden.

dbo.ExecReportAbo

Diese gespeicherte Prozedur wird aus dem SQL Server Agent-Auftrag aufgerufen. Diese – und nur diese – Prozedur darf bei Bedarf angepasst werden. Die Aufgaben von dbo.ExecReportAbo sind:

  • Ermitteln des Pfades zum Abo-Executor

In einer Standardkonfiguration befindet sich der Abo-Executor AboExecutor.exe im Unterverzeichnis AboExecutor im CoPlanner Server-Verzeichnis.

In einer Standardkonfiguration befindet sich diese im Abo-Executor-Verzeichnis.

  • Festlegen des Benutzernamens und Passworts für den CoPlanner-Benutzer, mit dem sich der Abo-Executor zum CoPlanner Server verbindet

In einer Standardkonfiguration wird der PowerUser mit einem leeren Passwort verwendet. Der Abo-Executor funktioniert nur mit den Benutzern PowerUser, Partner und Hersteller.

  • Festlegen weiterer Parameter für den Abo-Executor

In einer Standardkonfiguration werden keine sonstigen Parameter übergeben.

Mit der ID des Abonnements und diesen Parametern wird die gespeicherte Prozedur dbo.ExecReportAboInternal aufgerufen.

dbo.ExecReportAboInternal

Diese gespeicherte Prozedur darf nicht angepasst werden bzw. kann durch ein CopVersion überschrieben werden. Sie erstellt die Kommandozeile für den Abo-Executor, ruft diesen per xp_cmdshell auf und schreibt die Log-Tabellen.

Logging

Jede Abonnement-Ausführung (automatisch und manuell) wird in den Tabellen

  • dbo.tb_ExecReportAboLog
  • dbo.tb_ExecReportAboLogMsg

mit protokolliert. Die Tabellen enthalten für jedes Abonnementdas Ergebnis der letzten Ausführung.

Spalte Beschreibung
AboId ID des Abonnements
AboName Name des Abonnements
ExecTime Zeitpunkt der Ausführung (bzw. wann wurde der Log-Datensatz erstellt)


Spalte Beschreibung
AboId ID des Abonnements
LineNr Zeilennummer der Ausgabe
MsgTyp Typ der Zeile


MsgTyp Beschreibung
Kein Typ Zeilen ohne Typ sind reine Informationszeilen. Auch Exceptions werden ohne Typ in die Log-Tabelle eingefügt, da sich diese Zeilen nicht leicht automatisch erkennen lassen.
WRN Warnmeldungen, die vom Berichtsserver beim Rendern der Berichte ausgegeben werden.
ERR Fehlermeldungen, die vom Berichtsserver beim Rendern der Berichte ausgegeben werden.
VAR Das sind spezielle, vom Abo-Executor erstellt Zeilen, über die in weiteren Abfragen oder in Berichten Informationen abgerufen werden können.
MsgLine Text der Zeile

Die Spalte MsgLine hat in diesen Zeilen immer den Aufbau

Variable:=Wert

Derzeit ist nur die Variable AboName definiert, die den Namen des Abonnements liefert.