The KPI Dashboard – Evolved
1-877-233-6149
Contact Us

Klip Developer Guide

Table of Contents

Appendix C. Klip XML Parameters

C.1. Klip XML Parameters

This appendix lists all the valid XML parameters in a Klip.

Many of these tags are optional. However, all the tags under <owner>, <identity>, and <locations> give your Klip identifying information and should be included, especially if you intend to upload it to http://downloads.klipfolio.com.

If you are using the File:// or TCP/IP libraries, you must include <scriptmode>extended</scriptmode> inside the <setup> block.

Note that the parameters marked as "Advanced feature" are for licensed versions of Klipfolio Dashboard only. You can use them in Klipfolio Personal Dashboard by specifying <enterprise>true</enterprise> in the Klip's <setup> block; however, note that you will see a reminder to upgrade to a license version of Klipfolio Dashboard once a day.

Here is an alphabetical list of the parameters, followed by descriptions and examples:

assets / author / autodrilldown / autoremove / banner / cache / chart New / codepage / columns / connectionstring / content / contentsource / copyright / country / defaultlink / description / email / enterprise / excel New / file New / find New / help / icon / iconvisible / identity / keywords / kliplocation / klipscript / language / lastmodified / locations / messages / odbc / owner / purge / query / range New / referer / refresh / report / requires / scriptmode / setup / sheet New / sort Upd / statusvisible / style / title / uniqueid / version (for identity) / version (for requires) / web / wrap Upd

<!--  

The Klip file format is for use with Klipfolio Dashboard. 
Please note that information you enter here will be available to
the public.

- - - - - - - - - - - - - - - - - - - - - - - - - -
To reduce the size of the file you distribute to your users, 
remove any tags and comments you do not use.
- - - - - - - - - - - - - - - - - - - - - - - - - -

-->

