<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670">
    <title>Main</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670</link>
    <description />
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Launching+XDE+for+the+first+time" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Share+packages+using+the+XDE+package+repository" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;XDE+SDK+Wiki" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;How+To+Articles" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Using+the+XDE+Update+Site" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;How+to+create+your+first+XDE+procedure" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Frequently+Asked+Questions" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;How+to+use+XFTs+to+test+functions" />
        <rdf:li rdf:resource="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Wiki+Home" />
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Launching+XDE+for+the+first+time">
    <title>Launching XDE for the first time 10.2</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Launching+XDE+for+the+first+time</link>
    <description>If your new to Eclipse and XDE, you may not be sure how you start the tool.  This tutorial gives a quick overview of how to launch XDE.  Note that eclipse can be configured to use various startup options.  This guide will start XDE with the default configuration.  To read more details about running eclipse, see the [[http://wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F | eclipse documentation]].  This tutorial also assumes you have an installtion of the Java Runtime Environment(JRE) on your machine.

=== Windows ===
As a new eclipse user on Windows, you will start with a zip file containing the SDK.  E.g. XDE SDK 1.0.284.zip  To run XDE, we must first unzip this using a tool such as WinZip.  The expanded directory structure should be similar to shown below.  For running eclipse, we are interested in the eclipse.exe file.  Simply, double click this to start.  You will see the eclipse splash screen and be prompted for a workspace location.  Select the default for now.  Eclipse will load and you can start using XDE.

{{http://developer.cisco.com/image/image_gallery?uuid=ba558f34-a406-4ea0-9934-ea312cf5b8c4&amp;groupId=2225549&amp;t=1284136925053 | XDE Eclipse Directory}}

=== Linux ===
As a new eclipse user on Linux, you will start with an archive containing the SDK.  E.g. XDE SDK 1.0.284.tar.gz  To run XDE, we must first extract this using your prefered archive tool.  For instance, using tar do: **tar xvfz XDE SDK 1.0.284.tar.gz**.  On Linux we are interested in the binary file named eclipse.  We run this file, specifying the location of our (JRE) using th -vm flag/  For instance:  **./eclipse -vm /opt/java/jdk1.6.0_21/bin**.

As with on Windows, you will see the eclipse splash screen and be prompted for a workspace location.  Select the default to start using XDE.

=== The Workspace ===
During startup you were prompted to select a workspace location.  The workspace is the place where any projects will be created when using XDE.  This should be seperate from your XDE install, allowing you to upgrade XDE or install a complete new version without affecting your XDE code.</description>
    <dc:creator>Marjie Ennis Floyd</dc:creator>
    <dc:date>2012-09-25T07:52:55Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Share+packages+using+the+XDE+package+repository">
    <title>Share packages using the XDE package repository 10.9</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Share+packages+using+the+XDE+package+repository</link>
    <description>The XDE Package Repository is the central location where developers can share XDE source code.  This could be workflow procedures, device interaction packages, analysis flow diagrams or any XDE file.  The repository is a location where developers can search for existing functionality to be re-used in a new project.  Equally, developers can upload new content or contribute to existing projects.  This tutorial will show you how to start sharing content.

=== Accessing the package repository ===
The repository is hosted on the CDN project center and  can be accessed via the resources tab or by clicking [[http://gforge-developer.cisco.com/gf/project/project_nihfzt2/frs/ | here]].  All XDE CDN users are given access to the repository.  This can take up to 24 hours from CDN registration, however a confirmation email will be sent to you when your access has been granted.  If you do not receive an email or continue to have have difficulty gaining access, please [[http://developer.cisco.com/web/xde/contact-us | contact us]].

Once logged into the CDN project centre, you will land on the XDE package repository page, as shown below.  You can also navigate to this page via Projects &gt; XDE &gt; Files.
{{http://developer.cisco.com/image/image_gallery?uuid=3d9f8597-709d-4b57-8aad-c6af9f342ac6&amp;groupId=2225549&amp;t=1283939712556 | Package Repository Files Page}}

=== Downloading Content ===
The package repository lists all the XDE content which is available for download.  Looking at the files listed, you can see the package name in the leftmost column.  The Maturity column gives an indication of the stability of a package.  For instance, prototypes will be typically marked as Beta but more mature packages will be marked as Production/Stable or Mature.


Clicking the package name will l show a list of all the releases associated with a package.  For further details on the contents of a release, click the release name that you are interested in.  To download a file, simply click on the filename from the release you require.

{{http://developer.cisco.com/image/image_gallery?uuid=8bac1575-6522-46d1-aef3-62af5ca87afe&amp;groupId=2225549&amp;t=1283941575408  | Package Releases}}


If you are unsure of the content you require, you can search the repository for content matching key words.  From the menu on the left, select Search.  Enter the keywords to search for, select to search "This Projects Releases" and optionally enter a date range to search between.

{{http://developer.cisco.com/image/image_gallery?uuid=95821095-b5d7-4c49-930d-4d10337c4298&amp;groupId=2225549&amp;t=1283941901945 | Package Search}}



=== Uploading Content ===
Uploading content comes in two forms; uploading a new package and uploading a new release.  If your are adding new content that has no previous version in the repository, you must first create a package.  From the files page, click the "Manage Packages" button.  This will display all existing packages and provide options to edit these.  To add a new package, click the "Add new Frs Package" button.  You are now presented with a form for creating the package.  Enter the name of the package to be created.  Ensure the "Visible" option is selected to ensure all users can see the new package.  If you wish only users of the XDE project to be able to see the package, leave the "Public" option unchecked.  Check this option to allow all users to have access.  Finally select "Require Login" if you wish that only users who are currently logged into GForge can view the File.  Click "Add" to create the package.

{{http://developer.cisco.com/image/image_gallery?uuid=aad61605-bbc2-46e8-a225-22f7b29c8180&amp;groupId=2225549&amp;t=1283942976722 | Adding a new Package}}

Once a package exists, we can add a new release.  From the package list, select "Edit Releases".  On the releases page, select "Add Release".  We can now enter all the details for the release and upload the file(s) to be included.  Note for a file to be visible to other users, it must be marked as "Released".  If you wish to have the file published at some later date, ensure that the released option is checked and specify a specific release date.  You can add up to 5 files to a single release.  In general, XDE and PAL packages should be exported as XAR or XPA files and uploaded in this form.  You can help other developers by specifying an accurate development status for the content, ranging from being in the planning stage through to being a mature package.
{{http://developer.cisco.com/image/image_gallery?uuid=2fff3384-54ef-4840-8a6a-d439d14a50cb&amp;groupId=2225549&amp;t=1283944311986}}</description>
    <dc:creator>Marjie Ennis Floyd</dc:creator>
    <dc:date>2012-09-25T07:49:44Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;XDE+SDK+Wiki">
    <title>XDE SDK Wiki 10.3</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;XDE+SDK+Wiki</link>
    <description />
    <dc:creator>Marjie Ennis Floyd</dc:creator>
    <dc:date>2012-09-25T07:49:01Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;How+To+Articles">
    <title>How To Articles 11.1</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;How+To+Articles</link>
    <description>=== How To Articles ===</description>
    <dc:creator>Marjie Ennis Floyd</dc:creator>
    <dc:date>2012-09-25T07:48:14Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Using+the+XDE+Update+Site">
    <title>Using the XDE Update Site 13.6</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Using+the+XDE+Update+Site</link>
    <description>TODO</description>
    <dc:creator>Marjie Ennis Floyd</dc:creator>
    <dc:date>2012-09-25T03:51:00Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;How+to+create+your+first+XDE+procedure">
    <title>How to create your first XDE procedure 4.4</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;How+to+create+your+first+XDE+procedure</link>
    <description>This tutorial will describe how to create your first XDE procedure.  This will introduce concepts such as the XDE perspective, creating a new project and procedure, editing procedures and running the procedure using the built in XDE engine.

=== Hello World ===
In this tutorial we will create the "Hello World" XDE package.  This package will simply return the string "Hello World" when run.

=== Change to the XDE Perspective ===

The XDE perspective is the arrangement of windows and views that best suits the XDE developer.

If you're not already in the XDE development perspective then select Window &gt; Open Perspective &gt; Other... and then select XDE Development from the popup dialog.  Note how the palette window is added to our view. 

=== Create a new XDE project ===

Before creating a new procedure, we need an XDE project to put it in. In the main menu select File &gt; New &gt; Project... and then select XDE Development &gt; XDE Project from the popup dialog. Enter Hello World for the project name, then click Finish. This project will contain all the functionality of our XDE package. 

=== Create a new procedure ===

We now add our workflow logic by creating a procedure file.  In the main menu, select File &gt; New &gt; XDE Procedure. Change the filename from the default to HelloWorld.xde and then click Finish.  The default procedure, including only a start and return step will be shown.  Note also that the palette is now populated with the various step types and tools which can be used to define workflow logic.

=== Modify the procedure ===

We can now add our functionality.  The newly created procedure does nothing useful so we need to return something. Select the Return step and then click on the empty expression field to edit the return value. In the popup editor type "Hello world!" and then type Ctrl-Enter. Save the workflow by selecting Save from the File Menu.

=== Run the procedure ===

The SDK has an built in XDE engine, allowing us to run and test our procedures as we will build them.  To do this, from the main menu select Run &gt; Open Run Dialog.... Double click on XDE Procedure to create a new run configuration. Type Hello World into the name field of the run configuration. Click Browse and then select HelloWorld.xde as the procedure to run from this configuration. Click Apply and then click Run to run the procedure. 

On completion of the procedure, you will be shown a result document describing the execution of the workflow.  Not the exit value at the top of this dialog, this should match our procedure return value - Hello World!.

=== Debug the procedure===

Note that you can stop a procedure at any point by adding a breakpoint to a step.  This allows you to examine the state of any variable at that point in the execution.  To do this, select the step you wish to stop on and from the Run menu select Toggle Breakpoint.

To debug your procedure, from the main menu select Run &gt; Open Debug Dialog.... Select the Hello World run configuration and then click Debug to run the procedure in the debugger.  

=== Generate an XDE Package ===

To export your new project as an XDE package, right click on the Hello World project and select Export as XAR file. Choose a filesystem destination for the XAR file and then click Finish.  This package can now be shared with our developers or distributed and ran in other XDE engines.</description>
    <dc:creator>Marjie Ennis Floyd</dc:creator>
    <dc:date>2012-09-25T03:41:56Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Frequently+Asked+Questions">
    <title>Frequently Asked Questions 2.5 (minor-edit)</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Frequently+Asked+Questions</link>
    <description>&lt;&lt;TableOfContents title='Frequently asked questions'&gt;&gt;


The FAQ lists the most common questions facing XDE users.  If you have a question which isn't answered here or within the [[http://developer.cisco.com/web/xde/resources |  XDE resources]], post your question on the [[http://developer.cisco.com/web/xde/forums | forum]].

== Installation==
===How do I install XDE on platform X?===
The XDE SDK has been tested on Windows and is available for both Windows and Linux.  However the plug-in should also work on other platforms.  See the [[http://developer.cisco.com/web/xde/install-page|install page]] for details on how to install or request a version of XDE for another platform.
== About XDE==
=== Is XDE only for writing diagnostic procedures? ===
No, XDE can be used in any field where there is a need to automate and orchestrate device interaction procedures.  XDE has been used in the diagnostic field, for instance in products such as Cisco's IP Solution Centre.
=== Can XDE only talk to IOS devices? ===
No, XDE can potentially talk to any device or information source.  Out of the box, XDE can talk to a range of sources using protocols such as telnet, SSHv2, JDBC and SNMP.
=== What is PAL, how does it fit in with XDE? ===
PAL stands for the Protocol Abstraction Layer.  PAL is component used by XDE to provide an abstract view of the data source layer.  This means that XDE procedures are shielded from device version and type differences when retrieving data.  PAL provides many tools for creating normalised XML representations of device output. 

== Using the SDK==
=== Where can I find the user guide for the SDK? ===
The SDK user guide is available from the eclipse help system.  Within eclipse open the Help menu and select Help Contents.  The user guide and other XDE documentation is provided.
=== How do I configure a device inventory? ===
XDE can be configured to use different types of inventory provider.  Within the SDK, the simplest inventory implementation is a properties file.  To define the location of this file, open the XDE preferences via the Window menu and Preferences option.  The inventory type by default is a property file and the location can be defined using the property "InventoryFileLocation".  See the [[http://developer.cisco.com/web/xde/videos#vid4|inventory video]] for more details on this.

=== Can I debug my procedure? ===
Yes, XDE is a complete development environment and includes many of the features you would expect when working with other eclipse based tools.  To debug a procedure, select the step you wish to stop on and choose "Toggle Breakpoint" from the Run menu.  You can then debug the procedure by creating a Debug Configuration from the Run menu.
=== I'd like to upload my package to the XDE package repository, how do I create an XDE  package from my project? ===
Right click on the project within the file navigator and choose "Export as XAR" or "Export as XPA".  Complete the wizard to select a project and export it a location of your choice.

{{arch.png}}</description>
    <dc:creator>Stephen Leahy</dc:creator>
    <dc:date>2010-09-15T15:03:56Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;How+to+use+XFTs+to+test+functions">
    <title>How to use XFTs to test functions 1.2</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;How+to+use+XFTs+to+test+functions</link>
    <description>XFTs, "xDE Function Tests", are the unit test files for testing simple, string-in, string-out XDE functions, including PAL actions.  This example show how to test a new PAL action using XFTs.

An XFT should be created for every new PAL action.  This way you can test how the action behaves in a range of situations. You can then rerun these tests when you've updated your actions, in order to verify that they are still correct.

Fortunately creating, editing and running XFTs is very easy. 

The xDE builder provides the following functionality to help you use XFTs:

    * A wizard to create an XFT.
    * An XFT editor.
    * An XFT runner shortcut.

== Creating an XFT ==

To create an XFT based on a PAL action:

    * Right-click on the action's PAR file in the Package Explorer.
    * Select New -&gt; xDE Function Test. This will start a wizard which will create an XFT file based on your PAL action. On the first page the wizard will suggest a location and filename for the new XFT file.
    * In the second page of the wizard, you may populate more details of the XFT:
          ** The import / name fields specify the function under test.
          ** The "Test params" field allows you to enter a comma-separated list of strings for the arguments to be supplied to the function when the XFT is run.
          ** The "Include CLI Response" section allows you to specify a file containing a CLI response which will form the CLI response for the transport handler of your PAL action's handler chain. You can also set the device version details in order to control which PAR rule is selected.
          ** The "Run function now..." checkbox will, if ticked, cause the wizard to run the PAL action immediately in order to populate the expected result section of the XFT file.

    * When you complete the wizard, the editor will open. You can also open the editor at any point by double-clicking on the XFT file in the Package Explorer.

== Running an XFT ==

There are various ways to run XFTs.

   1. You can run an XFT from the editor by clicking on the "Run" button at the bottom of the editor.
   2. You can select one or more XFT files in the Package Explorer and then right-click and select Run As... -&gt; xDE Function Test(s)
   3. You can select one or more folders in the Package Explorer and then right-click and select Run As... -&gt; xDE Function Test(s). This will run any XFTs found in the folder or any recursive subfolder.

If the tests pass, you will just get a short message indicating this. If a test fails, the builder will display a dialog highlighting the differences between the actual and expected results for the first failed test. The failed XFT test will be opened in the XFT editor.</description>
    <dc:creator>Stephen Leahy</dc:creator>
    <dc:date>2010-09-10T18:28:35Z</dc:date>
  </item>
  <item rdf:about="http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Wiki+Home">
    <title>Wiki Home 1.0</title>
    <link>http://developer.cisco.com/web/xde/wiki?p_p_auth=sZFuobt7&amp;p_p_id=36&amp;p_p_lifecycle=0&amp;p_r_p_185834411_nodeId=2225670&amp;p_r_p_185834411_title=&amp;Wiki+Home</link>
    <description>[[XDE SDK Wiki]]</description>
    <dc:creator>Matt Denapoli</dc:creator>
    <dc:date>2010-06-03T01:18:29Z</dc:date>
  </item>
</rdf:RDF>

