As noted in the Introduction to Plumtree Enterprise Web Development, the Plumtree Enterprise Web combines portal, content management, collaboration, integration and search technologies. All Enterprise Web components can be extended and leveraged by custom applications.
The Plumtree Remote Client (PRC) provides an object-oriented way to call into the portal's SOAP API, which exposes elements of the Portal API. Essentially, the PRC is a remote subset of plumtree.dll. The PRC API 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. For examples, see PRC Use Cases.
The PRC is included with both the Java and .NET versions of the Plumtree Enterprise Web Development Kit (EDK). The Java version includes Apache AXIS 1.0; the .NET version uses the platform-native SOAP client stack. Java clients can call .NET portals and vice-versa; the PRC takes care of the communication between AXIS and .NET.
Before beginning any development, you should understand the underlying system. The Plumtree Object Model is the foundation for the portal's interaction with remote servers. This page provides a conceptual overview. For specific details on Plumtree objects, see the portal server API on devcenter.plumtree.com.
The topics that follow explain how to use the PRC to implement a range of functionality, and provide examples and sample code.
Initiating a PRC Session with the Portal: To communicate with the portal via the PRC, you must first establish a session with the portal. This session is used to manipulate portal objects via the PRC.
Extending Portal Server Functionality: The portal provides the framework for applications and integrates Enterprise Web components into a cohesive Web work environment. Administration is the core of the Plumtree Corporate Portal, where all portal objects and operations are configured. The PRC's remote APIs provide access to key administrative components, as explained in the following topics:
Object Management: Everything in the portal, except users and documents, is represented by a portal object stored in the Plumtree database. The IObjectManager interface allows you to access portal objects from your remote services.
Portlet Operations: There are many settings and options that apply only to portlets. In addition to manipulating portlet objects via IObjectManager, the PRC supports advanced portlet operations.
Knowledge Directory Operations: The Knowledge Directory stores links to documents in a hierarchical structure of folders and subfolders. The IDocument* interfaces allow you to query for documents and document properties, create new documents, and edit the properties for existing documents.
User Operations: Portal users are organized into groups and sub-groups. The IUserManager and IUserGroupManager interfaces allow you to leverage the portal's user hierarchy.
Portal Jobs: A job is a collection of related portal operations, managed by the Automation Server. Using the IJobManager interface, you can start an existing portal job remotely.
Extending Search Server Functionality: Plumtree Search Server indexes and searches all the documents, information, applications, communities, discussions, Web sites and other content accessible through the portal. Using the remote search API, you can query document (card), folder, user and Community objects using a standard request-response model. You can add multiple constraints and filter searches by location or object type.
Extending Collaboration Server Functionality: Plumtree Collaboration Server helps people to work together via the Web, supporting tasks, projects, communities, calendars, discussions, and document sharing with version control. You can create, query and manage Collaboration Server projects, tasks, documents, and discussions from remote applications. You can also use the remote API to embed collaborative components and functions into any Web application delivered through the Plumtree framework.
Extending Content Server Functionality: Plumtree Content Server provides the Web publishing system for deploying content-driven applications, like a customer support knowledge base or sales support center. Using the remote API, you can create and publish many types of Web content, including articles, customer profiles, employee reports, news stories, and so forth.
These pages provide information and detailed instructions for extending Plumtree Server functionality. For an introduction to how the portal works, see the Portal Architecture Overview. For a full listing of development topics, see the table of contents. For a full list of interfaces and methods, see the EDK API documentation, available on the Developer Center (http://devcenter.plumtree.com).
Next: Plumtree Object Model