Benutzer-Werkzeuge

Webseiten-Werkzeuge


Plugin installed incorrectly. Rename plugin directory 'swiftmail.backup' to 'swiftmail'.
software:tim:section_handling

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:tim:section_handling [2013/06/05 15:53]
martin.oehm [Assignment]
software:tim:section_handling [2021/07/01 09:52] (aktuell)
Zeile 2: Zeile 2:
 Durch das Section Handling wird festgelegt, welcher User bestimmte Teile (sog. Sections) innerhalb der Smartform sehen kann/darf. Durch das Section Handling wird festgelegt, welcher User bestimmte Teile (sog. Sections) innerhalb der Smartform sehen kann/darf.
 Diese Beschränkungen können entweder innerhalb eines ganzen Prozesses gelten oder bei einem gewissen Stand innerhalb des Prozessverlaufs. Diese Beschränkungen können entweder innerhalb eines ganzen Prozesses gelten oder bei einem gewissen Stand innerhalb des Prozessverlaufs.
-Die folgenden Rechte können vergebenbzw. entzogen werden:+Die folgenden Rechte können vergeben bzw. entzogen werden:
   * Schreibrecht   * Schreibrecht
   * Leserecht   * Leserecht
Zeile 11: Zeile 11:
  
 In der Smartform wird der Bereich, der durch das Section Handling beeinflusst werden soll, beispielsweise mit einem **DIV** umschlossen und markiert somit einen abgeschlossen Teil.  \\ In der Smartform wird der Bereich, der durch das Section Handling beeinflusst werden soll, beispielsweise mit einem **DIV** umschlossen und markiert somit einen abgeschlossen Teil.  \\
-Diesem **DIV** muss zwingend das Attribut class="​section"​ mitgegeben werden. Die ID des **DIV**s kann dabei beliebig gewählt werden.\\+Diesem **DIV** muss zwingend das Attribut class="​section"​ mitgegeben werden. Ein Element welches das Attribut class="​section"​ erhalten hat, darf keine weiteren Klassen besitzen. Die ID des **DIV**s kann dabei beliebig gewählt werden.\\
 In dem folgenden Beispiel sind zwei DIV-Bereiche zu sehen: ​ In dem folgenden Beispiel sind zwei DIV-Bereiche zu sehen: ​
   * DIV mit der ID="​section1",​ beinhaltet: ​   * DIV mit der ID="​section1",​ beinhaltet: ​
Zeile 31: Zeile 31:
 </​div>​ </​div>​
 </​code>​ </​code>​
 +
 +>> Befindet sich die Section innerhalb einer Tabelle (<​table>​),​ so muss ein tBody(tr,​td) anstatt eines DIVs benutzt werden, um die Section abzugrenzen.
  
 ==== Section Handling Parameter ==== ==== Section Handling Parameter ====
  
-Die Paramter ​für das Section Handling, mit welchen die Rechte zugewiesen werden, werden in [[software:​signavio | Signavio]] für den Prozess definiert : +Die Parameter ​für das Section Handling, mit welchen die Rechte zugewiesen werden, werden in [[software:​signavio| Signavio]] für den Prozess definiert : 
  
 {{ software:​tim:​eigenschaften.jpg?​200 }} {{ software:​tim:​eigenschaften.jpg?​200 }}
Zeile 41: Zeile 43:
  
  <​code XML>  <​code XML>
-<​section-node-mapping>​  +<​section-node-mapping>​ 
-  <​node-mapping name="​Name_einer_Node_aus_dem_Prozess">​  +  <​node-mapping name="​Name_einer_Node_aus_dem_Prozess">​ 
-    <section name="​ID_der_Section_aus_der_Smartform">​  +    <section name="​ID_der_Section_aus_der_Smartform">​ 
-      <read assignment="​*"/>​  +      <read assignment="​*"/>​ 
-      <write assignment="​*"/>​  +      <write assignment="​*"/>​ 
-    </​section>​  +    </​section>​ 
-  </​node-mapping>​  +  </​node-mapping>​ 
-</​section-node-mapping> ​+</​section-node-mapping>​
 </​code>​ </​code>​
  
Zeile 67: Zeile 69:
 | Swimlanes ​   | "​swimlane(Swimlanename)"​ | | Swimlanes ​   | "​swimlane(Swimlanename)"​ |
 | Gruppe ​   | "​group(Gruppenname)" ​    | | Gruppe ​   | "​group(Gruppenname)" ​    |