<klip>
   <owner>
      <author>
         <!--
         Your contact or company name
         -->
         Klipfolio Inc.
      </author>

      <copyright>
         <!--
         Your copyright notice
         -->
         Copyright 2001-2010 Klipfolio Inc.
      </copyright>

      <email>
         <!--
         Your contact or company email address.
         -->
         support@klipfolio.com
      </email>

      <web>
         <!--
         Your contact or company web address.
         -->
         http://www.klipfolio.com
      </web>
   </owner>
   
   <identity>
       <description>
         <!--
         A short description of this Klip
         -->
         This is a scripted sample Klip provided by Klipfolio Inc.
      </description>
     
      <keywords>
         <!--
         A space-delimited list of keywords for matching your 
         klip during a search at http://downloads.klipfolio.com. The 
         order of the keywords is relevant, and no more than 
         15 keywords will be processed.
         -->
         sample Klip template XML  
      </keywords>
      
      <lastmodified>
         <!--
         The date this Klip was last modified yyyy.mm.dd:hhmm.
         -->
         2010.01.14
      </lastmodified>
      
      <title>
         <!--
         The title of this Klip to display in Klipfolio Dashboard.
         -->
         Template Klip
      </title>
      
      <uniqueid>
         <!--
         An identifier that is unique to this Klip goes here.
         We suggest you choose some text that is unlikely to be
         used by any other Klip author.
         -->
         template_klip_123456
      </uniqueid>
      
      <version>
         <!--
         A version number to help you keep track of your Klip as it
         changes.  This version is also used when Klipfolio Dashboard 
         checks for updates to the Klip.
         -->
         1.0
      </version>
   </identity>
   
   <locations>
      <banner>
         <!--
         A URL pointing to this Klip's 234x60 gif or jpeg banner. 
         -->
         http://www.klipfolio.com/static/klips/klipfolio/sample_banner.png
      </banner>
      
      <contentsource>
         <!--
         A URL pointing to the data source for this Klip
         -->
         http://rss.cbc.ca/lineup/topstories.xml
      
            <excel>
               <!-- 
               ** Advanced feature **
               
               New since version 5.2.
               
               Specify information about the Excel worksheet in this block.
               
               There are special requirements for the <style> block when using an
               Excel worksheet as content source.
               For examples and tips on how to use an Excel worksheet as
               a data source, refer to:
               http://developer.klipfolio.com/developer/cookbook_item/item-43
               -->         
                      
               <file>
                  <!-- 
                  ** Advanced feature **
                  
                  New since version 5.2.
                  
                  Specify the path to the Excel file and its name.
                    -->
                  \\NetworkPlace\accounting\budget.xls
               </file>
                       
               <sheet>
                  <!-- 
                  ** Advanced feature **
                  
                  New since version 5.2.
                  
                  Optional. Specify the Excel worksheet name. 
                  -->
                  Summary09
               </sheet>
           
               <range>
                  <!-- 
                  ** Advanced feature **
                  
                  New since version 5.2.
                  
                  Optional. Specify the data range that includes the header row
                  in the worksheet. 
                  -->                  
                  E13:J48
               </range>
            </excel>     
      
            <odbc>
               <!-- 
               ** Advanced feature **
               
               Specify the connection string and query in this block.
               
               For more information about writing an ODBC Klip, see:
               http://developer.klipfolio.com/developer/cookbook_item/item-39
               To find out how to extract data from complex XML, see:
               http://developer.klipfolio.com/developer/cookbook_item/item-46
               -->
                     
               <connectionstring>
                  <!-- 
                  ** Advanced feature **
                  
                  Specify the ODBC connection string. 
                  -->
                  Provider=sqloledb;Data Source=myServerAddress;Initial 
                  Catalog=myDataBase;User Id=myUsername;Password=myPassword
               </connectionstring>
          
               <query>
                  <!-- 
                  ** Advanced feature **
                  
                  Specify the ODBC query string.
                  -->                  
                  SELECT * FROM Production.WorkOrder WHERE ProductID < 400
               </query>
            </odbc>            
      </contentsource>
      
      <defaultlink>
         <!--
         A URL pointing to a page relevant to this Klip
         when a user clicks on your Klip (except on an item).
         -->
         http://www.klipfolio.com/
      </defaultlink>

      <help>
         <!--
         A URL pointing to online help specific to this Klip
         -->
      </help>

      <icon>
         <!--
         A URL pointing to this Klip's default 16x16 GIF, PNG or 
         JPEG icon.
         -->
         http://www.klipfolio.com/static/klips/klipfolio/sample_icon.png
      </icon>
      
      <kliplocation>
         <!--
         A URL where new versions of this Klip can be found.
         Klipfolio Dashboard periodically checks for updates
         to your Klip at this URL.
         -->
         http://www.yourserver/klips/klipname.klip
      </kliplocation>   
   </locations>

   <requires>
      <version>
         <!--
         Displays a 'requires 5.3' icon when uploaded to
         http://downloads.klipfolio.com
         -->
         5.3
      </version>
   </requires>

   <setup>
      <autodrilldown>
        <!-- 
          ** Advanced feature **
          
          Used in conjunction with drilldown property
          in the <style> block.
          
          Set to 'true' to display each level of drilldown with 
          that level's enum items grouped together. Provides better 
          usability.
          
          Set to 'false' to display each item individually, with 
          an option in the column header menu to roll up 
          the enum items into groups.
          
          Set to 'deep' to skip the drilldown levels that have only
          one item at initial load and go directly to the level
          that has multiple items, or the last level, whichever
          comes first.
          
          For examples and tips, see how-to articles on drilldown at:
          http://developer.klipfolio.com/developer/cookbook          
        -->
        true
      </autodrilldown>
      
      <autoremove>
        <!-- 
          Set to 'true' or 'false' to specify the Items.autoremove
          setting. 
          'true' will automatically remove items in a Klip 
          according to the user's global Item Management 
          settings.
          'false' will disable the automatic removal of items 
          regardless of the user's global Item Management 
          settings.
          
          For more information and examples, see:
          http://developer.klipfolio.com/developer/cookbook_item/item-45
        -->
        true
      </autoremove>
      
      <cache>
        <!--
        Set it to a positive integer (in seconds) to specify 
        how often Klipfolio Dashboard should cache the content. 
        
        Setting this value in the Klip will override the default 
        caching frequency set by the content server.
        -->      
      </cache>
      
      <chart>
        <!--
         ** Advanced feature **
         
        New since version 5.3. 
        
        Specify the type, categorylabels,
        series and legend (optional) to display the values in 
        the specified column as a pie chart.
        
        For examples, see:
        http://developer.klipfolio.com/developer/cookbook_item/item-47
        -->
          <type>
            <!--
            Set to 'pie' for a pie chart.
            -->
            pie
          </type>
          <categorylabels>
            <--
            Specify the column to use as labels in the legend's left column. 
            In a drilldown Klip, the column that is type: enum; drilldown: 1; 
            should be used.
            -->
            my_category
          </categorylabels>
          <series>
            <!--
            Specify the column to use as the numerical data that is displayed
            as slices in the pie.
            -->
            my_numbers
          </series>
          <legend>
            <!--
            Optional. Default is true.
            Set to false to prevent the legend from being displayed.
            -->
            true
          </legend>  
      </chart>
      
      <codepage>
        <!--
        Specify the code page to be used for encoding text 
        for this Klip.
        -->
      </codepage>
      
      <columns>
        <!--
        Set to 'true' if you want column headers to be displayed 
        by default.
        
        Add truncate="false" in the opening tag to display the
        full column header labels without truncating.
        -->
      </columns>
      
      <country>
         <!--
         The two character ISO country code which identifies where
         your Klip comes from.  See the dev guide for a list of 
         codes.
         -->
         ca
      </country>
      
      <enterprise>
         <!--
         For Klipfolio Personal Dashboard.
         Set to 'true' in order to try some of the advanced features
         that are only available for the licensed version of the application. 
         In this document, these features are marked with an "A" icon.
         -->
         true
      </enterprise>

      <find>
         <!--
         New since version 5.3. 
         
         Set to 'true' to display the Find field by default.     
         Default is 'false', i.e. the Find field is not opened by 
         default.
         In either case, the Find field can be opened and closed
         using the Klip's context menu.
         -->
         true
      </find>
      
      <iconvisible>
         <!--
         Set to 'true' (default) to display the Klip icon.
         Set to 'false' to turn off the Klip icon.
         -->
         true
      </iconvisible>

      <language>
         <!--
         The two character ISO language code which identifies what
         language your Klip uses.  See Appendix D for a list 
         of codes.
         -->
         en
      </language>      
      
      <purge>
         <!--
         Set to 'true', 'false', or 'permanent' to specify the 
         purge setting for all items.

         Set to 'true' to delete the item from the Klip when
         it is no longer available in the data source. Note that it
         is stored in the Items.Deleted array, i.e. Klip remembers
         that it has been deleted. If the same item reappears in the
         source, it will not be displayed in the Klip again.
         Set it to 'false' (default) to turn purging off. Items that are 
         no longer in the source remain in the Klip until the user
         deletes them.
         
         Set to 'permanent' to delete the item from the Klip
         when it is no longer available in the data source. Unlike 
         'true', it is not stored in the Items.Deleted array. If the 
         deleted item reappears in the data source, it is added 
         to the Klip as a new item.
         
         Use autoremove and purge together to make a 
         dashboard Klip.
         
         For more information, see:
         http://developer.klipfolio.com/developer/cookbook_item/item-45
         -->
         permanent
      </purge>
      
      <referer>
         <!--
         If required, specify text here to help you track your 
         Klip's usage. This text is sent as an HTTP referer 
         (see RFC 1945 for details).
         -->
      </referer>

      <refresh>
         <!--
         Set to a positive integer (in minutes), 'never', or
         'manual' to specify how often this Klip should 
         check the <contentsource> URL for updates.
         
         Use 'never' to have this Klip never automatically 
         refresh and to remove the Klip menu items that 
         allow a user to refresh the Klip. 
         
         Use 'manual' to have this Klip never automatically 
         refresh, but the user can still manually refresh the 
         Klip through the menu.
         -->
         120
      </refresh>
      
      <report>
         <!--
         Set to true to send usage statistics to klipfolio.com.
         -->
         true      
      </report>
      
      <scriptmode>
         <!--
         Set to ‘extended’ to use File:// and TCP/IP libraries.
         -->
      </scriptmode>

      <sort>
         <!--
         Set a default sort order for the specified column.
         
         Use 'reverse=true' in the opening <sort> tag to sort
         the specified column in the opposite order.
         
         New since version 5.1.
         
         Use 'sequence' (without quotes) instead of a column
         name to sort the items in creation order (newest at bottom).
         
         For example:
            <setup>
               <sort reverse=true>
                  oranges
               </sort>
            </setup>
            <style>
               item {
   	       type: item;
               }
               oranges {
                  itemcol: 1;
               }
               apples {
   	       itemcol: 2;
               }
            </style>        
         -->
      </sort>

      <statusvisible>
         <!--
         Set to 'true' (default) to display the number of unread 
         items in the status area.
         
         Set to 'false' to turn off the status area.
         -->
      </statusvisible>
      <wrap>
         <!--
         Sets text wrapping for the entire Klip.
        
         Set to 'true' (default) to allow wrapping of items. 
            Display Settings > Make Items Single-Line is not selected.
        
         Set to 'false' to prevent items from wrapping. 
            Display Settings > Make Items Single-Line is selected.
         
         In both cases, users can turn wrapping on or off through
         the Klip's Display Settings option.
         
         Note that the CSS property "wrap" sets the wrapping of each column
         and has a higher priority than this parameter.
         
         New since version 5.1.
         
         Add lines="false" in the opening tag to hide lines between items.
         -->
      </wrap>
