Part I – Introduction and motivation, presentation of the application
Part II – Creation of the J2EE project in SAP NetWeaver, adding GWT to the project
Part III – Creation of an EAR, deployment, creating a Portal IView
Part IV – Adding backend functionality, getting the current portal user
Part V – Adding AJAX user search
Introduction and motivation
While getting to know typical administration tasks in our companys SAP Portal, I quickly wished for a more intuitive and – above all – more responsive tool for viewing and minor editing tasks in PCD navigation trees. You may already know SAPs standard Portal-Content editor and I’m probably not alone with ideas for improvement in functionality and usability.
SAPs Portal Content editor
The following list of nuisances is highly subjective and certainly not comprehensive. Its intention is to motivate the development of a tool that eases some of the use-cases not explicitly covered by SAPs standard tools.
- Finding entry points and finding all nodes that will be merged together can be tedious for new administrators that don’t know a companys (usually unwritten) rules concerning PCD.
- There’s no easy possibility to find out which navigation nodes are visible to a certain user.
- Editing properties of navigation nodes (especially the sort priority) is possible, but you don’t get immediate feedback about effects of your changes.
Presentation of the GWT application
Now, with this list of missing use-cases in mind, it is not too hard to design a GWT application simplifying access to portal navigation. Thanks to Sergey Zavarzins excellent article “Using Google Web Toolkit (GWT) for Developing AJAX-Based Web Applications for the SAP NetWeaver J2EE Framework” getting started with GWT in SAP NetWeaver was not too hard.
- The entire PCD tree or a selected subtree can be used
- Displays the PCD navigation tree with entry points as roots
- Sort priority is updateable, changes are visible immediately
- Merging and sorting is made visible
- Serverside caching of the entire PCD tree to enable fast lookups
- AJAX-search for PCD users
- Filtering PCD nodes that are not visible to a selected user
- List all PCD nodes that have an explicit permission for a certain user
- Thanks to GWT: Compatible to all major browsers (IE, Firefox, Safari, Opera)
Primarily this application was intended as a feasibility study for using GWT in an SAP Portal environment with access to portal backend functions. But over time it proved to be very useful for everyday tasks of portal administrators. Over the course of this blog series, I want to show how the application was implemented, issues I encountered and workarounds for them. Certainly there’s room for improvement and I’m very open for questions, suggestions and hints to make this application better.
Here’s a short video (video only, no audio) showing typical tasks performed with the application:
- The PCD is beeing cached on the server side
- The PCD tree is beeing expanded
- User search is demonstrated, the Tree filters out elements not visible to a certain user
- sort priority of some PCD nodes is changed, the change is commited to PCD and visible immediately
- PCD nodes a certain user has direct permission to see are shown