Skip to main content

skip to main content

developerWorks  >  Lotus | WebSphere  >

Introducing IBM Workplace Designer

developerWorks
Document options

Document options requiring JavaScript are not displayed


New site feature

Check out our new article design and features. Tell us what you think.


Rate this page

Help us improve this content


Level: Intermediate

Dick McCarrick, Content Developer, IBM

23 Aug 2005

It's here! Learn all about IBM Workplace Designer, the application development tool that brings Lotus Domino Designer type features and capabilities to the IBM Workplace world.

In many corporations, a business software platform is only as useful as the applications you can develop with it. With that in mind, IBM has announced IBM Workplace Designer 2.5, a standards-based development tool that allows developers to quickly and easily create components for release 2.5 of the IBM Workplace family of products. These components can then be used within IBM Workplace applications from any Web browser.

This article introduces you to Workplace Designer 2.5. We begin with a brief overview of Workplace Designer and how you can use it to create Workplace applications. We then take a closer look at some of the many features included in Workplace Designer. We assume you have experience with Web application development. Some familiarity with IBM Workplace products (such as IBM Workplace Collaboration Services 2.5 and IBM Workplace Services Express 2.5) would also be helpful. To learn more, visit the IBM Workplace resource center. Additionally, for insight into how IBM built Workplace Designer, see the developerWorks: Lotus article, "Designing Workplace Designer: An interview with the IBM Workplace Designer design team."

What is Workplace Designer?

If your background is in Notes/Domino programming, you can think of Workplace Designer as a tool for providing Domino Designer type application development functionality to the IBM Workplace family of products. In fact, those familiar with Domino Designer will notice a lot of similarities with many IBM Workplace Designer features and concepts described later in this article. This similarity is not coincidental -- Workplace Designer was created with Domino Designer in mind. This allows experienced Domino developers to leverage their existing skills to quickly create new applications for IBM Workplace products. Figure 1 shows a screen shot of Workplace Designer.


Figure 1. Workplace Designer
Workplace Designer

