Building iKnowBase Applications | ||
---|---|---|
Previous | Next | |
iKnowBase Content Services | Advanced Configuration |
This section describes briefly how you can build web applications using iKnowBase Content Services.
When you build applications, you typically expose a number of endpoints to the user:
Development of web pages using the iKnowBase Page and Template components together with iKnowBase Page Engine is based on the following patterns:
Standalone pages are pages that contain all the required information to render a web page, within a single page definition. A standalone page is one page definition, one template, and one or more portlets, The templates can be developed by an HTML designer, while the actual page definition can be set up by a super user.
Perform the following steps to create a standalone page:
Standalone pages are simple to work with, but once you start building applications which require different layouts on different page, you often find yourself duplicating common elements such as headers, footers and menus. Therefore, standalone pages are generally best used during prototyping, and for pages with little or no layout and decorations.
Pages can be re-used and embedded into other pages, including content and design. For example, you can create a page “my newsfeed” with multiple portlets, and then you can embed this page into both “front page” and “my page”.
Note that the output from the embedded page is included with all details into the embedding page. The embedded page should therefore not contain full html markup (such as the HTML and BODY tags), but only the actual information in a tag suitable for embedding (such as a DIV-tag).
Perform the following steps to embed pages:
While embedding pages is a useful technique for structuring your page and portlet definitions, embedding by its very nature requires that the configuration is done on the outermost page. In some cases, it is possible that some parts of a collection of pages are common. For example, all pages in an application follow the same layout. They have a banner at the top, and a menu on the left. One possible solution is that every page includes a banner and a menu in the right place. The disadvantage arises in that moment it is determined to make changes to the main layout. It then becomes necessary to go into all the pages that are in use, and modify these. A better solution for this scenario is to build and use a layout page.
Layout pages are useful in situations where you build many pages that you want to “surround” with the same information. For example, you often want all of your pages to use the same banner and footer. Using layout pages, you can create a layout page that contains the surrounding decorations, and then design individual pages that refer to the layout page for decorations.
Perform the following steps to create and use a layout page:
When the end user accesses the application page, the iKnowBase Page Engine will detect that it should be enclosed in the layout page, and produce the complete page based on both the layout and the regular page. The advantage of this solution is that individual pages do not know anything about the overall layout, while the layout page does not know which or how many pages are actually based on this. In this case, the subpage knows in which page it is included.
Example template for a layout page:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html>
<head>
<title>xNet layout page</title>
<style type="text/css">
div { border:thin solid black; padding:5px; margin:5px; }
</style>
</head>
<body>
<div id="banner">
${page.regions.banner}
</div>
<div id="leftmenu">
${page.regions.leftmenu}
</div>
<div id="content" style="float:right; width:75%">
${page.clientPage}
</div>
</body>
</html>
After you have built a web page using the iKnowBase Page and Template components, you can start adding portlets (content components) to it. You generally need to create and configure iKnowBase components before you can add and configure iKnowBase portlets to your web page, as the portlets depends on these components. See iKnowBase Development Reference for further information about iKnowBase components and portlets.
A tooltip function is used in viewers where you want to have mouseover functionality on title attributes.
They can be useful in lists of documents to display additional informasjon about a document without navigating to detail pages.
This is the list of tooltip functions available from a presentation style:
The three functions used in search will highlight the search criteria if entered by the user.
To add new functions you can write your own PL/SQL-function, add it as a database command and use it in the presentation style layer. Use e.g the function ikb_tooltip.cluetip_preview as an example.
Cluetip is the framework for tooltip functionalities and there are two different implementation offered:
class="ikb-cluetip-url" title="<title>" rel="/somurl/<docIdParam><docid>"
class="ikb-cluetip-title" title="<title>|<description>"
While pages are excellent tools for building pages that display information, they are often not ideal for implementing business actions. iKnowBase provides a number of tools that are better for this explicit purpose.
Script Targets are a mechanism used to attach scripts directly to a URL, where the application developer is free to add business logic as needed. In many ways, Script Targets match servlets in usage scenarios.
Script Targets are typically implemented using the Groovy script language, with iKnowBase providing access to the database and the Service API.
Perform the following steps to create a Script Target:
Previous | Top | Next |
iKnowBase Content Services | Advanced Configuration |