-|Wildcard (keine Beschränkung) | "​*"​|+| Wildcard (für keinen Benutzer) | ""​ | 
 +|Wildcard (für alle Benutzer) | "​*"​|
 |Negation(dieser User darf nicht...) | "! user(…)"​| |Negation(dieser User darf nicht...) | "! user(…)"​|
  
-Mehrere Angaben können getrennt durch Semikolons ​angegeben ​werden, z. B.: "​group(Vertrieb);​group(Controlling);​user(Max.Mustermann)"​+Mehrere Angaben können getrennt durch Semikolons ​realisiert ​werden, z. B.: "​group(Vertrieb);​group(Controlling);​user(Max.Mustermann)"​
 ====Locking==== ====Locking====
  
-Locking kann zusätzlich zu den Assignments angegeben werden und dient als Bearbeitungssperre. Um das Locking zu imlementieren ​muss der Parameter lockable="​true"​ angegeben werden ​+Locking kann zusätzlich zu den Assignments angegeben werden und dient als Bearbeitungssperre. Um das Locking zu implementieren ​muss der Parameter lockable="​true"​ angegeben werden. Locking kann auf das node-mapping oder die section selbst gelegt werden. Das locking Attribut der section überwiegt immer das Attribut des node-mappings. ​
  
 <code xml> <code xml>
 <​section-node-mapping>​ <​section-node-mapping>​
   <​node-mapping lockable="​true">​   <​node-mapping lockable="​true">​
-    <section name="​section1"​ >+    <section name="​section1">​ 
 +      <read assignment="​*"/>​ 
 +      <write assignment="​*"/>​ 
 +    </​section>​ 
 +    <section name="​section2"​ lockable="​false">
       <read assignment="​*"/>​       <read assignment="​*"/>​
       <write assignment="​*"/>​       <write assignment="​*"/>​
Zeile 94: Zeile 101:
 Damit wird verhindert dass eingegebene Daten versehentlich von einem anderen Nutzer überschrieben werden. Damit wird verhindert dass eingegebene Daten versehentlich von einem anderen Nutzer überschrieben werden.
 Das Feld kann erst dann wieder von anderen Nutzern entsperrt werden, wenn der Benutzer der das derzeitige Bearbeitungsrecht besitzt die Smartform speichert und schließt. ​ Das Feld kann erst dann wieder von anderen Nutzern entsperrt werden, wenn der Benutzer der das derzeitige Bearbeitungsrecht besitzt die Smartform speichert und schließt. ​
 +
 +
 +
 +====Siftsymbole ausblenden====
 +
 +Ist lockable auf false gesetzt, wird vor der einer Section ein Stiftsymbol angezeigt, solange sich der Prozess nicht an der Node befindet die in dem zugehörigen NodeMapping angegeben wurde. Befindet sich der Prozess dann an der Stelle, die angegeben wurde, so wird das Stiftsymbol ausgeblendet.
 +Sollen nun alle Stiftsymbole ausgeblendet werden, so muss ein globales NodeMapping angegeben werden, in welchem alle Sections einmal definiert werden und ein Assignment bekommen. Soll sich an der Funktionsweise der Smartform nichts ändern, so reicht es in dem globalen NodeMapping jeder Section eine Wildcard zu geben.
 +
 +====NodeMapping bereits vor Instanzstart====
 +
 +Sollen bereits vor Start der Instanz Bereiche eingegrenzt werden, so muss ein NodeMapping eingefügt werden, welches den Namen des Starts trägt.
 +Ist kein Name für den Start angegeben, so bekommt der Start standardmäßig den Namen **"​StartEvent_1"​** und das Ende den Namen **"​EndEvent_1"​**,​ dieser kann dann im NodeMapping benutzt werden
  
 ----- -----
Zeile 116: Zeile 135:
  
  <​code XML>  <​code XML>
-<​section-node-mapping>​  +<​section-node-mapping>​ 
-  <​node-mapping>​  +  <​node-mapping>​ 
-    <section name="​section1">​  +    <section name="​section1">​ 
-      <read assignment="​user(TIM)"/>​  +      <read assignment="​user(TIM)"/>​ 
-      <write assignment="​user(TIM)"/>​  +      <write assignment="​user(TIM)"/>​ 
-    </​section>​  +    </​section>​ 
-    <section name="​section2">​  +    <section name="​section2">​ 
-      <read assignment="​*"/>​  +      <read assignment="​*"/>​ 
-      <write assignment="​*"/>​  +      <write assignment="​*"/>​ 
-    </​section>​  +    </​section>​ 
-  </​node-mapping>​  +  </​node-mapping>​ 
-</​section-node-mapping> ​+</​section-node-mapping>​
 </​code>​ </​code>​
  
