The sample portlet require the following services:
They also require one of the following portlet containers:
They are able to be consumed by the following portals:
If you do not have the above software available, please visit the Oracle WebCenter Suite Home Page to obtain it.
This sample portlet will be deployed and configured on the selected portlet container. It is assumed that the reader is familiar with these processes on the selected container; if not please consult the product-specific documentation.
Technologies used by this sample include Java Portlets (JSR 168), JSP 2.0, JSTL, Web services, CSS, and JavaScript. For more information on these technologies, please refer to the Additional References.
Blogs allow users and groups to easily publish regular entries on descriptions of events, issues, etc., providing an efficient means of communication. Oracle WebCenter Wiki and Blog Server 10g Release 3 provides a comprehensive blogging platform for use in your Enterprise 2.0 applications. This sample portlet demonstrates the use of many of these capabilities within Oracle's portal solutions.
The blog sample portlet is designed to allow the user to easily connect to a blog server in order to view and/or edit blogs. Once connected the portlet provides the user with options to navigate the blog entries, and create and edit them if they are the blog owner. All of the state is stored as portlet preferences, allowing the user to maintain their navigation and settings.
The sample portlet is packaged as a Java Web Archive (WAR) file that contains all of the files necessary to deploy the application. The following list of files may be used as a reference when deploying, configuring, modifying, and otherwise using the sample.
Directory | File | Description |
---|---|---|
/WEB-INF/src/samples/webcenter/portlets/beans | BlogComment.java | Utility class for blog comments |
/WEB-INF/src/samples/webcenter/portlets/beans | BlogEntry.java | Utilities class for blog entries |
/WEB-INF/src/samples/webcenter/portlets/blog | BlogPortlet.java | The JSR 168 Portlet source file |
/WEB-INF/src/samples/webcenter/portlets/blog | BlogPortlet.properties | Properties file for messages and choices |
/WEB-INF/src/samples/webcenter/services/wiki | BlogType.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki | DomainInfo.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki | PageEditMode.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki | PageInfo.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki | PageType.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki | SearchResult.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki | SearchType.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki/remote | WikiRemoteServiceSoapBindingStub.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki/remote | WikiService.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki/remote | WikiServiceProxy.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki/remote | WikiServiceService.java | Generated from WSDL |
/WEB-INF/src/samples/webcenter/services/wiki/remote | WikiServiceServiceLocator.java | Generated from WSDL |
Directory | File | Description |
---|---|---|
/WEB-INF/lib | axis.jar | Apache Axis Web Services |
/WEB-INF/lib | commons-discovery.jar | Apache Commons Discovery |
/WEB-INF/lib | forums-ws-client.jar | Jive Software Web Services Client |
/WEB-INF/lib | wsdl4j-1.5.1.jar | Java APIs for WSDL (JWSDL) |
/WEB-INF/lib | wss4j.jar | Apache WSS4J (WS-Security) |
/WEB-INF/lib | xmlsec-1.4.1.jar | Common classes for XML cryptography |
Directory | File | Description |
---|---|---|
/samples/webcenter/portlets/blog | edit.jsp | Edit mode JSP |
/samples/webcenter/portlets/blog | help.jsp | Help mode JSP |
/samples/webcenter/portlets/blog | view.jsp | View mode JSP |
/samples/webcenter/portlets/blog/views | entries.jspx | Used for viewing the all entries in blog |
/samples/webcenter/portlets/blog/views | entry.jspx | Used for viewing and editing single blog entry |
/samples/webcenter/portlets/blog/views | init.jspx | Initializes the JSP and JavaScript variables |
/samples/webcenter/portlets/blog/views | main.jspx | Renders the main user interface |
/samples/webcenter/portlets/blog/views | search_results.jspx | Used for viewing the search results |
Directory | File | Description |
---|---|---|
/samples/webcenter/portlets/blog/css | default.css | Default style sheet |
/samples/webcenter/portlets/blog/css | otn.css | OTN-style style sheet |
/samples/webcenter/portlets/blog/css | sky.css | Sky style sheet |
/samples/webcenter/portlets/blog/images | configure.png | Configure settings icon |
/samples/webcenter/portlets/blog/images | delete.png | Delete icon |
/samples/webcenter/portlets/blog/images | edit.png | Edit icon |
/samples/webcenter/portlets/blog/images | help.png | Help icon |
/samples/webcenter/portlets/blog/images | minus.png | Collapse icon |
/samples/webcenter/portlets/blog/images | new.png | New icon |
/samples/webcenter/portlets/blog/images | plus.png | Expand icon |
/samples/webcenter/portlets/blog/images | rss.png | RSS feed link icon |
/samples/webcenter/portlets/blog/images | search.png | Search icon |
/samples/webcenter/portlets/blog/images/default | blog_banner.png | Banner image for the default template |
/samples/webcenter/portlets/blog/images/otn | blog_banner.png | Banner image for the otn template |
/samples/webcenter/portlets/blog/images/sky | blog_shadow.png | Shadow background image for the otn template |
/samples/webcenter/portlets/blog/images/sky | blog_banner.png | Banner image for the sky template |
/samples/webcenter/portlets/blog/images/sky | blog_body.png | Body image for the sky template |
/samples/webcenter/portlets/blog/js | blog.js | JavaScript utility functions |
Directory | File | Description |
---|---|---|
/WEB-INF | portlet.xml | JSR 168 Portlet Definitions |
Deployment of the sample portlet will vary somewhat depending on the portlet container being used. Please consult the relevant documentation for the portlet container for more specific instructions, some of which may be found in the Additional References.
For many portlet containers the Java Web Archive (WAR) file may be deployed directly using various development and administration tools and utilities. If you are planning on exploring and modifying the sample code you should deploy this as an "exploded" archive on the file system. This may be done via an import utility, as in an IDE, or via a standard JAR or Zip utility.
When using the portlet via Web Services for Remote Portlets (WSRP), please consult the product-specific instructions for creating the consumer and/or producers for the portlets. The portlet has been designed and tested with WSRP in mind, but there may be additional configuration and/or modifications to the code necessary depending on the way the server is configured.
The sample portlet does not provide container-specific security hooks and uses a simple user name based system for accessing the remote services. It assumes that the user exists on both the local and remote systems, and that the authentication is handled by the portal container. Additional security via common security realms, SSO, credential vaults, and the like will require configuration and possible code modifications.
Once the portlet has been deployed on the server it must be added to a portal, page, etc. to be used. The portlet has been designed to be usable by an anonymous (non-authenticated) user, although any customizations made will only be available for the life of the session. When the user authenticates the portlet state will be stored in the portlet preferences, with little need for further manual configuration.
The portlet has been designed to be "bootstrapped" when initially accessed by the user. It will display the configuration screen, allowing the user to enter or select from a list of available options. The table below contains the name of the preferences and the expected values.
Name | Value(s) | Description |
---|---|---|
URL | http://<hostname>:<port> | The host where the server is deployed |
Type | Personal or Community | The type of blog |
Name | myblog, johndoe, etc. | The name of the blog |
Show | All or Single | Show all blog entries or just one |
Entry ID | Unique number | ID of the single blog to show |
Max | Number | Maximum number of entries to show |
Template | default, otn, or sky | The display template to use |