Archive

Posts Tagged ‘XML’

PowerShell Script to convert your Testing Anywhere run logs into a Excel pivot table data source

    1. If confronted with a sizable Testing Anywhere test script codebase which has been marginally, but not substantially enhanced/cleaned up in several years while producing a barrage of automation errors daily,
    2. you may find that the run suite errors that Testing Anywhere logs automatically in its rlgx files are your best data source  for monitoring and designing a plan of attack:
      1. Any oft-failing scripts should be put last during the daily run? how about length script needs to run?
      2. Any failing  script parts could be modularized and during the daily run? rlgx-excel-pivot-scripts-avg-duration-percentage
      3. any oft-failing scripts? E.g. here the top 8% of failing scripts have almost 30% of the errors. image
      4. Any oft-failing approaches that might benefit from refactoring? Starting with which  scripts? Main actions, then sub-actions:rlgx-excel-pivot-scripts-error-type-countrlgx-excel-pivot-scripts-error-type-count
      5. etc.
    3. Then this PowerShell script may help which
      1. extracts the non binary <runlog> items out of the binary rlgx files,
      2. and merges them into a single file
      3. which it wraps with an XML declaration and root level node that Excel can work with.
 
add-content -value '' -path C:\td\testinganywhere\files\rlgx\all-a-rlgx.xml -Encoding UTF8 Get-childitem -path C:\td\testinganywhere\files\rlgx\arnold-pc1 |
? {$_.Extension -eq ".rlgx"} |  
% { $file = convertto-string $_.FullName  
$match = [regex]::Match($file,'\s+(.*)\s+',"SingleLine,IgnoreCase").value    
add-content $match -path C:\td\testinganywhere\files\rlgx\all-a-rlgx.xml -Encoding UTF8 } 
add-content '' -path C:\td\testinganywhere\files\rlgx\all-a-rlgx.xml -Encoding UTF8 
  1. Make this PowerShell script a Scheduled Task,
  2. So that you can auto-update said XML which you made the  data source for your Excel monitoring/planning work book.
    1. The post-processing of the default error log messages that makes meaningful pivoting actually possible, is left as an exercise to the reader by Testing Anywhere Smiley .

