<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"[
<!ENTITY imgroot "images/tools/ruta/workbench/" >
<!ENTITY % uimaents SYSTEM "../../target/docbook-shared/entities.ent" >  
%uimaents;
]>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
  
<chapter id="ugr.tools.ruta.workbench">
  <title>Apache UIMA Ruta Workbench</title>
  <para>
  The Apache UIMA Ruta Workbench, which is made available as an Eclipse-plugin, offers a powerful environment for creating and working on UIMA Ruta projects. It provides two main
  perspectives and several views to develop, run, debug, test and evaluate UIMA Ruta
  rules in a comfortable way, supporting many of the known Eclipse features, e.g., auto-completion.
  Moreover, it makes the creation of dictionaries like tree word lists easy and supports machine
  learning methods, which can be used within a knowledge engineering process. The following chapter
  starts with the installation of the workbench, followed by a description of all its features.
  </para>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.install.xml" />

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.overview.xml" />

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.projects.xml" />

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.ruta_perspective.xml" />
  
  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.explain_perspective.xml" />
  
  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.cde.xml" />
  
  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.query.xml" />
  
  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.testing.xml" />
  
  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.textruler.xml" />

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.check.xml" />
  
  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.ruta.workbench.create_dictionaries.xml" />
  
  <section id="ugr.tools.ruta.workbench.apply">
    <title>Apply a UIMA Ruta script to a folder</title>
    <para>
      The UIMA Ruta Workbench makes it possible to apply a UIMA Ruta script to any folder of the workspace. 
      Select a folder in the script explorer, right-click to open the context menu and select the menu entry UIMA Ruta.
      There are three options to apply a UIMA Ruta script to the files of the selected folder, 
      cf. <xref linkend='figure.ugr.tools.ruta.workbench.apply' />.
    </para>
    <para>
      <orderedlist numeration="arabic">
        <listitem>
        <para>
          <emphasis role="bold">Quick Ruta</emphasis> applies the UIMA Ruta script that is currently opened and focused
          in the UIMA Ruta editor to all suitable files in the selected folder. Files of the type <quote>xmi</quote> will be adapted 
          and a new xmi-file will be created for other files like txt-files.
        </para>
        </listitem>
        <listitem>
        <para>
          <emphasis role="bold">Quick Ruta (remove basics)</emphasis> is very similar to the previous menu entry,
           but removes the annotations of the type <quote>RutaBasic</quote> after processing a CAS.
        </para>
        </listitem>
        <listitem>
        <para>
          <emphasis role="bold">Quick Ruta (no xmi)</emphasis> applies the UIMA Ruta script, but does not change
           nor create an xmi-file. This menu entry can, for example, be used in combination with an imported XMIWriter Analysis Engine, which 
           stores the result of the script in a different folder depending on the execution of the rules.
        </para>
        </listitem>
      </orderedlist>
    </para>
    <para>
    <figure id="figure.ugr.tools.ruta.workbench.apply">
      <title>Remove Ruta basics
      </title>
      <mediaobject>
        <imageobject role="html">
          <imagedata width="250px" format="PNG" align="center"
            fileref="&imgroot;apply/apply.png" />
        </imageobject>
        <imageobject role="fo">
          <imagedata width="3.5in" format="PNG" align="center"
            fileref="&imgroot;apply/apply.png" />
        </imageobject>
        <textobject>
          <phrase>
            Apply a UIMA Ruta script directly on a folder.
          </phrase>
        </textobject>
      </mediaobject>
    </figure>
    </para>
    
  </section>
 
</chapter>