Zeile 142: Zeile 161:
  
 <code XML> <code XML>
-<​section-node-mapping>​  +<​section-node-mapping>​ 
-  <​node-mapping>​  +  <​node-mapping>​ 
-    <section name="​section1">​  +    <section name="​section1">​ 
-      <read assignment="​*"/>​  +      <read assignment="​*"/>​ 
-      <write assignment="​user(TIM)"/>​  +      <write assignment="​user(TIM)"/>​ 
-    </​section>​  +    </​section>​ 
-    <section name="​section2">​  +    <section name="​section2">​ 
-      <read assignment="​*"/>​  +      <read assignment="​*"/>​ 
-      <write assignment="​*"/>​  +      <write assignment="​*"/>​ 
-    </​section>​  +    </​section>​ 
-  </​node-mapping>​  +  </​node-mapping>​ 
-</​section-node-mapping> ​+</​section-node-mapping>​
 </​code>​ </​code>​
  
Zeile 168: Zeile 187:
 Das gewünschte Ziel ist, dass solange sich der Prozess auf der Node A befindet nur der User TIM den oberen Teil der Smartform sehen darf. Sobald sich der Prozess auf Node B befindet darf zwar jeder den oberen Teil sehen, aber nicht bearbeiten. Hierfür müssen für jede Node die section Parameter angegeben werden .Die Parameter um dieses Ziel zu erreichen sind die folgenden: Das gewünschte Ziel ist, dass solange sich der Prozess auf der Node A befindet nur der User TIM den oberen Teil der Smartform sehen darf. Sobald sich der Prozess auf Node B befindet darf zwar jeder den oberen Teil sehen, aber nicht bearbeiten. Hierfür müssen für jede Node die section Parameter angegeben werden .Die Parameter um dieses Ziel zu erreichen sind die folgenden:
 <code XML> <code XML>
-<​section-node-mapping>​  +<​section-node-mapping>​ 
-  <​node-mapping name="​A">​  +  <​node-mapping name="​A">​ 
-    <section name="​section1">​  +    <section name="​section1">​ 
-      <read assignment="​user(TIM)"/>  +      <read assignment="​user(TIM)"/>​ 
-      <write assignment="​user(TIM)"/>​  +      <write assignment="​user(TIM)"/>​ 
-    </​section>​  +    </​section>​ 
-    <section name="​section2">​  +    <section name="​section2">​ 
-      <read assignment="​*"/>​  +      <read assignment="​*"/>​ 
-      <write assignment="​*"/>​  +      <write assignment="​*"/>​ 
-    </​section>​  +    </​section>​
-  </​node-mapping>​  +
-    <​node-mapping name="​B">​  +
-    <section name="​section1">​  +
-      <read assignment="​*"/>  +
-      <write assignment="​user(TIM)"/>​  +
-    </​section>​  +
-    <section name="​section2">​  +
-      <read assignment="​*"/>​  +
-      <write assignment="​*"/>​  +
-    </​section> ​+
   </​node-mapping>​   </​node-mapping>​
-</​section-node-mapping> ​+    <​node-mapping name="​B">​ 
 +    <section name="​section1">​ 
 +      <read assignment="​*"/>​ 
 +      <write assignment="​user(TIM)"/>​ 
 +    </​section>​ 
 +    <section name="​section2">​ 
 +      <read assignment="​*"/>​ 
 +      <write assignment="​*"/>​ 
 +    </​section>​ 
 +  </​node-mapping>​ 
 +</​section-node-mapping>​
 </​code>​ </​code>​
  
Zeile 201: Zeile 220:
 {{ software:​tim:​sfwritebottom.jpg?​200 }} {{ software:​tim:​sfwritebottom.jpg?​200 }}
  
 +----
 +=== Wie verhält sich das Sectionhandling in der Smartform Suche? ===
  
 +In der Smartform Suche werden nur die Read-Expressions angewendet welche für den ganzen Prozess gültig sind.\\
 +\\
 +Das heißt:\\
 +\\
 +Wenn ich die Section generell sehen darf, darf ich auch danach suchen und vice versa.
  
software/tim/section_handling.1370440407.txt.gz · Zuletzt geändert: 2021/07/01 09:57 (Externe Bearbeitung)