AquaLogic Interaction Development Kit (IDK) 6.0.0 |

# Plumtree.Remote.PRC Namespace

The PRC provides an object-oriented way to call into the portals SOAP API.

This exposes elements of the portal API required to develop applications that access portal users, communities, portlets, and Knowledge Directory functions. Essentially, the PRC is a remote subset of plumtree.dll. The PRC frees you from serializing SOAP messages and minimizes the amount of data that travels between the portal and the remote server, improving performance.

The PRC can be used to write applications that access the portal, including portlets, command-line tools, and virtually any Web application.

Since IDK 5.0

Namespace hierarchy

### Classes

Class | Description
--- | ---
AccessLevel | An enumerated type describing the various security access levels available within the portal.
ACLEntryReadOnlyException | Exception class that represents an illegal modification of a read-only ACLEntry.
AuthSourceProperty | An enumerated type used to describe the properties of Authentication Sources in the portal. Authentication Sources support all of the properties in `ObjectProperty` as well as the following properties.
CommunityPageProperty | An enumerated type used to describe the properties of community pages in a portal community. Note: Community pages do not support all of the properties in `ObjectProperty`.
CommunityProperty | An enumerated type used to describe the properties of Communities in the portal. Communities support all of the properties in `ObjectProperty` as well as the following properties.
CommunityTemplateProperty | An enumerated type used to describe the properties of Community Templates in the portal. Community Templates support all of the properties in `ObjectProperty` as well as the following properties.
CrawlerProperty | An enumerated type used to describe the properties of Crawlers in the portal. Crawlers support all of the properties in `ObjectProperty` as well as the following properties.
DataSourceProperty | An enumerated type used to describe the properties of Data Sources in the portal. Data Sources support all of the properties in `ObjectProperty` as well as the following properties.
DateQueryFilter | Query filter for filtering on date properties.
DocumentFolderProperty | An enumerated type used to describe the inherent properties of Document Folders.
DocumentProperty | An enumerated type used to describe the inherent properties of Documents in the Knowledge Directory.
DocumentTypeProperty | An enumerated type used to describe the properties of Document Types in the portal. Document Types support all of the properties in `ObjectProperty` as well as the following properties.
ExternalOperationProperty | An enumerated type used to describe the properties of External Operations in the portal. External Operations support all of the properties in `ObjectProperty` as well as the following properties.
FederatedPortalProperty | An enumerated type used to describe the properties of Federated Portals in the portal. Federated Portals support all of the properties in `ObjectProperty` as well as the following properties.
FilterProperty | An enumerated type used to describe the properties of Filters in the portal. Filters support all of the properties in `ObjectProperty` as well as the following properties.
IntArrayQueryFilter | Query filter for filtering on integer array properties.
IntQueryFilter | Query filter for filtering on integer properties.
InvalidQueryFilterException | Thrown when a user attempts to construct an invalid query filter.
JobProperty | An enumerated type used to describe the properties of Jobs in the portal. Jobs support all of the properties in `ObjectProperty` as well as the following properties.
LockStatus | Describes the locked status of a Portal object.
MyPageProperty | An enumerated type used to describe the properties of MyPages in the portal. MyPages do not support all of the properties in `ObjectProperty`.
NoSuchObjectException | Thrown when a user specifies the ID of a nonexistent object.
ObjectProperty | An enumerated type used to describe the properties common to all objects in the portal.
PageTemplateProperty | An enumerated type used to describe the properties of Page Templates in the portal.
PortalException | Thrown when a remote invocation results in an error on the portal side, usually due to invalid method parameters.
PortletProperty | An enumerated type used to describe the properties of Portlets in the portal. Portlets support all of the properties in `ObjectProperty` as well as the following properties.
PortletTemplateProperty | An enumerated type used to describe the properties of Portlet Templates in the portal. Portlet Templates support all of the properties in `ObjectProperty` as well as the following properties.
ProfileSourceProperty | An enumerated type used to describe the inherent properties of Profile Sources.
PropertyNotRequestedException | Thrown when a user attempts to access a property that has not been requested as part of a query.
PropertyPickTypeID | Possible pick types for a Property. This is the type of selection available for values of this Property.
PropertyProperty | An enumerated type used to describe the inherent properties of Property objects themselves.
PropertyValueTypeID | Possible types of value for a property.
QueryFilter | The base class for all query filters.
RemoteServerProperty | An enumerated type used to describe the properties of Remote Servers in the portal. Remote Servers are the servers registered with the portal which are used to host remote web services (such as portlets, search web services etc.). Remote Servers support all of the properties in `ObjectProperty` as well as the following properties.
RemoteSessionFactory | Factory class for obtaining an `IRemoteSession`. `IRemoteSession` is the only session object required by the PRC remote APIs. No separate Collaboration session or Content session is needed to access the Collaboration or Content Server remote APIs. To access Collaboration or Content Server APIs, obtain an `IRemoteSession` using the methods in this class, then obtain either an `ICollaborationFactory` or `IContentFactory` from the `IRemoteSession` Individual Collaboration managers or Content managers can be obtained using the corresponding methods in `ICollaborationFactory` or `IContentFactory`. Portlets automatically receive the WS Portal (ptapi) SOAP endpoint URL from the portal and can use `IPortletContext.GetRemotePortalSession` to create an `IRemoteSession`.
RemoteSessionWrapper | This class is intended for internal use by Portlet API only.
StringQueryFilter | Query filter for filtering on string properties.
TimeInterval | A type used to represents the numeric value and the unit component of a time interval. See SetBrokenLinkDeletionTime and SetRefreshRate.
TimeIntervalUnit | An enumerated type used to describe the units for time interval. See SetUnit and GetUnit.
UserGroupProperty | An enumerated type used to describe the properties of User Groups in the portal. User Groups support all of the properties in `ObjectProperty` as well as the following properties.
UserInterfaceProperty | An enumerated type used to describe the properties of User Interfaces in the portal. User Interfaces support all of the properties in `ObjectProperty` as well as the following properties.
UserProperty | An enumerated type used to describe the properties of Users in the portal. Users support all of the properties in `ObjectProperty` as well as the following properties.
WebServiceProperty | An enumerated type used to describe the properties of Web Services in the portal. Web Services support all of the properties in `ObjectProperty` as well as the following properties.

