Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:syntax [2023/06/07 12:45] ctwiki:syntax [2023/06/07 15:06] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-===== Concept Office -Zammad- Anbindung =====+====== Formatting Syntax ======
  
-==== Funktionsumfang==== +[[doku>DokuWiki]] supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing "Edit this page". If you want to try something, just use the [[playground:playground|playground]] page. The simpler markup is easily accessible via [[doku>toolbar|quickbuttons]], too.
-  * Stammdatenabgleich +
-  * Serviceauftragserstellung aus dem Zammad-Ticket-System+
  
-==== Allgemeines zum Stammdatenabgleich: ==== +===== Basic Text Formatting =====
-  * Abgleich von Firmen und Ansprechpartnern +
-  * Firmen werden in Zammad als "Organization" angelegt +
-  * Ansprechpartner werden in Zammad als User angelegt. +
-  * Führendes System ist Concept Office, sprich Änderungen der Stammdaten in Zammad führen zu keiner Änderung in Concept Office. Beim nächsten Abgleich der Systeme werden alle Änderungen die ausschließlich in Zammad erfolgten, verworfen.+
  
-=== Firmen Exportfelder: ===  +DokuWiki supports **bold**, //italic//, __underlined__ and ''monospaced'' textsOf course you can **__//''combine''//__** all these.
-Übertragen werden die folgenden drei Kategorien:  +
-  -  Alle Datenbankfelder in der Tabelle "Kontakte". +
-  -  Default-Felder in Zammad: +
-    - "Zammad.Organisations.Name" (Der Langname der Firma) +
-    - "Zammad.Organisations.DomainAssignment" (Konfigurierbar über Schema-Schalter)  +
-    - "Zammad.Organisations.Note" (Der Kontakthinweistext als) +
-  -  Zusätzlich können individuelle Felder über selbst erstellte Recherchen übertragen werden. (Mehr zum Thema selbst erstellte Recherchefelder im Kapitel Recherchefelder).+
  
-=== Ansprechpartner Exportfelder: === +  DokuWiki supports **bold**//italic//__underlined__ and ''monospaced'' texts. 
-Übertragen werden die Folgenden drei Kategorien: +  Of course you can **__//''combine''//__** all these.
-  -  Alle Datenbankfelder in der Tabelle "Ansprechpartner"+
-  -  Default-Felder in Zammad: +
-    - "Firstname""Lastname""Email", "Organization", "Roles" +
-  -  Zusätzlich können individuelle Felder über selbst erstellte Recherchen übertragen werden. (Mehr zum Thema selbst erstellte Recherchefelder im Kapitel Recherchefelder).+
  
-=== Recherchefelder (Custom Fields): === +You can use <sub>subscript</sub> and <sup>superscript</sup>, too.
-Mithilfe von Recherchen können weitere Datenfelder an Zammad übertragen und synchronisiert werden.+
  