Bear in mind, however, that Workplace Designer is not intended to replace Domino Designer. Domino Designer will still be available as the primary tool for developing applications within a Notes/Domino environment. Workplace Designer allows Notes/Domino developers to extend their expertise to IBM Workplace products. (For an overview of new features in the upcoming release of Domino Designer 7, see the developerWorks: Lotus article, "New features in Lotus Notes and Domino Designer 7.0."

Even if you don't have a great deal of experience with development platforms such as Domino Designer, Workplace Designer will give you an easy way to use document-oriented programming for collaborative components without requiring an in-depth knowledge of Java. Workplace Designer's underlying J2EE technologies are not exposed, so expertise in this area is not necessary to develop production applications -- although if you need the power and flexibility of Java, there are extensive APIs available that let you access the data and services provided by IBM Workplace servers. Developers who have a greater need for customization and the ability to access the code directly can use tools such as Rational Application Developer. Workplace Designer offers a number of extension points that more experienced Java developers can use to share code artifacts created with Rational Application Developer and other IBM tools.

Inside Workplace Designer

Internally, the components created with Workplace Designer contain artifacts that support the MVC (Model, View, Controller) architecture used in standard web architectures. Additionally, any documents created from the deployed components are stored in a relational database as XML documents. These documents are defined by XSD schemas, and can be accessed through the XPath language. Workplace Designer includes a schema editor for modifying the schemas.

Note that Workplace Designer applications are not self-contained like Notes databases. When you design an application in Notes/Domino, you can immediately deploy and run it. In the Workplace model, you must deploy components to the Workplace server where they will be run, and then perform additional setup to include the component in one or more Workplace composite applications.

Workplace Designer, based on Eclipse 3.0, is completely integrated with IBM Workplace Collaboration Services 2.5 and IBM Workplace Services Express 2.5. (See the developerWorks: Lotus article, "Introducing IBM Workplace Services Express.") It installs on top of the IBM Workplace Managed Client. Workplace Designer includes a developer's license for IBM Workplace Collaboration Services 2.5 and WebSphere Portal, and can seamlessly deploy components to the server for testing and assembly into templates and applications. You can authenticate with the Workplace server, and launch the tool from the IBM Workplace client. You can use the components in conjunction with Workplace application builder.

Workplace Designer incorporates the following industry standards:

  • XML for data access and exchange
  • HTML/CSS for portal development
  • JavaScript for the programming language

On the workstation, Workplace Designer runs within IBM Workplace on Linux and Microsoft Windows 2000 or XP. On the server, Workplace Designer applications run on Workplace Services Express 2.5 and Workplace Collaboration Services 2.5 on all supported platforms.

Workplace Designer supports several database platforms, including IBM Cloudscape, DB2, Oracle, and Microsoft SQL Server. In addition, Workplace Designer supports the LDAP servers supported by IBM Workplace products.

The first release of Workplace Designer includes everything you need to get started:

  • The product code
  • Documentation and tutorials
  • Example application code
  • IBM Workplace Collaboration Services for previewing and testing in-progress applications
  • IBM Cloudscape (technically part of Workplace Collaboration Services)

Workplace Designer features

Workplace Designer 2.5 includes the following features:

  • Components (collections of forms, schemas, scripts, and images) that comprise a single portlet on the Workplace server.
  • Design elements. These are parts of Workplace Designer that let you create and modify components visually.
  • Form editor for creating forms for entering information into and displaying information from various data sources. Forms are critical elements of a collaborative system, providing a flexible way to collect and process information. They are the main user interface element and contain the controls that comprise the interface of the application. Forms are used to create, edit, and display data stored in documents.
  • UI control palette for presenting all available UI controls/components. UI controls are visual elements that allow users to work with data on a form. UI controls include edit fields, buttons, drop-down lists, and links.
  • Events for providing full programming capabilities, such as a button click or field event, document open or close event, and so on.
  • Scripting with full JavaScript interfaces to built-in functions. This includes a script editor, offering many of the features found in the Eclipse script editor, including syntax coloring and type-ahead.
  • Easy deployment options for testing and production scenarios.

These are discussed in more detail in the following sections of this article.



Back to top


Components

As mentioned in the previous section, Workplace Designer components are sets of forms, scripts, and other elements from which you construct portlets. (Workplace applications consist of one or several portlets.) You can use Workplace Designer to build components, deploy them on the Workplace server as portlets, then add them to Workplace applications. These applications are then available to Web users. You can create new components "from scratch" or import an existing Domino database as a starting point for the new component. You can write scripts to associate with events in a component. To do this, select a component event, then write a script for that event. (Scripting and events are discussed later in this article.)

Workplace Designer components support the role-based security model of Workplace applications. After you have deployed the component and added the component to an application or application template, you can set access to components by mapping component roles to the roles in that specific Workplace application. For instance, if you map the template role Contributor to the component role Reader, users with Contributor access to the application will have Reader access to the component.

Workplace Designer provides a methodology to easily deploy components to the Workplace server to be used in Workplace applications. This involves creating a deployment profile in Workplace Designer. For more information, consult the Workplace Designer online help.



Back to top


Forms

Similar to Notes/Domino forms, a Workplace Designer form is the primary user interface for interacting with IBM Workplace components. Forms in the component allow users to input and display information. A component may have numerous forms. To allow the component user to navigate from form to form within the current component, the component developer can leverage the form properties or use UI controls.

The form is the central design element in Workplace Designer. In Notes/Domino application development, there are many different standalone design elements, including views, agents, and so on. Workplace Designer has one basic element, the form. To create a view, you must embed it in a form; to run the Workplace equivalent of a Notes/Domino agent, you must make it an event on the form, and so on. In addition, Notes/Domino defines data as part of the form design. Workplace Designer defines data in separate schemas, then the developer binds the UI controls to the schema elements. If you don't have an existing schema during form design, Workplace Designer can build the schema for you as you specify the data binding for the UI controls. Note that you need to create a component before you can create a form.

Workplace Designer offers several different ways you can create a new form. You can start with a blank form, import a form from a Domino database, or copy an existing form. When you create a new, blank form, you are prompted for the name of the form, a comment, and whether or not to (figure 2):

  • Create a schema for this form
  • Use an existing schema
  • Not use a schema


Figure 2. New Form dialog
New Form dialog

Form editor

To create, view, and edit forms, Workplace Designer includes the Form editor (visible in figure 1). You can use this graphical editor to arrange artifacts such as UI controls, buttons, graphics, and so on. These elements are added using the UI control palette (described in the following section). You can then drag and drop these components into the form.

Workplace Designer lets you perform data validation at several levels. Field level validation is related to field type and allowed values. Document level validation happens when multiple fields are involved in the validation process. Depending on the type of validation, it can occur on the client prior to submitting the data, or on the server prior to updating the backend document.



Back to top


UI controls

An important concept in Workplace Designer development is the UI control. These are graphical elements (for instance, a button or link) that users can interact with. Workplace Designer offers a large set of UI controls that you can add to your forms. These include edit box, multiline edit box, button, list box, combo box, check box, radio button, link, computed field, and image. These UI controls are accessible through the UI control palette (figure 3), located in the upper-right section of the Form editor interface.


Figure 3. UI control palette
UI control palette

You can select UI controls from the palette and insert them into the form you are designing.

View controls

As mentioned previously, one area in which Workplace Designer differs from Domino Designer is how it handles views. Views are UI controls that can be added to a form to display a collection of documents. In Workplace Designer, views are controlled through forms. To create a view, you must insert a view control into a form and then associate one or more schemas and individual fields to the view. View controls provide a means of separating the presentation of the view from the data that will eventually populate it. After inserting a view control into a form, you can modify the format of the control, similar to any other user interface control, using styles or custom formatting properties.

Container controls

A container control (as the name implies) is a UI control that can contain other UI controls. There are three types of container controls:

  • Panel is a rectangular area on a form to which you can add core controls. Panels can also be used to refer to other documents and to repeat over a selected XML node.
  • Table contains individual cells. You can add controls into the table cells.
  • View is a rectangular section on the form that contains rows and columns of data extracted from XML, based on a defined query.



Back to top


Events

A vital part of any development environment is event handling. Workplace Designer supports several types of event controls, including:

  • UI control events. Each UI control can have a set of client-side events. For instance, a button may produce an "on click" event. The code can be executed at either server side or client side.
  • Component events. These are standard IBM Workplace Collaboration Services events; for example, when a component is instantiated or when a member is added or removed to the Workplace application. These events are defined and handled at the component level, using a set of event global properties. (Note: An iFix is required to be applied to the server for this to work.)
  • Form/Document events. Form events support events on edit controls, such as open, close, onSave, postSave, and so on. Document events support the same events as form events.



Back to top


Scripting

As we mentioned earlier in this article, Workplace Designer includes a complete JavaScript scripting environment for developing applications. This lets you create relatively complex programs in an easily understood language. The scripts can run on either the server or the client.

The scripting environment includes script libraries for storing reusable code. Workplace Designer's JavaScript interpreter comes with a set of predefined, native libraries which expose all the major IBM Workplace Collaboration Services APIs. (The JavaScript interpreter also features a Java bridge that allows you to directly call any Java API.) You can also create your own script libraries of reusable script code, or copy/paste script libraries between components.

Workplace Designer's scripting environment also includes a script editor (see figure 4).


Figure 4. JavaScript editor
JavaScript editor

This editor is based on the Eclipse script editor, and includes features such as syntax coloring, type-ahead (code completion) and JavaScript class browsing.



Back to top


Deployment

Workplace Designer includes features that help you deploy the components you create to the Workplace server (see figure 5).


Figure 5. Edit Deployment profile screen
Edit Deployment profile screen

After you deploy the component to the server, it can be added to Workplace applications and application templates.



Back to top


Other Workplace Designer features

In addition to the features described in the preceding sections, Workplace Designer offers the following:

Sample applications

Workplace Designer comes with four complete sample applications that you can use to familiarize yourself with IBM Workplace application development. In addition, IBM will make other applications available via the Web that you can download for free and adapt to your own requirements.

Documentation and tutorials

Along with the online help documentation describing features and functions, Workplace Designer includes:

  • A step–by-step tutorial for building an IBM Workplace component (this is in the help).
  • IDE Reference describing the tool itself and its modules.
  • API reference listing public APIs, usage, and sample code.



Back to top


IBM Workplace Designer: new yet familiar

As you can see, Workplace Designer has plenty to offer anyone interested in developing applications for the IBM Workplace platform. Long-time Domino developers can apply their current skills in an environment that functions similarly to Domino Designer and that is based on industry standard technology. And advanced programmers can take advantage of Workplace Designer's extensibility to integrate with Java-based tools, while less experienced developers with no knowledge of Java can create full-featured programs using the script interface. Whatever your background, Workplace Designer will provide you an easy-to-use, yet powerful tool for creating Workplace applications. To learn more about IBM Workplace Designer, visit the IBM Workplace resource center.



Resources



About the author

Dick McCarrick is a content developer for developerWorks: Lotus. Previously he was a member of the Domino/Notes Documentation team for over 11 years, playing a variety of roles in documenting many major components of Domino and Notes. He also wrote the occasional article for Iris Today (including Ask Professor INI) before joining the Notes.net/Lotus Developer Domain team permanently in 2002. In his spare time, Dick's leisure activities include running, fishing, woodworking, and reading about the natural sciences. An avid astronomer, he's former director of the Bridgewater (Mass.) State College Observatory. Dick lives in Vermont.




Rate this page


Please take a moment to complete this form to help us better serve you.



 


 


Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top