0 - 50 of 73 tags for pdk


Teradata Viewpoint 14.01 introduces a wider, more flexible layout, which better utilizes space on wide screen monitors, and gives the user more flexibility in controlling how much information is being displayed.


The following tutorial is a guide on how to implement the Viewpoint DataGrid and BigNumbers Widget.  In this example we will show how these widgets were incorporated into the SkewedSessions Portlet.  The actual source code can be found in the SkewedSessions Portlet supplied in PDK version 14.01.


We only have a single Viewpoint system and I've had less than stellar success getting the PDK sample Viewpoint instance up and running and I need the ability to test changes to an existing in-use portlet. What steps do I need to follow to install a second instance of a portlet on a Viewpoint server?

The following tutorial is a guide on how to implement the Viewpoint DataGrid Widget.  In this example we will show how the DataGrid Widget was incorporated into the Widgetopia Portlet.  The actual source code can be found in the Widgetopia Portlet supplied with the PDK starting from version 13.03.

The Hello portlet demonstrates the simplest functional portlet that you can build. It has a simple, one-page design. When you add this portlet to your page, it prints the text "Hello, " followed by your portal username.

The first thing that we want to do is replace the summary view with our own content. Our Hello portlet is going to display "Hello, user!", where user is the user's portal login name. Since this is a Model-View-Controller (MVC) application, we need to make changes in each of these three areas. 

A preferences form allows the user to customize some aspect of a portlet instance. A portlet instance is a portlet that has been added to a page by a user. If a user adds the same portlet to a page twice, there will be two instances of the same portlet on the page. Each instance remembers its own preferences.

The following article describes how to fetch session data from the cache database and display it in a table.

The following article describes how to generate the SkewedSessions project.

A throbber is a visual indication of activity within the portlet, similar to the hourglass cursor in a Windows application. It "throbs" to notify the user that the portlet is in the middle of an activity and might be temporarily unresponsive.

The following article describes how to create the view in the DynamicQuery portlet.

A model is a java class that contains data. A model doesn't have to implement any specific interface or extend any specific class. However, we recommend that you extend the BaseModel class.

Teradata recommends using the Model-View-Controller (MVC) pattern for developing custom portlets.

In your application, you want to create a java class that will hold all of your preferences. This java class can be any POJO object. This class will be the command object (or backing class) for your form. You should design this class so that it is easy to access the preferences from the preference form.

Created for Spring MVC framework, Spring form tags allow you to bind data to the backing object used by your portlet's controller object. This is especially useful for implementing preferences in a portlet, but they can be used anywhere a form is required. These are the same kind of tags discussed in the JSP and Tags page.

Writing quality unit tests for portlet controllers is important in the development process because doing so results in sound code. Unit testing quickly reveals flaws and regressions in code that has been written, allowing code to be more easily maintained.

The following article gives you a summary on how to implement the service layer in your portlet.

The following article describes how to implement data caching for better performance in your portlet.

The following article describes what you need to know to create a view in your portlet.

The following article describes how to add security and role based access to your portlet.

The following article describes how to internationalize the content within your portlet.

The Viewpoint Framework allows the user be able to configure their portal to view data in any timezone they desire and store this preference on the server. Database data on the Viewpoint Server is available as UTC, which is to be converted to user timezone on the display side (browser).

The default CSS styles for the widget library are defined in global.css in CommonsWeb. Styles for individual portlets should be defined in the css directory of each portlet. The PDK will create this directory for you. Although it is acceptable to have multiple stylesheets for a portlet, the best page loading performance is achieved with the fewest stylesheets. A unique CSS classname should be assigned to each new type of portlet that is developed. In order to prevent namespace collision, this CSS classname selector should be used in all portlet style sheets.

The following article describes conceptually how the Viewpoint Security Model is structured.

For general purpose DOM searching and manipulation, the jQuery library has been included with Teradata Viewpoint.

Additionally, some commonly needed javascript functions are gathered in the files and JS Classes below.

The following article displays in a diagram all the major parts of a portlet.