### Interfaces

Interface | Description
--- | ---
IACL | Represents an Access Control List (ACL) that specifies which groups and users can access this object. Note: Adding a non-existent user or group ID will succeed until the ACL has been applied via the `ObjectManager/DocumentManager Update(int, IACL)` method, after which the `IACL` instance will have all its contained entries refreshed.
IACLEntry | An entry to an ACL specifying a user or group and their access level.
ICommunityManager | Interface that provides remote access to communities.
IDocument | Represents a newly-created document in the portal. A new document can be created through the `IDocumentManager` interface. Note: Changes made to this object will not take effect in the portal until the `Save()` method is called.
IDocumentFolderManager | Interface that provides remote access to the portal Knowledge Directory's folder structure. Applications can call these methods to get information about folders.
IDocumentManager | Interface that allows remote services to create new documents in the portal Knowledge Directory.
IDocumentProperties | Interface that manipulates document properties. Note: It is possible to set invalid properties (non-document properties) on objects of this type, however this is not recommended and will result in unexpected behavior when the object is saved.
IDocumentQuery | Interface that allows querying of documents in the Knowledge Directory. The query can be directed to a specific document folder or narrowed down using a set of filters. An instance of a document query is created with a call to `IDocumentManager.CreateQuery()`. Once the desired query parameters are specified, the query can be executed with the `Execute()` method.
IExtendedData | Interface that represents an object's extended object data. Extended object data is a way to extensibly store data about portal objects. The data is stored as typed name-value pairs.
IJobManager | Interface that allows remote services to start Portal Jobs.
IMyPagesManager | Interface that provides remote access to users' MyPages in the portal.
IObject | Interface that represents all objects in the portal.
IObjectManager | Interface that provides an entry point for querying portal objects.
IObjectQuery | Interface that represents a query about multiple objects in the portal. All the objects in a particular query will be of the same class; no object query can include more than one class of object (for example, both Portlets and Communities). Only certain properties are "queryable" in the portal; these properties are represented by the `ObjectProperty` class and its subclasses. Some attributes of an object (for example, a Portlet's administrative preferences) can only be obtained by accessing the object directly. Object queries are represented conceptually like a database query result. They are comprised of rows, with each row representing an object. Each row has multiple property-value pairs (like columns in a database query).
IObjectQueryRow | Interface that represents a single row in an object query. Conceptually, an object row is just a set of property-value pairs describing an object.
IPortlet | Interface that represents a Portlet instance in the portal.
IPortletBase | Superinterface that represents both Portlets and Portlet Templates. Portlet interfaces representing new and existing Portlets can be obtained from the `IPortletManager` object. Note: No changes made to this object will be saved to the portal until the `Save()` method is called. At least an object name and an alignment must be set prior to saving.
IPortletManager | Interface that provides a way to obtain information about existing Portlets and Portlet Templates, and enables creation of new Portlets and deletion of existing Portlets. Note: Settings are not saved in the portal until `IPortlet.Save()` is called.
IPortletTemplate | A marker interface that represents a Portlet Template in the portal.
IPortletTemplateManager | Interface that provides a way to create, delete and retrieve Portlet Templates from the portal. Note: Any changes are not saved in the portal until `IPortletTemplate.Save()` is called.
IRemoteDocument | Interface that represents a document retrieved by a remote crawler. New remote documents can be created using `IDocumentManager`.
IRemoteSession | Interface that represents a PRC connection to the portal. An `IRemoteSession` contains information about the current connection and provides access to object managers that allow the client to query and manipulate a portal server's state. To create an `IRemoteSession` interface use `RemoteSessionFactory`. Portlets automatically receive the WS Portal (ptapi) SOAP endpoint URL from the portal and can use `IPortletContext.GetRemotePortalSession` to create an `IRemoteSession`. The PRC remote APIs for the portal, Search Server, Collaboration Server, and Publisher all require a WS server and a SOAP endpoint URL. The portal and Search Server can be accessed through WS Portal (ptapi). Collaboration Server and Publisher each have intrinsic WS servers to provide PRC remote API access. The endpoints for these intrinsic WS servers should never be used directly. All PRC requests should use the WS Portal (ptapi) endpoint first and will be redirected as needed to Collaboration or Publisher. To access Collaboration Server and Publisher remote APIs, first obtain an `IRemoteSession` and then retrieve the corresponding `ICollaborationFactory` or `IContentFactory` from the session. No separate Collaboration session or Publisher session is needed to access the Collaboration or Publisher remote APIs. Individual Collaboration or Publisher object managers can thus be retrieved using the `ICollaborationFactory` or `IContentFactory`. For portal and Search Server remote APIs, a portal object manager or `ISearchFactory` can be retrieved directly from an `IRemoteSession`.
IUserGroupManager | Interface that enables management of user groups.
IUserManager | Interface that provides information about the currently logged in user.
IWebLinkDocument | Interface that represents a newly-created Web link document. A Web link document object can be obtained from the `IDocumentManager` interface.

### Enumerations

Enumeration | Description
--- | ---
Alignment | An enumerated type used to describe the alignment of a portlet on a page.
ObjectClass | An enumerated type used to describe the types of portal objects that can be queried and/or manipulated.
Operator | An enumerated type describing all operators that can be used in query filters.