Plumtree EDK (Enterprise Web Development Kit) 5.4.0 |

# Plumtree.Remote.Sci Namespace

Provides interfaces for creating plug-in pages for Plumtree Corporate Portal object editors and remote document import.

In this version of the EDK, the Service Configuration Interface (SCI) provides an easy way to write configuration pages for your services that are integrated with portal editors. SCI wraps the portals XUI XML and allows you to create controls without XUI. (The portal UI is still articulated via XML and rendered using an XSL transformation, so XUI and SCI pages are backward and forward compatible.)

SCI is designed for providing default elements such as selects, radio buttons, textboxes, password elements, and labels. Custom HTML can be added through the use of custom SCI elements. SCI is not designed to do in-place refresh. When designing SCI pages, place each dependency on a separate page. For example, for a database crawler, there could be separate pages for schema (database),table, and column, as each depends on the previous page.

Crawlers must provide SCI pages for the Data Source and Crawler editors. SCI pages are integrated with portal editors and used to define settings used by a crawler. SCI pages can also be used by auth, profile, and search services. The Plumtree.Remote.Sci package/namespace includes the following interfaces:

- IAdminEditor
- IAdminPage
- ISciElement
- ITreeIterator
- ITreeIteratorNode

In general, a portal editor will call a service's SCI page interfaces in the following order.

1. Calls IAdminEditor.Initialize using the namespace and the users locale passed in by the portal. (Crawlers require a parent info parameter that references the associated Data Source object.)
2. Calls IAdminEditor.GetPages, which collects metadata and returns an IAdminPage.
   - Calls IAdminPage.GetTitle, GetInstructions, GetHelpURI, and GetImageURI on all pages returned by IAdminEditor.GetPages.
   - Calls IAdminPage.GetContent on the first page with an error code of 0 and any stored name/value pairs.
   - Calls IAdminPage.ValidatePage. Entries that fail to validate can report errors to the user.
   - Calls IAdminPage.GetContent and ValidatePage on each page until there are no more.
3. Calls IAdminEditor.Finalize. If the user clicks Finish, Validate and Finalize are called unless prevented by a client-side error.

Note that values retrieved from the portal using IDocFetchProvider.Initialize(DataSourceInfo dsInfo) will be decoded in the process. To prevent + from being decoded into a space and % from having indeterminate behavior, make sure that all values entered into the datasource using SCI pages are encoded using Plumtree.Remote.Util.CSPCodec. Likewise, all values that have been encoded in the SCI datasource pages should be decoded when displayed with SCI using Plumtree.Remote.Util.CSPCodec. If the developer is not using DocFetch this is not an issue.

Also note that the names in all NamedValues will be uppercased by the portal. For this reason, we recommend that all names in NamedValues be uppercase.

For details and sample code, see the Enterprise Web Development Guide Chapter 18: Service Configuration Interface.

For examples, developer discussions and additional documentation, see Plumtree Developer Center

Namespace hierarchy

### Classes

Class | Description
--- | ---
SciCheckboxElement | Represents a checkbox control.
SciHiddenElement | Represents a hidden field (equivalent to type=hidden in HTML).
SciLabelElement | Represents a label control.
SciPage | Represents a page of Sci content.
SciPasswordElement | Represents a password control with confirmation box.
SciRadioElement | Represents a radio element.
SciSelectElement | Represents a select (drop-down) control.
SciTextElement | Represents a textbox with a label and validation.
SciTreeElement | Represents an element that displays a tree view of directories (e.g., a file system or database).
TypeMatch | Type-safe enumeration for match types (match or not-match).
TypeNamespace | Type-safe enum for namespaces (representing object types).
TypeStorage | Type-safe enumeration for storage types (integer or string). There are a number of values in the 4.5 portal that are required to be stored as an integer, e.g. CrawlerConstants.TAG_DEPTH and CrawlerConstants.TAG_THREADS.
TypeStyle | Type-safe enumeration for text styles (normal or important). Important text is displayed in red bold.
ValidationException | Exception used to transmit an error code to `GetPageContent`.

### Interfaces

Interface | Description
--- | ---
IAdminEditor | Root interface for the Sci editor. Allows you to create Service Configuration pages that plug into portal editors.
IAdminPage | An interface for an individual Sci page.
ISciElement | Root interface for all
    SciElement
s. This includes SciCheckboxElement, SciPasswordElement, SciRadioElement, SciSelectElement and SciTreeElement. Developers wanting to add other elements to an SCI page should implement this interface and set the xmlns attribute on the root xml node to "http://www.w3.org/1999/xhtml"
ISciPage | An interface for an individual `SciPage`.
ITreeIterator | Interface used in `SciTreeElement`. Can be an interface to any system that supports iterating through a directory (e.g., a file system).
ITreeIteratorNode | An interface to access information about an `ITreeIterator` node. Used by `SciTreeElement`.