-Ablauf am Beispiel des Feldes "street" am "user" +  You can use <sub>subscript</sub> and <sup>superscript</sup>, too. 
-  -  In Zammad über Einstellungen --> Objects --> User ein neues Objekt mit dem entsprechenden Namen anlegen+ 
-  -  In CO eine Recherche anlegendie das gewünschte Ergebnis bringt+You can mark something as <del>deleted</del> as well. 
-Beispiel:+ 
 +  You can mark something as <del>deleted</del> as well. 
 + 
 +**Paragraphs** are created from blank lines. If you want to **force a newline** without a paragraph, you can use two backslashes followed by a whitespace or the end of line. 
 + 
 +This is some text with some linebreaks\\ Note that the 
 +two backslashes are only recognized at the end of a line\\ 
 +or followed by\\ a whitespace \\this happens without it. 
 + 
 +  This is some text with some linebreaks\\ Note that the 
 +  two backslashes are only recognized at the end of a line\\ 
 +  or followed by\\ a whitespace \\this happens without it. 
 + 
 +You should use forced newlines only if really needed. 
 + 
 +===== Links ===== 
 + 
 +DokuWiki supports multiple ways of creating links. 
 + 
 +==== External ==== 
 + 
 +External links are recognized automagically: http://www.google.com or simply www.google.com - You can set the link text as well: [[http://www.google.com|This Link points to google]]. Email addresses like this one: <andi@splitbrain.org> are recognized, too. 
 + 
 +  DokuWiki supports multiple ways of creating links. External links are recognized 
 +  automagically: http://www.google.com or simply www.google.com - You can set 
 +  link text as well: [[http://www.google.com|This Link points to google]]. Email 
 +  addresses like this one: <andi@splitbrain.org> are recognized, too. 
 + 
 +==== Internal ==== 
 + 
 +Internal links are created by using square brackets. You can either just give a [[pagename]] or use an additional [[pagename|link text]]. 
 + 
 +  Internal links are created by using square brackets. You can either just give 
 +  a [[pagename]] or use an additional [[pagename|link text]]. 
 + 
 +[[doku>pagename|Wiki pagenames]] are converted to lowercase automatically, special characters are not allowed. 
 + 
 +You can use [[some:namespaces]] by using a colon in the pagename. 
 + 
 +  You can use [[some:namespaces]] by using a colon in the pagename. 
 + 
 +For details about namespaces see [[doku>namespaces]]. 
 + 
 +Linking to a specific section is possible, too. Just add the section name behind a hash character as known from HTML. This links to [[syntax#internal|this Section]]. 
 + 
 +  This links to [[syntax#internal|this Section]]. 
 + 
 +Notes: 
 + 
 +  * Links to [[syntax|existing pages]] are shown in a different style from [[nonexisting]] ones. 
 +  * DokuWiki does not use [[wp>CamelCase]] to automatically create links by default, but this behavior can be enabled in the [[doku>config]] file. Hint: If DokuWiki is a link, then it's enabled. 
 +  * When a section's heading is changed, its bookmark changes, too. So don't rely on section linking too much. 
 + 
 +==== Interwiki ==== 
 + 
 +DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]]. 
 + 
 +  DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. 
 +  For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]]. 
 + 
 +==== Windows Shares ==== 
 + 
 +Windows shares like [[\\server\share|this]] are recognized, too. Please note that these only make sense in a homogeneous user group like a corporate [[wp>Intranet]]. 
 + 
 +  Windows Shares like [[\\server\share|this]] are recognized, too. 
 + 
 +Notes: 
 + 
 +  * For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the "local zone"). 
 +  * For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Links_to_local_pages_do_not_work|Mozilla Knowledge Base]]. However, there will still be a JavaScript warning about trying to open a Windows Share. To remove this warning (for all users), put the following line in ''conf/userscript.js'': 
 + 
 +  LANG.nosmblinks = ''; 
 + 
 +==== Image Links ==== 
 + 
 +You can also use an image to link to another internal or external page by combining the syntax for links and [[#images_and_other_files|images]] (see below) like this: 
 + 
 +  [[http://www.php.net|{{wiki:dokuwiki-128.png}}]] 
 + 
 +[[http://www.php.net|{{wiki:dokuwiki-128.png}}]] 
 + 
 +Please note: The image formatting is the only formatting syntax accepted in link names. 
 + 
 +The whole [[#images_and_other_files|image]] and [[#links|link]] syntax is supported (including image resizing, internal and external images and URLs and interwiki links). 
 + 
 +===== Footnotes ===== 
 + 
 +You can add footnotes ((This is a footnote)) by using double parentheses. 
 + 
 +  You can add footnotes ((This is a footnote)) by using double parentheses. 
 + 
 +===== Sectioning ===== 
 + 
 +You can use up to five different levels of headlines to structure your content. If you have more than three headlines, a table of contents is generated automatically -- this can be disabled by including the string ''<nowiki>~~NOTOC~~</nowiki>'' in the document. 
 + 
 +==== Headline Level 3 ==== 
 +=== Headline Level 4 === 
 +== Headline Level 5 == 
 + 
 +  ==== Headline Level 3 ==== 
 +  === Headline Level 4 === 
 +  == Headline Level 5 == 
 + 
 +By using four or more dashes, you can make a horizontal line: 
 + 
 +---- 
 + 
 +===== Media Files ===== 
 + 
 +You can include external and internal [[doku>images|images, videos and audio files]] with curly brackets. Optionally you can specify the size of them. 
 + 
 +Real size:                        {{wiki:dokuwiki-128.png}} 
 + 
 +Resize to given width:            {{wiki:dokuwiki-128.png?50}} 
 + 
 +Resize to given width and height((when the aspect ratio of the given width and height doesn't match that of the image, it will be cropped to the new ratio before resizing)): {{wiki:dokuwiki-128.png?200x50}} 
 + 
 +Resized external image:           {{http://de3.php.net/images/php.gif?200x50}} 
 + 
 +  Real size:                        {{wiki:dokuwiki-128.png}} 
 +  Resize to given width:            {{wiki:dokuwiki-128.png?50}} 
 +  Resize to given width and height: {{wiki:dokuwiki-128.png?200x50}} 
 +  Resized external image:           {{http://de3.php.net/images/php.gif?200x50}} 
 + 
 + 
 +By using left or right whitespaces you can choose the alignment. 
 + 
 +{{ wiki:dokuwiki-128.png}} 
 + 
 +{{wiki:dokuwiki-128.png }} 
 + 
 +{{ wiki:dokuwiki-128.png }} 
 + 
 +  {{ wiki:dokuwiki-128.png}} 
 +  {{wiki:dokuwiki-128.png }} 
 +  {{ wiki:dokuwiki-128.png }} 
 + 
 +Of courseyou can add a title (displayed as a tooltip by most browsers), too
 + 
 +{{ wiki:dokuwiki-128.png |This is the caption}} 
 + 
 +  {{ wiki:dokuwiki-128.png |This is the caption}} 
 + 
 +For linking an image to another page see [[#Image Links]] above. 
 + 
 +==== Supported Media Formats ==== 
 + 
 +DokuWiki can embed the following media formats directly. 
 + 
 +| Image | ''gif'', ''jpg'', ''png'' 
 +| Video | ''webm'', ''ogv'', ''mp4''
 +| Audio | ''ogg'', ''mp3'', ''wav'' 
 +| Flash | ''swf''                    | 
 + 
 +If you specify a filename that is not a supported media format, then it will be displayed as a link instead. 
 + 
 +==== Fallback Formats ==== 
 + 
 +Unfortunately not all browsers understand all video and audio formats. To mitigate the problem, you can upload your file in different formats for maximum browser compatibility. 
 + 
 +For example consider this embedded mp4 video: 
 + 
 +  {{video.mp4|A funny video}} 
 + 
 +When you upload a ''video.webm'' and ''video.ogv'' next to the referenced ''video.mp4'', DokuWiki will automatically add them as alternatives so that one of the three files is understood by your browser. 
 + 
 +Additionally DokuWiki supports a "poster" image which will be shown before the video has started. That image needs to have the same filename as the video and be either a jpg or png file. In the example above a ''video.jpg'' file would work. 
 + 
 +===== Lists ===== 
 + 
 +Dokuwiki supports ordered and unordered lists. To create a list item, indent your text by two spaces and use a ''*'' for unordered lists or a ''-'' for ordered ones. 
 + 
 +  * This is a list 
 +  * The second item 
 +    * You may have different levels 
 +  * Another item 
 + 
 +  - The same list but ordered 
 +  - Another item 
 +    - Just use indention for deeper levels 
 +  - That's it
  
 <code> <code>
-declare @pk as int+  * This is a list 
 +  * The second item 
 +    * You may have different levels 
 +  * Another item
  
-SELECT Anschriften.Strasse FROM Ansprechpartner +  - The same list but ordered 
-LEFT JOIN Anschriften ON AnsprechPartner.Mandant = Anschriften.Mandant AND +  - Another item 
-AnsprechPartner.KontaktNummer = Anschriften.KontaktNummer WHERE +    - Just use indention for deeper levels 
-Anschriften.AnschriftsNummer = AnsprechPartner.Anschriftsnummer AND  +  - That's it
-AnsprechPartner.AnsprechpartnerNummer = @pk+
 </code> </code>
-  -  Zu Beachten ist das declare @pk as int. Dieses bezieht sich je nach Kontext entweder auf die Ansprechpartner-Nummer oder aber auf die Firmen-Nummer. 
  
-  -  In der coMsgQueueServer.ini muss ein Verweis auf das Schema hinterlegt werden, welches die Definitionen für die Recherchefelder beinhaltet. Mehr dazu im Kaptiel coMsgQueueServer.ini+Also take a look at the [[doku>faq:lists|FAQ on list items]].
  
-==== Allgemeines zur Auftragsanlage ====+===== Text Conversions =====
  
-Der CO-Webservice bietet zwei dedizierte Schnittstellen für das Zammad-Ticket System.+DokuWiki can convert certain pre-defined characters or strings into images or other text or HTML.
  
-  -  /Office/CoServiceRestApi/office/zammad/serviceauftrag +The text to image conversion is mainly done for smileys. And the text to HTML conversion is used for typography replacements, but can be configured to use other HTML as well.
-  -  /Office/CoServiceRestApi/office/zammad/taetigkeit+
  
-Der erste Endpunkt dient der Auftragsanlage, während der Zweite Tätigkeitspositionen anlegt UND allgemeine Ticket-Status Änderungen entgegennimmt.+==== Text to Image Conversions ====
  
-=== Allgemeines zum Hinzufügen von Auftragspositionen in Concept Office durch den Zammad-Sachbearbeiter (Agent) ===+DokuWiki converts commonly used [[wp>emoticon]]s to their graphical equivalents. Those [[doku>Smileys]] and other images can be configured and extended. Here is an overview of Smileys included in DokuWiki:
  
-  * Durch das Schreiben von Notizen mit hinterlegter Zeiterfassung in Zammad entstehen in Concept Office Tätigkeitspositionen. Hierfür müssen der Webhook, Trigger, die Serviceaufträge_einlesen.ini und das Externe System korrekt angelegt worden sein. +  * 8-) %%  8-)  %% 
-Wennn eine Zammad-Notiz als "intern" gekennzeichnet wurde und der entsprechende Schalter in der bereits erwähnte .ini Datei korrekt gesetzt wurde, dann werden aus diesen Notizen keine Positionen im Auftrag. Das Gleiche gilt für Zeiterfassungen mit 0 Minuten. Voraussetzung zur Anlage von Tätigkeitsartikeln ist, das zuvor ein Serviceauftrag durch die entsprechende Zammad-Webschnittstelle entstanden ist und das die Auftragsnummer im Zammad-Ticket sichtbar ist. Die Auftragsnummer wird automatisch befüllt.+  * 8-O %%  8-O  %% 
 +  * :-( %%  :-(  %% 
 +  * :-) %%  :-)  %% 
 +  * =)  %%  =)   %% 
 +  * :-/ %%  :-/  %% 
 +  * :-\ %%  :-\  %% 
 +  * :-? %%  :-?  %% 
 +  * :-D %%  :-D  %% 
 +  * :-P %%  :-P  %% 
 +  * :-O %%  :-O  %% 
 +  * :-X %%  :-X  %% 
 +  * :-| %%  :-|  %% 
 +  * ;-) %%  ;-)  %% 
 +  * ^_^ %%  ^_^  %% 
 +  * :?: %%  :?:  %% 
 +  * :!: %%  :!:  %% 
 +  * LOL %%  LOL  %% 
 +  * FIXME %%  FIXME %% 
 +  * DELETEME %% DELETEME %%
  
 +==== Text to HTML Conversions ====
  
-==== Konfigurationsdateien ====+Typography: [[DokuWiki]] can convert simple text characters to their typographically correct entities. Here is an example of recognized characters.
  
-=== coMsgQueueServer.ini ===+-> <- <-> => <<=> >> << -- --- 640x480 (c) (tm) (r) 
 +"He thought 'It's a man's world'..."
  
-  * **[Mode]** +<code> 
-  * Export=+-> <- <-> => <<=> >> << -- --- 640x480 (c) (tm) (r) 
-  * Import=+"He thought 'It's a man's world'..." 
-  * **[Export_1]** +</code>
-  * DateiFormat=Zammad +
-  * ExportTyp=Kontakte +
-  * ErstellerName=ConceptOffice +
-  * SchemaKey=Zammad +
-  * **[Export_2]** +
-  * DateiFormat=Zammad +
-  * ExportTyp=ansprechpartner +
-  * ErstellerName=ConceptOffice +
-  * SchemaKey=Zammad +
-  * **[MsgQTables]** +
-  * anschriften=0 +
-  * ansprechpartner=0 +
-  * ansprechpartnerfunktionen=0 +
-  * ansprechpartnerstichworte=0 +
-  * artikel=1 +
-  * auftragskoepfe=0 +
-  * kontakte=0 +
-  * kontaktgeschaeftsbereiche=0 +
-  * kontaktkontakte=0 +
-  * kontaktmitarbeiter=0 +
-  * kontaktprojekte=0 +
-  * kontaktstichworte=0 +
-  * kontaktwerbemittel=0 +
-  * kundensonderkonditionen=0 +
-  * kundensonderpreise=0 +
-  * maschinen=1 +
-  * maschinenOnly=0 +
-  * mitarbeiter=0 +
-  * verbindungen=0+
  
-Das unter SchemaKey angegebene Schemamuss in der MsgQueueExport.ini definiert werden. Wenn die Datei noch nicht vorhanden sein sollte, dann muss diese unter Sysdata --ImportExport anlegegt werden. Mehr zum Aufbau der Datei in dem Kaptitel MsgQueueExport.Ini+The same can be done to produce any kind of HTMLit just needs to be added to the [[doku>entities|pattern file]].
  
-Die MsgQTable-Definitionen steuern das Lese-Verhalten aus der MsgQueueData Tabelle. +There are three exceptions which do not come from that pattern file: multiplication entity (640x480)'single' and "double quotes"They can be turned off through a [[doku>config:typography|config option]].
-Sprich auch wenn in der MsgQData Tabelle Beispielsweise Einträge zu Kontakten enthältwerden diese nur vom MsgQ-Server abgearbeitet, wenn ein entsprechender Eintrag für die Kontakte auf 1 gesetzt wurde. +
-BeachtenWenn gar keine Schalter hinterlegt werden, dann werden ALLE Tabellen vom MsgQ-Server herangezogen und entsprechend nach der Verarbeitung gelöscht.+
  
-=== MsgQueueExport.ini === +===== Quoting =====
-  * [Zammad]+
  
-**(Firmen Einstellungen)**+Some times you want to mark some text to show it's a reply or comment. You can use the following syntax:
  
-  * NurAktiveFirmen=1 +  I think we should do it 
-  * AuchInteressenten=0 +   
-  * NurKunden=1 +  > No we shouldn't 
-  * MitReinenLieferanten=0 +   
-  * OrganizationDomainAssignment=0 +  >> Well, I say we should 
-  * PruefungFremdschluesselAusFremdsystemOrganizations=1 +   
-  * PruefungFremdschluesselMitCoPKImNamen=1 +  > Really? 
-  * KontaktnamenMitKontaktnummerExportieren=1 +   
-  * CustomFieldOrganizations_1="BeispielFeldName",50007+  >> Yes! 
 +   
 +  >>> Then lets do it!
  
-**(Ansprechpartner Einstellungen)**+I think we should do it
  
-  * CustomFieldUsers_1="street",50642 +> No we shouldn't
-  * CustomFieldUsers_2="BeispielFeldName2",50643 +
-  * CustomFieldUsers_3="BeispielFeldName3",50644 +
-  * AuchPrivateAPMailAdressenVerwenden=1 +
-  * PruefungFremdschluesselAusFremdsystemUsers=1+
  
-**(Algemeine Einstellungen)**+>> Well, I say we should
  
-  * LimitSearchResult=3 +> Really?
-  * AnzahlCustomFields=10+
  
-**Anmerkungen:**+>> Yes!
  
-  * Selbst defininerte Recherche-Felder müssen unter dem Namen "CustomFieldUsers" oder "CustomFieldOrganizations" definiert werden. Die Definitionen müssen mit einem Unterstrich durchnummeriert werden. Der Aufbau nach dem Gleichheitszeichen ist erst der Zammad-Feldname dann ein Komma und dann die Recherche-Nummer die ausgeführt werden soll. Anschließend muss "AnzahlCustomFields" angehoben werden.+>>> Then lets do it!
  
-  * "OrganizationDomainAssignment": funktioniert nur, wenn am CO-Kontakt eine Internet-Adresse in den Verbindungen hinterlegt wurde.+===== Tables =====
  
-  * "PruefungFremdschluesselImportAusFremdsystem": Mit aktivierter Prüfung dauert der Abgleich länger, hierbei wird der PK aus Zammad mit dem äquivalenten Feld in CO verglichen. Sollte aus Performance-Gründen nur bei der Erstübernahme aktiviert werden und danach wieder deaktiviert werden. Funktioniert nur, wenn die Zammad-Suchfunktion aktiv ist (elasticsearch). Zudem muss der Suchindex vor und nach der Datenübernahme neu aufgebaut werden.+DokuWiki supports a simple syntax to create tables.
  
-  * "LimitSearchResult": Wird nur ausgewertet, wenn PruefungFremdschluesselImportAusFremdsystem aktiviert ist. Die angegebene Anzahl entspricht der Anzahl der Vergleichsdatensätze aus Zammad.+^ Heading 1      ^ Heading 2       ^ Heading 3          ^ 
 +| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        | 
 +| Row 2 Col 1    | some colspan (note the double pipe) || 
 +| Row 3 Col 1    | Row 3 Col 2     | Row 3 Col 3        |
  
-  * "AnzahlCustomFields": Dient zum Aufbauen der selbst erstellten Recherche-Felder. Wenn hier weniger eingestellt ist, als es CustomField-Definitionen gibt, dann werden diese ignoriert. Wenn zuviele angegeben sind, ist es prinzipiell nicht schadhaft, kann aber die Laufzeit verlängern.+Table rows have to start and end with a ''|'' for normal rows or a ''^'' for headers.
  
-=== Office.dat === +  ^ Heading      ^ Heading 2       ^ Heading 3          ^ 
-  * WriteMsgQueueDataAnschriften=+  | Row Col    | Row Col 2     | Row Col 3        | 
-  * WriteMsgQueueDataAnsprechpartner=1 +  | Row 2 Col    | some colspan (note the double pipe) || 
-  * WriteMsgQueueDataAnsprechpartnerFunktionen=1 +  | Row 3 Col    | Row 3 Col 2     | Row 3 Col 3        |
-  * WriteMsgQueueDataAnsprechpartnerStichworte=1 +
-  * WriteMsgQueueDataArtikel=1 +
-  * WriteMsgQueueDataAuftragskoepfe=1 +
-  * WriteMsgQueueDataKontakte=1 +
-  * WriteMsgQueueDataKontaktGeschaeftsBereiche=1 +
-  * WriteMsgQueueDataKontaktKontakte=1 +
-  * WriteMsgQueueDataKontaktMitarbeiter=1 +
-  * WriteMsgQueueDataKontaktProjekte=1 +
-  * WriteMsgQueueDataKontaktStichworte=1 +
-  * WriteMsgQueueDataKontaktWerbeMittel=1 +
-  * WriteMsgQueueDataKundensonderkonditionen=1 +
-  * WriteMsgQueueDataKundensonderPreise=1 +
-  * WriteMsgQueueDataMaschinen=1 +
-  * WriteMsgQueueDataMaschinenOnly=+
-  * WriteMsgQueueDataMitarbeiter=+
-  * WriteMsgQueueDataVerbindungen=1+
  
-Mit diesen Einstellugen ist es möglichdas nur bestimmte Tabellen für MsgQ-Einträge beachtet werden. Wenn gar keine MsgQ-Schalter in der Office.dat hinterlegt werden, dann werden alle Tabellen für die MsgQ Verwendet. Wichtig die Einstellung die hier getroffen werden, steuer nur das Schreiben in die MsgQueueData Tabelle, nicht das Lesen dieser Einträge. Das Lesen wird über die "coMsgQueueServer.ini" gesteuert.+To connect cells horizontallyjust make the next cell completely empty as shown aboveBe sure to have always the same amount of cell separators!
  
-=== Serviceaufträge_einlesen.ini === +Vertical tableheaders are possible, too.
-  * [SchemaName] +
-  * ToleranteKontaktPruefung=1 (bool) +
-  * FremdschluesselAnlegenBeiErfolgreicherSuche=0 (bool) +
-  * BearbeitungsStatus=0 +
-  * UnterbearbeitungsStatus=1 +
-  * Geschaeftsbereich=TKD +
-  * TaetigkeitsartikelNr=1001 +
-  * InternalMessageIgnorieren=1 (bool) +
-  * Stundenart=7 +
-  * NullZeitenErlauben=0 (bool)+
  
-Die hier hinterlegten Schalter Steuern die Auftragsanlage sowie die Anlage von Auftragspositionen aus dem Zammad-Ticket.+|              ^ Heading 1            ^ Heading 2          ^ 
 +^ Heading 3    | Row 1 Col 2          | Row 1 Col 3        | 
 +^ Heading 4    | no colspan this time |                    | 
 +^ Heading 5    | Row 2 Col 2          | Row 2 Col 3        |
  
-**Zum Schalter "ToleranteKontaktPruefung":**+As you can see, it's the cell separator before a cell which decides about the formatting:
  
-Wenn auf gestellt (true), dann wird nicht mehr der CO-Firmennamen gegen den Ticket-Firmennamen geprüft. Hintergrund: Der Sachbearbeiter könnte ja versehentlich eine Maschine vom falschen Kunden am Zammad-Ticket ausgewählt haben. Die Auftragsanlage würde in im Falle von Schalter auf 0, dann abgebrochen werden. Erst wenn im Zammad-Ticket eine zum Kunden zugehörige Maschine ausgewählt wurde, wird es zur Auftragsanlage kommen.+  |              ^ Heading            ^ Heading 2          ^ 
 +  ^ Heading 3    | Row 1 Col 2          | Row 1 Col 3        | 
 +  ^ Heading 4    | no colspan this time |                    | 
 +  ^ Heading 5    | Row 2 Col 2          | Row 2 Col 3        |
  
-**Zum Schalter "FremdschluesselAnlegenBeiErfolgreicherSuche":**+You can have rowspans (vertically connected cells) by adding '':::'' into the cells below the one to which they should connect.
  
-AblaufIm Zammad-Ticket wird eine Maschine zum Kunden ausgewählt und das Ticket aktualisiert. Es kommt über den CO-Webservice zur Auftragsanlage. Wenn allerdings kein Fremdschlüssel zu der von Zammad übermittelten Firmen-ID vorliegt, dann wird der Kunde über die mitgegebene Maschine ermittelt. Wenn der Schalter auf (true) gesetzt ist, dann wird nach Abgleich des Kontaktes (Siehe Schalter ToleranteKontaktPruefung) dauerhaft der entsprechende Fremdschlüssel auf der Datenbank angelegt.+^ Heading 1      ^ Heading 2                  ^ Heading 3          ^ 
 +| Row 1 Col 1    | this cell spans vertically | Row 1 Col 3        | 
 +| Row 2 Col 1    | :::                        | Row 2 Col 3        | 
 +| Row 3 Col    | :::                        | Row 2 Col 3        |
  
-**Zum Schalter "InternalMessageIgnorieren":**+Apart from the rowspan syntax those cells should not contain anything else.
  
-Wenn auf gestellt (true), dann werden interne Zammad-Ticket-Nachrichten insofern ignoriert, dass keine Auftragspositionen durch diese entstehen.+  ^ Heading      ^ Heading 2                  ^ Heading 3          ^ 
 +  | Row 1 Col 1    | this cell spans vertically | Row 1 Col 3        | 
 +  | Row 2 Col 1    | :::                        | Row 2 Col 3        | 
 +  | Row 3 Col 1    | :::                        | Row 2 Col 3        |
  
-**Zum Schalter "NullZeitenErlauben":** +You can align the table contents, too. Just add at least two whitespaces at the opposite end of your textAdd two spaces on the left to align righttwo spaces on the right to align left and two spaces at least at both ends for centered text.
-Wenn auf 1 gestellt (true), dann werden Zammad-Ticket-Nachrichten die keine Zeiterfassung haben, also Zeit=0 Minutennicht als Auftragspositionen im Auftrag angelegt.+
  
-==== Allgemeines zur Serviceauftragserstellung:====+^           Table with alignment           ^^^ 
 +|         right|    center    |left          | 
 +|left          |         right|    center    | 
 +| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
  
-Über das Zusammenspiel von Zammad -Triggern und -Webhooks, sowie dem Concept-Office MsgQ-Server ist es möglich, automatisiert Serviceaufträge aus Tickets zu erstellen, sowie Informationen aus dem Serviceauftrag wieder in das Zammad-Ticket zurückzuspielen.+This is how it looks in the source:
  
-==== Installation und Einrichtung:====+  ^           Table with alignment           ^^^ 
 +  |         right|    center    |left          | 
 +  |left          |         right|    center    | 
 +  | xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
  
-=== Stammdatenübertragung und Synchronisation===+Note: Vertical alignment is not supported.
  
-Es folgt eine Schritt-für-Schritt-Anleitung. Wenn der Arbeitsschritt in Zammad erledigt werden muss, dann beginnt der Paragraph mit **[Zammad]**, entsprechend wenn der Arbeitsschritt Concept Office betrifft, dann beginnt der Paragraph mit **[CO]**. Die Schritte müssen nicht zwingend in der hier vorliegenden Reihenfolge abgearbeitet werden, jedoch empfiehlt es sich, nur dann von der Reihenfolge abzuweichen, wenn man weiß was man macht.+===== No Formatting =====
  
-  * **[Zammad]** Einen Benutzer erstellendem Concept Office als Account nutzen kann. +If you need to display text exactly like it is typed (without any formatting)enclose the area either with ''%%<nowiki>%%'' tags or even simplerwith double percent signs ''<nowiki>%%</nowiki>''.
-  * **[Zammad]** In den Profil-Einstellungen des soeben erstellten Accounts muss nun ein Access Token generiert werden. Dieses Token bitte notieren. +
-  * **[CO]** Externes Systemmit System-Art "Zammad" anlegen. Benutzernamen und Passwort spielen keine Rolle, müssen jedoch angelegt werden. Bitte beliebige Platzhalter hinterlegen.+
  
-| Feld | Wert | +<nowiki> 
-| URL | Hier die URL der genutzten Zammad-API hinterlegen. | +This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**but nothing is done with it. 
-| Zammad-Token| Hier den eben in Zammad erstellten und notierten Token unter "Token" hinterlegen+</nowiki> 
-| Secret | Hier ein beliebiges Passwort hinterlegendieses Dient der Hash-Generierung als Salt und muss entsprechend in einem späteren Schritt ebenfalls in Zammmad hinerlegt werden| +The same is true for %%//__this__ text// with a smiley ;-)%%.
-| CO-MitarbeiterNr| Der hier hinterlegte Mitarbeiter dient zur Authentifizierung im CO-Webservice |+
  
-  * **[CO]** Die MsgQ-Protokollierung muss aktiviert werdenZur Fein-Steuerung bitte das Kapitel "Office.dat" zu Rate ziehen. Nach Änderungen in der Office.dat bitte Concept Office einmal Neustarten.+  <nowiki> 
 +  This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it. 
 +  </nowiki> 
 +  The same is true for %%//__this__ text// with a smiley ;-)%%.
  
-  * **[CO]**   * Die MsgQueueExport.ini muss angelegt und konfiguriert werden, für nähere Informationen hierzu bitte das gleichnamige Kapitel beachten.+===== Code Blocks =====
  
-  * **[CO]** Recherchen für die "Custom_Felder" anlegen. Für weitere Informationen bitte in das Kapitel "Recherchefelder" schauen.+You can include code blocks into your documents by either indenting them by at least two spaces (like used for the previous examples) or by using the tags ''%%<code>%%'' or ''%%<file>%%''.
  
-  * **[Zammad]** Alle Datenfelder, die Zammad von Concept Office entgegennehmen soll, müssen Zammad definiert werdenHierfür entsprechend an den "Organisations" und "Users" die "Objects" anlegen. Am Beispiel der Ansprechpartner.Street. Manage(Das Zahnrad Symbol unten Links) dann auf Objects und unter dem Reiter "User" das Feld "street" anlegen. Wenn der hier gewählte Feldname identisch mit dem von Concept Office übertragenen Feldnamen ist, dann wird das Feld entsprechend befüllt werden. +  This is text is indented by two spaces.
- +
-An dieser Stelle kann der Stammdatenabgleich erfolgen. Das Kapitel "Allgemeines zum Stammdatenabgleich" gibt nähere Informationen zu diesem Prozess. Es folgt nun die Prozesserklärung zum Stammdatenabgleich. +
-Als erstes sollte man einen Blick in die Tabelle MsgQueueData werfen. Es empfiehlt sich, falls dort Einträge vorhanden sind, diese zu Löschen. Anschließend die Tabelle MsgQueueData mit folgender SQL-Anweisung befüllen:+
  
 <code> <code>
-INSERT INTO MsgQueueData  +This is preformatted code all spaces are preserved: like              <-this
-( ClientID, ApplicationName, TableName, GUIDString, Operation, OperationDate, UserName, Program, LfdNummer )  +
-SELECT Kontakte.Mandant, 'Office', 'kontakte', Kontakte.UniqueId, 1, GETDATE(), 'script', 'script',+
-FROM Kontakte WHERE Mandant = 1 AND Uebernahme = 1 AND IstInteressent = 0 AND IstLieferant = 0 AND IstKunde = 1+
 </code> </code>
  
-Bitte den Mandanten in der SQL-Anweisung beachten! +<file> 
-Es können beliebige Einschränkungenin der WHERE-Bedingung, getroffen werden. Bitte das Kapitel "MsgQueueExport.Ini" mit beachten. Die dort definierten Schalter sollten mit der WHERE-Bedingung gleich gesetzt werden.+This is pretty much the samebut you could use it to show that you quoted a file. 
 +</file>
  
-Anschließend das Programm Sc.Co.MsgQServer starten. Der Datenabgleich wird, wenn alles korrekt konfiguriert wurde, sogleich gestartet. Im MsgQ-Log werden Fehleraufzeichnungen protokolliert.+Those blocks were created by this source:
  
-Nach der erfolgreichen Übertragung der Kontakte kann nun die Übertragung der Ansprechpartner folgenHierfür bitte folgende SQL-Anweisung anpassen:+    This is text is indented by two spaces. 
 + 
 +  <code> 
 +  This is preformatted code all spaces are preserved: like              <-this 
 +  </code> 
 + 
 +  <file> 
 +  This is pretty much the same, but you could use it to show that you quoted a file. 
 +  </file> 
 + 
 +==== Syntax Highlighting ==== 
 + 
 +[[wiki:DokuWiki]] can highlight sourcecode, which makes it easier to read. It uses the [[http://qbnz.com/highlighter/|GeSHi]] Generic Syntax Highlighter -- so any language supported by GeSHi is supported. The syntax uses the same code and file blocks described in the previous section, but this time the name of the language syntax to be highlighted is included inside the tag, e.g. ''<nowiki><code java></nowiki>'' or ''<nowiki><file java></nowiki>''
 + 
 +<code java> 
 +/** 
 + * The HelloWorldApp class implements an application that 
 + * simply displays "Hello World!" to the standard output. 
 + */ 
 +class HelloWorldApp { 
 +    public static void main(String[] args) { 
 +        System.out.println("Hello World!"); //Display the string. 
 +    } 
 +
 +</code> 
 + 
 +The following language strings are currently recognized: //4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript-french, actionscript, actionscript3, ada, algol68, apache, applescript, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, epc, ecmascript, eiffel, email, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, genero, genie, gdb, glsl, gml, gnuplot, go, groovy, gettext, gwbasic, haskell, hicest, hq9plus, html, html5, icon, idl, ini, inno, intercal, io, j, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, modula2, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml-brief, ocaml, oobas, oracle8, oracle11, oxygene, oz, pascal, pcre, perl, perl6, per, pf, php-brief, php, pike, pic16, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic// 
 + 
 +==== Downloadable Code Blocks ==== 
 + 
 +When you use the ''%%<code>%%'' or ''%%<file>%%'' syntax as above, you might want to make the shown code available for download as well. You can do this by specifying a file name after language code like this:
  
 <code> <code>
-INSERT INTO MsgQueueData  +<file php myexample.php> 
-( ClientID, ApplicationName, TableName, GUIDString, Operation, OperationDate, UserName, Program, LfdNummer )  +<?php echo "hello world!"; ?> 
-SELECT AnsprechPartner.Mandant, 'Office', 'ansprechpartner', AnsprechPartner.UniqueId, 1, GETDATE(), 'script', 'script', 0 +</file>
-FROM AnsprechPartner WHERE Mandant = 1 AND Aktiv = 1+
 </code> </code>
  
-Bitte den Mandanten in der SQL-Anweisung beachten!+<file php myexample.php> 
 +<?php echo "hello world!"; ?> 
 +</file>
  
-Falls der MsgQServer noch am laufen iststartet dieser auch sogleich mit der DatenübertragungAnsonsten bitte einmal den MsgQServer starten.+If you don't want any highlighting but want a downloadable filespecify a dash (''-'') as the language code: ''%%<code - myfile.foo>%%''.
  
-Nach der erfolgreichen Datenübertragung werden ab jetzt alle Datenänderungen der Firmen und Ansprechpartner mit Zammad synchronisiert. 
  
------+===== Embedding HTML and PHP ===== 
 + 
 +You can embed raw HTML or PHP code into your documents by using the ''%%<html>%%'' or ''%%<php>%%'' tags. (Use uppercase tags if you need to enclose block level elements.) 
 + 
 +HTML example: 
 + 
 +<code> 
 +<html> 
 +This is some <span style="color:red;font-size:150%;">inline HTML</span> 
 +</html> 
 +<HTML> 
 +<p style="border:2px dashed red;">And this is some block HTML</p> 
 +</HTML> 
 +</code> 
 + 
 +<html> 
 +This is some <span style="color:red;font-size:150%;">inline HTML</span> 
 +</html> 
 +<HTML> 
 +<p style="border:2px dashed red;">And this is some block HTML</p> 
 +</HTML> 
 + 
 +PHP example: 
 + 
 +<code> 
 +<php> 
 +echo 'The PHP version: '; 
 +echo phpversion(); 
 +echo ' (generated inline HTML)'; 
 +</php> 
 +<PHP> 
 +echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>'; 
 +echo '<td>'.phpversion().'</td>'; 
 +echo '</tr></table>'; 
 +</PHP> 
 +</code>
  
-=== Anlage Serviceaufträge durch Zammad-Ticket===+<php> 
 +echo 'The PHP version: '; 
 +echo phpversion(); 
 +echo ' (inline HTML)'; 
 +</php> 
 +<PHP> 
 +echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>'; 
 +echo '<td>'.phpversion().'</td>'; 
 +echo '</tr></table>'; 
 +</PHP>
  
-**[Zammad]** Folgende Ticket-Objects müssen angelegt werdenDer Anzeigename ist frei wählbarnicht aber der Feldname.+**Please Note**: HTML and PHP embedding is disabled by default in the configurationIf disabledthe code is displayed instead of executed.
  
-  * "maschine" --> Textfeld --> Default "?"(Das Fragezeichen wird dem Trigger später dazu dienen, zu unterscheiden ob bereits eine Maschine ausgewählt wurde.) (wenn das Feld "maschine" nicht angelegt wirddann ist die Auftragsanlage nicht möglich)  +===== RSS/ATOM Feed Aggregation ===== 
-  * "co_vorgangsnummer" Textfeld (wenn nicht angelegt, dann kann die Serviceauftragsnummer nicht in das Zammad-Ticket übertragen werden, die Auftragsanlage funktioniert trotzdem) +[[DokuWiki]] can integrate data from external XML feedsFor parsing the XML feeds[[http://simplepie.org/|SimplePie]] is usedAll formats understood by SimplePie can be used in DokuWiki as well. You can influence the rendering by multiple additional space separated parameters:
-  * "co_schema" --> single tree select field (wenn nicht angelegt, dann ist die Auftragsanlage nicht möglich) Informationen zum Aufbau des Schemas ist unter dem Kapitel "Serviceaufträge_einlesen.ini" zu finden. +
-  * "bei_techniker" --> Boolean (Indikator ob der Serviceauftrag aktuell beim Techniker in Bearbeitung ist)+
  
-**[Zammad]** Für die beiden Endpunkte (Mehr dazu im Kapitel "Allgemeines zur Auftragsanlage") müssen entsprechende Webhooks angelegt werdenHierfür unter Manage--> Webhook oben rechts auf "New Webhook" klickenEin Beispiel für den Aufbau:+^ Parameter  ^ Description ^ 
 +| any number | will be used as maximum number items to show, defaults to 8 | 
 +| reverse    | display the last items in the feed first | 
 +| author     | show item authors names | 
 +| date       | show item dates | 
 +| description| show the item description. If [[doku>config:htmlok|HTML]] is disabled all tags will be stripped | 
 +| //n//[dhm] | refresh period, where d=days, h=hours, m=minutes. (e.g12h = 12 hours). |
  
-| Feld | Wert | +The refresh period defaults to 4 hoursAny value below 10 minutes will be treated as 10 minutes. [[wiki:DokuWiki]] will generally try to supply a cached version of a page, obviously this is inappropriate when the page contains dynamic external content. The parameter tells [[wiki:DokuWiki]] to re-render the page if it is more than //refresh period// since the page was last rendered.
-| Name | Ein frei wählbarer Name+
-| Endpoint | https://Ihre_Domain/Office/CoServiceRestApi/office/zammad/serviceauftrag | +
-| HMAC SHA1 Signature Token  | Hier ein beliebiges Passwort hinterlegen, dieses Dient der Hash-Generierung als Salt und muss entsprechend in Concept Office unter Externe Systeme hinterlegt werden (Secret).| +
-| SSL Verify  | Wenn ein selbst signiertes Zertifikat genutzt wird, dann muss "no" eingestellt werden|+
  
 +**Example:**
  
-**[Zammad]** Als nächstes müssen die Trigger eingerichtet werden, die die Webhooks bedienenHier steht es dem Nutzer frei die Bedingungen individuell nach Bedarf zu konfigurieren. Es gilt dabei nur zu beachten, was im Kapitel "Allgemeines zur Auftragsanlage" über die Aufgabenverteilung der Endpunkte beschrieben ist. +  {{rss>http://slashdot.org/index.rss 5 author date 1h }}
-Außerdem zu beachten ist, das laut Dokumentation von Zammad, die Trigger in Alphabetischer Reihenfolge abgearbeitet werden.+
  
-Eine Beispielkonfiguration der Trigger:+{{rss>http://slashdot.org/index.rss 5 author date 1h }}
  
-Webhook Maschine zugeordnet: 
  
-| Feld | Wert | +===== Control Macros =====
-| Name | Ein frei wählbarer Name. | +
-| Conditions for affected objects | "Maschine" --> "has changed"+
-| Execute changes on objects | "Webhook" --> "Maschine Zugeordnet" (Der Name des Webhooks)| +
-| Note  | Frei wählbare Beschreibung | +
-| Active  | "active" |+
  
-Webhook Taetigkeit Hinzufuegen+Some syntax influences how DokuWiki renders a page without creating any output it self. The following control macros are availble:
  
-| Feld | Wert +^ Macro           ^ Description 
-Name "B_TaetigkeitHinzufuegen" Ein frei wählbarer Name. +%%~~NOTOC~~%%   If this macro is found on the page, no table of contents will be created 
-Conditions for affected objects "Maschine" --> "contains not" "?"+%%~~NOCACHE~~%% DokuWiki caches all output by default. Sometimes this might not be wanted (eg. when the %%<php>%% syntax above is used), adding this macro will force DokuWiki to rerender a page on every call |
-| Execute changes on objects | "Webhook" --"Taetigkeit Erfassen" (Der Name des Webhooks)+
-| Note  | Frei wählbare Beschreibung | +
-| Active  | "active" |+
  
-=== Statusabgleich zischen dem Zammad-Ticket und dem Concept Office Serviceauftrag ===+===== Syntax Plugins =====
  
-**[Zammad]** Als Ticket-Object muss das Feld "co_unterbearbeitungsstatus" als "Single selection field" angelegt werdenZu Beachten ist hierbei, dass der Key des jeweiligen Unterbearbeitungsstatus identisch mit dem aus der Concept Office Tabelle "Unterbearbeitungsstatus" sein mussEin Beispiel:+DokuWiki's syntax can be extended by [[doku>plugins|Plugins]]. How the installed plugins are used is described on their appropriate description pagesThe following syntax plugins are available in this particular DokuWiki installation:
  
-| Key | Display | +~~INFO:syntaxplugins~~
-| 10 | im Einsatz | +
-| 25 | in Werkstatt | +
-| 30 | Maschine eingeschickt | +
-| 20 | Nacharbeit |+
  
-Bei korrekter Einrichtung wird der Unterbearbeitungsstatus des Serviceauftrages durch den MsgQ-Server abgeglichen. Sodass im Idealfall nur wenige Sekunden zwischen der Statusänderung im Serviceauftrag und der Änderung am Zammad-Ticket vergehen. 
wiki/syntax.1686141906.txt.gz · Zuletzt geändert: 2023/06/07 14:45 (Externe Bearbeitung)
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0