As we described in previews blogs, modules for Enterprise Workspaces can come from various different sources. Modules will be shipped out-of-the-box with the product, we encourage SAP partners to develop and ship modules for Enterprise Workspaces, already available iViews can be “transformed” to be modules in few clicks, and you can build custom developed modules by your own.
Today I would like to share with you some more details about how to build your own custom developed modules for Enterprise Workspaces.
Four main steps are required to create your own custom developed module:
- Develop your own portal application based on the extended component model of Enterprise Workspaces
- Deploy the portal application on the SAP NetWeaver Portal server
- Create an iView out of the deployed portal application
- Wrap the iView as a module – as described in the following Leverage existing SAP NetWeaver Portal content in Enterprise Workspaces
So, why do we need this extended component model for Enterprise Workspaces?
The main idea behind the extended component model is the ability to develop portal applications which are aware of the context of the workspace they are running in, and can react to workspace events.
For example, imagine you would like to develop your custom member list module. In order to achieve this, you need the public API which will expose the member list of the specific workspace. The “traditional” portal component API’s does not expose this information, and hence we must use the extended component model API’s to develop such an application, module.
The extended component model API’s provide access to the following moduleworkspace data with public API’s:
Extending the workspace content
- Accessing and changing module settings
- Storing module runtime content
- Detecting user role in a workspace to implement role-dependent behavior
- Responding to page events (add
emove module, module setting change, etc.)
- Creating a personal or shared workspace
- Searching for workspaces
- Retrieving workspace metadata
- Accessing and changing workspace properties
- Changing workspace status
- Closing a workspace
Managing workspace members
- Accessing workspace member list
- Adding member to a workspace
- Removing member from a workspace
- Changing member role
- Changing workspace ownership
Bellow you will find the code sample to be used in order to retrieve the member list of the workspace. Don’t forget to add the tc~workspaces~api_api.jar to the project Java build path and add a private sharing reference to tc~workspaces~api in the portalapp.xml file.
That’s it! This is all you need to know about developing custom modules for Enterprise Workspaces.