The Viewpoint Portlet Development Kit (PDK) is a set of APIs, user interface widgets, styles and other assets that allow you to develop portlets for Teradata Viewpoint. The PDK also includes a "lite" version of Viewpoint that you can run on your desktop. You can download Viewpoint PDK here.


  • Intermediate understanding of the Java programming language
  • Intermediate to advanced level of Javascript, HTML, and CSS web programming experience
  • Understanding of the Spring MVC framework
  • Understanding of JDBC

It can be helpful to see the directory layout of a portlet.  Here is an example using the Hello portlet.

Inversion of Control (IoC) is the software architecture notion where the flow control of an object has been inverted from the more common architecture of "object A calls library procedure A" to "library procedure A calls object A". In this case of IoC, library procedure A is an abstract implementation (a Java Interface) of a given functionality that is dependent on object A's concrete implementation (a Java Interface implementation).

This article describes how to include online help with your portlet and how to create a sample help topic.

Developing portlets for Viewpoint requires a level of knowledge in certain technologies aside from being only a Java developer. Below are brief descriptions of some of the technologies used and links to books/webpages for more information.

The Business Delegate design pattern provides an extra layer of abstraction between the presentation view and the business services, in the case of Viewpoint; this is the Viewpoint Data Collection System (DCS).

The following series of articles describe the basic concepts required for understanding how to build and create Viewpoint portlets.  They describe what technologies are used and how portlets are structured.  You can download the Viewpoint PDK here.

This checklist is meant to be a guide of best practices for portlet designers and developers. Complying with all of these items will ensure that your portlet maintains a consistent look and feel, and performs well within the Viewpoint portal.

The following are a series of articles that provide reference information on how to create portlets, and the technologies you would need to know before you start developing them.

Teradata Viewpoint uses a highly configurable logging mechanism to output log messages. By default, it has been configured to output log messages to the server console. You can use the logging mechanism described below to format and print log messages from your portlet.

Teradata Viewpoint is a web portal that is a container for portlets. A portlet is a self-contained component that a portal user can display on one of their portal pages.

Viewpoint provides an enhanced security architecture, known as VISA (Viewpoint Information Security Architecture), that allows an individual portlet to specify its own security domain model and still plug-in to the overall security system to take advantage of common services. The key features of VISA include:

The VISA policy/authorization/verdict engine may initially seem a a little daunting, but it's really quite simple.

Before a security policy decision can be made, VISA must know the identity of the user attempting the action in question. Identity is established through a process of authentication: typically using a username and password.

Configuration of two XML files in your portlet's WEB-INF folder is required to integrate your portlet with VISA. The first file is the familiar web.xml where listener and filter classes are configured.

The following series of articles talk about how portal and portlet security is handled within Viewpoint.  They also describe how to implement security and permissions within your portlet.

Teradata Javascript Widgets provide the advanced GUI features that application developers want in data presentation without burdening the developer with the need to write a lot of tedious javascript code and CSS.

Rewind is a new feature in Teradata Viewpoint 13.0 that enables the user to move back in time to see what the portal looked like in the past. This is especially useful for investigating problems because the user can view the state of the system before, during, and after the problem occurred.

Namespacing a portlet view is very important because it prevents the unintended interaction of multiple portlets on the same page. This can easily happen if multiple HTML elements on the page have the same ID name or JavaScript variables have the same name due to closures.

Viewpoint recommends using the tool-tipping feature built into all supported browsers as the preferred way to show supporting or explanatory text. This is straightforward and easy to use, and does not add the performance overhead of the custom tooltip described below. The TDTTM implementation described below is deprecated as of Viewpoint 14.01

This section describes how to add unified client-server validation to JSP pages using the Teradata Viewpoint Client Validation Framework (CVF).

The JavaServer Pages (JSP) technology allows web developers to easily create dynamic web content. JSP consists of the Standard Tag Libraries (JSTL) and user-defined Tag libraries. Tag libraries provide users with a way to add reusable web components to their projects.

A JSP tag is a tag that you can embed in your JSP page just like regular HTML tags (e.g., the <table> tag). However, your JSP tag is not sent to the browser. Instead, it is evaluated by the JSP engine on the server side. The output of your tag is inserted into the page at the location where the tag was embedded.

The Data Access Object (DAO) design pattern is used in object-oriented programming languages in order to provide an interface to a database without providing details on the implementation of that database. By doing so, the implementation of a database may change without requiring changes to code that makes use of the data stored in the database.