</setup>

   <content>
      <!--
         Store multiple style sheets. Its content can be accessible
         through Prefs.getContent("content_tag_name");

         For example:
            <content>
               <style1>
                  ...
               </style1>
               <style2>
                  ...
               </style2>
            </content>
            ...
            <klipscript>
               ...
               Engines.Data.stylesheet = Prefs.getContent("style1");
               ...
            </klipscript>  
      -->
   </content>

   <messages>
      <loading>
         <!-- 
         Loading message displayed when Klip first starts up
         -->
         Loading Klip data ...
      </loading>
      <nodata>
       <!-- 
       Message displayed to user when Klipfolio Dashboard was 
       unable to complete initial refresh of Klip
       -->
       Unable to load data
      </nodata>
   </messages>
   
   <assets>
      <!-- 
      ** Advanced feature **
      
      Specifications for the images to display in place of numeric 
      values, using XML tags and URLs.
      Also specifies a name that can be referenced by the CSS 
      property "asset" and values for which images are displayed.
 
      In the tooltip, the numeric value is displayed.
      The optional attribute 'label' may be used to display specified 
      text in the tooltip instead of the number.
      
      For more information on how to use this parameter, see
      http://developer.klipfolio.com/developer/cookbook_item/item-25

      From version 5.3, this parameter can also be used
      with "indicator: bar" to specify the colour of the bar graph
      that represents a single value.
      The available colours are: 
      violet, blue, turquoise, red, yellow, green, and orange.
      
      To find out how to use this parameter with "indicator: bar", see
      http://developer.klipfolio.com/developer/cookbook_item/item-33
      
      -->
      <state1>URL for image to display for state1</state1>
      <state2>URL for the image to display for state2</state2>
      <asset name="assetname">
         <![CDATA[
         state1: value < 0;
         state2: value == 0;
         ]]>
      </asset>
   </assets>
   
   <style>
      <!-- 
      Instructs Klipfolio Dashboard's XML parser to map XML elements 
      to columns in the Klip and rows in the tooltip.  
      Not needed if your <contentsource>is an RSS/RDS/ATOM 
      feed, as the application includes a default stylesheet.
      -->
   </style>
   
   <!--   
   Uncomment this section to put in your own klipscript, which is optional.  
   
   Note: When you specify your own klipscript, you must, 
   at a minimum, create an onRefresh() function to handle 
   refreshing of the Klip.
   
   <klipscript>
      <![CDATA[
         function onRefresh()
         {
         	return Engines.Data.process(Prefs.contentsource);
         }
       ]]>
   </klipscript>
            
-->
            
</klip>