Bei der Anpassung von Process Templates kann es vorkommen, dass die Möglichkeiten von AllowedValues oder SuggestedValues (siehe All FIELD XML elements reference in der MSDN) nicht ausreichend sind. Wenn man z.B. die freie Texteingabe ermöglichen möchte, diese jedoch einem bestimmten Muster folgen soll. Ein einfaches Beispiel dafür ist die Eingabe einer MAC-Adresse.
Das MATCH-Element
Man könnte also auf die Idee kommen, eine Feldvalidierung mittels regulärer Ausdrücke durchzuführen. Die Konfigurierbarkeit von TFS Process Templates sieht hierfür eine eingeschränkte Variante vor: Das MATCH Element. Dieses ermöglicht eine sehr einfache Musterdefinition. Es wird nach folgender Syntax verwendet:
<MATCH pattern="patternValue" for="userGroupName" not="userGroupName" />
Laut MSDN sind folgende Pattern Values möglich:
- “A” represents an alphabetical character.
- “N” represents a numeric character.
- “X” represents any alphanumeric character.
(siehe Online-Dokumentation in der MSDN)
Das Beispiel der MAC-Adresse lässt sich in der Work Item Type Definition konfigurieren, wie in Abbildung 1 dargestellt.
Abbildung 1: MATCH Element für eine MAC-Adresse
Für den Anwender der Work Items äußert es sich so, dass eine Hinweismeldung angezeigt wird, wenn der eingegebene Wert nicht definierten Textmuster entspricht (siehe Abbildung 2).
Abbildung 2: Verstoß gegen das Textmuster
Einschränkungen
Wie vorher beschrieben, bietet das MATCH-Element eine sehr einfache Möglichkeit der Musterdefinition. Von “echten” regulären Ausdrücken ist dies weit entfernt. Wenn man beispielsweise prüfen möchte, ob ein Testfeld ein bestimmtes Präfix hat, reicht diese Möglichkeit bereits nicht mehr aus. Eine weitere Einschränkung ist der Feldtyp, auf den das MATCH-Element anwendbar ist. Es ist ausschließlich für die Verwendung mit String-Feldern vorgesehen. Da sich insbesondere für Beschreibungen die HTML-Felder immer größerer Beliebtheit erfreuen, lassen sich diese Felder mit dem MATCH-Element ebenfalls nicht überprüfen.
Erweiterungen
Wer weitergehende Prüfungen der Feldinhalte benötigt, muss sich wohl mit der TFS API auseinandersetzen. Eine Möglichkeit in einer standardisierten Form Erweiterungen für den TFS bereitzustellen, die serverseitig geprüft werden, bietet TFS ASAP. Mit dieser Plattform lassen sich Regeln ereignisbasiert (z.B. mit dem Speichern eines Work Items) sowie zeitgesteuert (z.B. einmal stündlich) ausführen. Dabei bietet sie bereits bewährte Mechanismen zur Integration serverseitiger Erweiterungen in den TFS. Im Falle der erweiterten Prüfung auf Textmuster mit regulären Ausdrücken könnte man beispielsweise eine E-Mail an den Verursacher versenden lassen oder die Änderung sogar wieder rückgängig machen. Mehr Informationen zu TFS ASAP sowie den Bezug einer Testlizenz gibt es unter http://www.tfsasap.com
Wie man auch hier wieder sieht, TFS ist kein RM noch ein ALM Tool.
Auch wenn man noch so viele Verrenkungen anstellt…
Hallo Werner,
vielen Dank für dein Feedback.
Wir haben gemeinsam mit unseren Kunden in den vergangenen Jahren sehr gute Erfahrungen mit dem TFS als ALM-Plattform gemacht. Natürlich gibt es an verschiedenen Stellen Lücken, an denen jedoch herstellerseitig sowie auch durch die Community kontinuierlich gearbeitet wird. So haben wir zum Beispiel mehrere großteils kostenfreie TFS-Erweiterungen entwickelt, die unseren Kunden in den einzelnen Projekten einen großen Mehrwert bieten (siehe https://www.aitgmbh.de/downloads/team-foundation-server-tools.html).
Insbesondere in dem von dir angesprochenen Bereich Requirements Engineering bringt der TFS (noch) nicht für jedes Kundenszenario die erforderliche Funktionalität mit. Je nach Definition des Prozesses für die Anforderungsanalyse ist dies jedoch ein gutes Beispiel für die erfolgreiche Ergänzung durch 3rd Party Tools. Von leichtgewichtigen Lösungen wie WordToTFS (https://www.aitgmbh.de/wordtotfs) bis hin zu eigenständigen Produkten wie inteGREAT (http://www.edevtech.com/products.html) gibt es hier verschiedene Ansätze.
Wenn es noch konkreten Klärungsbedarf gibt, stehen wir gerne zur Verfügung 🙂
Viele Grüße
Thomas Rümmler