Fun with .docx to .html transforms by means of HtmlConverter from PowerTools for Open XML

  1. The transform is FOSS and platform-independent:
    1. It neither requires Office nor Windows (The OpenXML SDK runs on Linux via Mono on the server.
    2. However, the most recent installment of Powertools for OpenXML, a high-level API to the OpenXML SDK, comes with a PowerShell interface (benefit: no Visual studio requirement).
  2. Valuable features of the transform,  among many other things, are:
    1. HtmlConverter is able to translate MS-Word styles into CSS (insofar needed – my code style has “No proofing” set, however, this cannot be implemented on the WWW), so the layout is preserved as designed, but w/o need for inline formatting:
        span.pt-StrongEmphasis-000052 {
            font-family: Calibri;
            font-size: 11pt;
            font-style: italic;
            font-weight: bold;
            margin: 0in;
            padding: 0in;
        }

        span.pt-lowCodeConsoleChar0 {
            color: #FFFFFF;
            background: #000000;
            font-family: Consolas;
            font-size: 10pt;
            font-weight: normal;
            margin: 0in;
            padding: 0in;
        }
     &lt;h3 dir=&quot;ltr&quot; class=&quot;pt-000040&quot;&gt;
            &lt;span class=&quot;pt-000041&quot;&gt;2.2.1&lt;/span&gt;&lt;span class=&quot;pt-000042&quot;&gt;&lt;span class=&quot;pt-000043&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pt-Heading2Char&quot;&gt;&lt;b&gt;References&lt;/b&gt;&lt;/span&gt;
          &lt;/h3&gt;

          &lt;p dir=&quot;ltr&quot; class=&quot;pt-BodyText&quot;&gt;
            &lt;span class=&quot;pt-DefaultParagraphFont-000003&quot;&gt;&lt;br /&gt;
            &amp;lrm;&lt;/span&gt;&lt;span class=&quot;pt-000000&quot;&gt;&amp;nbsp;&lt;/span&gt;
          &lt;/p&gt;

          &lt;h1 dir=&quot;ltr&quot; class=&quot;pt-000006&quot;&gt;
            &lt;span class=&quot;pt-000007&quot;&gt;&lt;b&gt;3&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;pt-000008&quot;&gt;&lt;b&gt;&lt;span class=&quot;pt-000009&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;pt-Heading1Char&quot;&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;/span&gt;
          &lt;/h1&gt;

          &lt;h2 dir=&quot;ltr&quot; class=&quot;pt-000018&quot;&gt;
            &lt;span class=&quot;pt-000019&quot;&gt;3.1&lt;/span&gt;&lt;span class=&quot;pt-000020&quot;&gt;&lt;span class=&quot;pt-000021&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pt-Heading2Char&quot;&gt;&lt;b&gt;Purpose of Document&lt;/b&gt;&lt;/span&gt;
          &lt;/h2&gt;
    1. There are many more options that I have not yet tried:
            SimplifyMarkupSettings simplifyMarkupSettings = new SimplifyMarkupSettings
            {
                RemoveComments = true,
                RemoveContentControls = true,
                RemoveEndAndFootNotes = true,
                RemoveFieldCodes = false,
                RemoveLastRenderedPageBreak = true,
                RemovePermissions = true,
                RemoveProof = true,
                RemoveRsidInfo = true,
                RemoveSmartTags = true,
                RemoveSoftHyphens = true,
                RemoveGoBackBookmark = true,
                ReplaceTabsWithSpaces = false,
            };
            MarkupSimplifier.SimplifyMarkup(wordDoc, simplifyMarkupSettings);

            FormattingAssemblerSettings formattingAssemblerSettings = new FormattingAssemblerSettings
            {
                RemoveStyleNamesFromParagraphAndRunProperties = false,
                ClearStyles = false,
                RestrictToSupportedLanguages = htmlConverterSettings.RestrictToSupportedLanguages,
                RestrictToSupportedNumberingFormats = htmlConverterSettings.RestrictToSupportedNumberingFormats,
                CreateHtmlConverterAnnotationAttributes = true,
                OrderElementsPerStandard = false,
                ListItemRetrieverSettings = new ListItemRetrieverSettings()
                {
                    ListItemTextImplementations = htmlConverterSettings.ListItemImplementations,
                },
            };
    1. One would really wish there was a way to get such HTML cleaned up automatically (ouch!):
               &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;M&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;anaged requirements for system integration&amp;nbsp;&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;of Center&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;&amp;nbsp;&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;software&amp;nbsp;&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;with&amp;nbsp;&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;iLearning&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;&amp;nbsp;and with content production and management (BPD). To mitigate lack of integration of $50k LMS software investment into departmental workflow&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;&amp;nbsp;&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;developed&amp;nbsp;&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;and documented&amp;nbsp;&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;software to automate&lt;/span&gt;
                &lt;span class=&quot;pt-DefaultParagraphFont-000006&quot;&gt;&amp;nbsp;creation of 4K+ user accounts p.a., 30K+ learning documents and 100K+ interactive content paths in LMS.&lt;/span&gt;
    1. There are also much more serious conversion errors:
      1. MS-Word displays a plain text content control and a repeating section content control within a table, containing one Combobox and one plain text content control per row, perfectly: openxml-convert-docxtohtml-error-word
      2. Convert-DocxToHtml gobbles the content completely (and so does Google Docs Preview): openxml-convert-docxtohtml-error-html The underlying HTML has just a blank table under each heading:
            &lt;div class=&quot;pt-000001&quot;&gt;
                &lt;p dir=&quot;ltr&quot; class=&quot;pt-qiCVHeading1&quot;&gt;
                  &lt;span class=&quot;pt-DefaultParagraphFont-000002&quot;&gt;Profile&lt;/span&gt;
                &lt;/p&gt;
              &lt;/div&gt;
              &lt;div align=&quot;left&quot;&gt;
                &lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; dir=&quot;ltr&quot; class=&quot;pt-000003&quot; /&gt;
              &lt;/div&gt;
              &lt;div class=&quot;pt-000001&quot;&gt;
                &lt;p dir=&quot;ltr&quot; class=&quot;pt-qiCVHeading1&quot;&gt;
                  &lt;span class=&quot;pt-DefaultParagraphFont-000002&quot;&gt;Technologies&lt;/span&gt;
                &lt;/p&gt;
              &lt;/div&gt;
              &lt;div align=&quot;left&quot;&gt;
                &lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; dir=&quot;ltr&quot; class=&quot;pt-000003&quot; /&gt;
              &lt;/div&gt;
          
      3. MS-Word shows:imageYet need to look in to the underlying XML to see whether the .docx is to blame for that…
      4. But HtmlConverter output in IE or Firefox: imageThe underlying HTML reveals that the css does not get applied in the right place:
 	&lt;tr&gt;
                &lt;td class=&quot;pt-000079&quot;&gt;
                  &lt;p dir=&quot;ltr&quot; class=&quot;pt-BodyTextSmall&quot;&gt;
                    &lt;span class=&quot;pt-BodyTextSmallChar-000081&quot;&gt;AD&lt;/span&gt;
                  &lt;/p&gt;
                &lt;/td&gt;
                &lt;td colspan=&quot;2&quot; class=&quot;pt-000079&quot;&gt;
                  &lt;p dir=&quot;ltr&quot; class=&quot;pt-BodyTextSmall&quot;&gt;
                    &lt;span class=&quot;pt-BodyTextSmallChar-000081&quot;&gt;Active Driector, Microsfot&amp;rsquo;s directory implementation.&lt;/span&gt;
                  &lt;/p&gt;
                &lt;/td&gt;
              &lt;/tr&gt;

              &lt;tr&gt;
                &lt;td class=&quot;pt-000086&quot;&gt;
                  &lt;p dir=&quot;ltr&quot; class=&quot;pt-BodyTextSmall&quot;&gt;
                    &lt;span class=&quot;pt-000085&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/p&gt;
                &lt;/td&gt;
                &lt;td colspan=&quot;2&quot; class=&quot;pt-000086&quot;&gt;
                  &lt;p dir=&quot;ltr&quot; class=&quot;pt-BodyTextSmall&quot;&gt;
                    &lt;span class=&quot;pt-000085&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/p&gt;
                &lt;/td&gt;
              &lt;/tr&gt;
  1. One could imagine MS-Word acting less strictly than OpenXML PowerTools:Convert-DocxToHtml, like a web-browser’s parser tolerates and displays bad HTML. However, not only would need to be justified how MS-Word can also serve as the originating HTML WYSIWYG editor. The OpenXML PowerTools:Get-OpenXmlValidationErrors for both of the above documents does not seem to find any OpenXML errors that could explain the bad conversion (other than dozens of Sch_UndeclaredAttribute errors (Version-related? Not sure how this could be) , there is only a Pkg_PartIsNotAllowed relating to a glossary).
  • Also yet to do:
    1. When (not always!) does my page title end up as empty?
      &lt;title&gt;&lt;/title&gt;
    2. Defaults to doctype xhtml, not html(5).
  • Done:
      1. Pretty-printing. The HtmlConverter output defaults to all content (not css ) on 1 line (e.g. in the example from which above code is taken, 90000chars long). For human readability, and also possibly git tracking, pretty-printing would be better. Can be enforced like so (is there a better way? cannot see a user-configurable option for the SaveOptions enumeration):
    openXml\OxPt\OxPtCmdlets\OxPtHelper.cs:var htmlString = html.ToString(SaveOptions.None); // trp: requesting pretty-printing, was:html.ToString(SaveOptions.DisableFormatting);
    

How to get Square brackets (and hide comments) with ISO690 in Word 2013 bibliography styles

2014/09/14 2 comments
  1. Lots of people online seem to be looking for square brackets with citations in ISO690 style in Word 2013, but having no luck with getting the Bibliography XSL  for older Word versions to work. Trying to edit the old XSL still results in it not loading into the MS-Word Citation Style dropdown.
  2. What is needed is a way to parse the XSL and debug load errors. In the meantime… Smiley
  3. I had better luck with starting from the current Word2013 ISO style. If you stream Office365, this is now in %appdata%\Microsoft\Templates\LiveContent\15\Managed\Word Document Bibliography Styles
    1. Puzzlingly, there is also a %appdata%\Microsoft\Bibliography\Style which some of your edited files get copied to – go figure….
    2. The ISO690 file  I based my variation on is called : TC102851224[[fn=iso690nmerical]].xsl
    3. Copy this file to  %appdata%\Microsoft\Templates\LiveContent\15\User\Word Document Bibliography Styles\
    4. Open it with a text editor (I use NotePad++).
    5. Change “Openbracket” section like so: And the corresponding for closebracket
      <!– trp:   –>
      [
    6. Same principle change for the corresponding for “Closebracket
      1. Lst time I carelessly introduced printing space characters before my closing brackets – just copy the leading chars from a working XML line if you run into this problem.
  4. I also needed to not print “Comment”-field of the source in my bibliography”
    1. Search for:
    2. Comment out the “print”-action inside (easier than changing each bibliographgy type):<!– trp:   
      –>
  5. Change the style name. MS-Word 2013 uses “StyleNameLocalized” instead of “StyleName”, so I added a qualifier to each localized name within the test:

    ISO 690YOURNAMEHERE

  6. Restart MS-Word, and with luck, your styles will show in the ribbon References section style dropdown: image. Apply them (using F9):image
  7. Download: TC102851224[[fn=iso690nmericalsquare0comments]]

Enterprise Library Logging Sample

Using Enterprise Library (still on 5), You can declaratively configure the logger properties (including desired formatting, see Textformatter template below)) in the app.config’s appsettings:

  <loggingConfiguration name="Logging Application Block" tracingEnabled="true"
  defaultCategory="General" logWarningsWhenNoCategoriesMatch="true">   <listeners>    <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    source="Enterprise Library Logging" formatter="Text Formatter 2"
    log="" machineName="." traceOutputOptions="None" />    <add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="%AppData%\trpsoft\langlabemailer\trace-rolling.log"
    footer="" formatter="Text Formatter" header="" rollFileExistsBehavior="Increment"
    rollInterval="Day" rollSizeKB="1000" maxArchivedFiles="10" traceOutputOptions="None" />    <add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="%AppData%\trpsoft\langlabemailer\exception.log" header=""
    footer="" formatter="Text Formatter" traceOutputOptions="None" />    <add name="Rolling Flat File Trace Listener 2" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="%AppData%\trpsoft\langlabemailer\exception-rolling.log"
    footer="" formatter="Text Formatter" header="" rollFileExistsBehavior="Increment"
    rollInterval="Hour" rollSizeKB="100" maxArchivedFiles="10" filter="All" />   </listeners>   <formatters>    <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    template="Timestamp	 {timestamp}	Message	 {message}	Category	 {category}	Priority	 {priority}	EventId	 {eventid}	Severity	 {severity}	Title	{title}	Machine	 {localMachine}	App Domain	 {localAppDomain}	ProcessId	 {localProcessId}	Process Name	 {localProcessName}	Thread Name	 {threadName}	Win32 ThreadId	{win32ThreadId}	Extended Properties	 {dictionary({key} - {value})}"
    name="Text Formatter" />    <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    template="Timestamp: {timestamp}{newline}
Message: {message}{newline}
Category: {category}{newline}
Priority: {priority}{newline}
EventId: {eventid}{newline}
Severity: {severity}{newline}
Title:{title}{newline}
Machine: {localMachine}{newline}
App Domain: {localAppDomain}{newline}
ProcessId: {localProcessId}{newline}
Process Name: {localProcessName}{newline}
Thread Name: {threadName}{newline}
Win32 ThreadId:{win32ThreadId}{newline}
Extended Properties: {dictionary({key} - {value}{newline}
)}"
    name="Text Formatter 2" />   </formatters> 
   <categorySources>    <add switchValue="All" name="General">     <listeners>      <add name="Rolling Flat File Trace Listener" />     </listeners>    </add>    <add switchValue="All" name="Exceptions">     <listeners>      <add name="Event Log Listener" />      <add name="Rolling Flat File Trace Listener 2" />     </listeners>    </add>   </categorySources>   <specialSources>    <allEvents switchValue="All" name="All Events" />    <notProcessed switchValue="All" name="Unprocessed Category" />    <errors switchValue="All" name="Logging Errors &amp; Warnings">     <listeners>      <add name="Event Log Listener" />     </listeners>    </errors>   </specialSources>  </loggingConfiguration>  <exceptionHandling>   <exceptionPolicies>    <add name="Log and Rethrow">     <exceptionTypes>      <add name="All Exceptions" type="System.Exception, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      postHandlingAction="NotifyRethrow">       <exceptionHandlers>        <add name="Logging Exception Handler" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        logCategory="Exceptions" eventId="100" severity="Error" title="Enterprise Library Exception Handling"
        formatterType="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling"
        priority="0" />       </exceptionHandlers>      </add>     </exceptionTypes>    </add>   </exceptionPolicies>  </exceptionHandling>  <appSettings> 

Import and call the logger like so:

using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging;  

using Microsoft.Practices.EnterpriseLibrary.Logging;  

Logger.Write("regex:RegExRecordingFileGroup - target:" + "\t" + _filenamenoext + "\t" + strGroups); 

Which outputs: image and

image,

the  latter can be easily imported and analyzed in MS-Excel:

image

These are obviously only the simplest examples, study the Enterprise Library documentation for more customization

My DkPro settings.xml

<?xml version="1.0" encoding="utf-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0                        http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <profiles>
    <profile>
      <id>ukp-oss-releases</id>
      <repositories>
        <repository>
          <id>ukp-oss-releases</id>
          <url>http://zoidberg.ukp.informatik.tu-darmstadt.de/artifactory/public-releases</url>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
            <checksumPolicy>warn</checksumPolicy>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>ukp-oss-releases</id>
          <url>http://zoidberg.ukp.informatik.tu-darmstadt.de/artifactory/public-releases</url>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
            <checksumPolicy>warn</checksumPolicy>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    <profile>
      <id>ukp-oss-snapshots</id>
      <repositories>
        <repository>
          <id>ukp-oss-snapshots</id>
          <url>http://zoidberg.ukp.informatik.tu-darmstadt.de/artifactory/public-snapshots</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>ukp-oss-releases</activeProfile>
    <!-- voriges profile darf nicht auskommentiert werden -->
    <!-- Uncomment the following entry if you need SNAPSHOT versions. -->
    <activeProfile>ukp-oss-snapshots</activeProfile>
  </activeProfiles>
</settings>