The following article was jointly written by Jochen Rundholz and Lars Rueter from the NetWeaver Regional Implementation Group APJ.
In every SAP NetWeaver Portal implementation project you have to setup processes to create PCD content, to validate and approve it. Most implementation teams do manual checks which of course might lead to errors, so these processes and checks should be automated as much as possible. Most people don’t see how SAP supports this task automation, but in fact there are toolsets available to achieve exactly this. In this blog Jochen Rundholz and Lars Rueter from the NetWeaver Regional Implementation Group APJ would like to introduce the considerations and corner stones of a successful content creation and governance process.
2 The lifecycle of EP content
The lifecycle of EP content has many facets and some people might tend to break up the lifecycle into smaller pieces and consider them separately. We believe that it is necessary to view the lifecycle has a holistic process. This process spans from requesting content to the deletion of obsolete content. In this part of our blog we’d like to introduce the different parts of this lifecycle and point out important considerations.
2.1 Content Request
Content might be requested by any team, department or individual within a corporation. The requested content might range from a simple update of a news iView to the development of a completely new portal application. The request process has to cater for all these different kinds of content and still should be easy and simple to use. Providing different (paper) forms for different kinds of content is one option and usually the easiest to setup – but certainly not the easiest to use.
A better approach is to have some request application. This can be any kind of application for example a guided procedure, within such an application you are guided through all information necessary to define what content you might want to have. There won’t be any question about an application you might want to integrate if on the first screen was specified that a news iView has to be updated. Tools like theses – which have to be developed for each customer project – ensure that the (usually expensive) EP experts don’t have to cope with incomplete or wrong request and concentrate on their work. For example:
Choose what type of content you need:
And give the details appropriate for the above selected content:
One important feature necessary for the content request is the approval of the content before it gets implemented. Depending on your user role and the content you request there might be some pre-approval to speed up the process (You don’t want to wait 2 weeks until a news iView gets updated). For other content it might be necessary to get the approval of several people.
2.2 Content Creation
2.2.1 Enforcing Standards
The content creation is the central part to be automated. Consider an iView to be created and all the properties which have to be set according to some project specific standards, e.g. PCD folder, naming standards, etc. Reviewing that all these standards are met can take a considerable amount of time since an enforcement using the object creation wizards are not possible. Nevertheless it is possible to enforce standards – and dramatically lower the error rate – using tools around the generic creator. The generic creator is a tool ship with the NetWeaver portal to create content based on an XML description. It is necessary to develop these tools specifically for the project, though that’s fairly simple. See the next chapter for an extensive coding example how such a tool could look like. Imagine a situation where you want to copy a BI iView, looking for a template manually you typically find many different templates which look suitable. Every consultant helping out will most likely choose a different one. Using a tool as described above will end such a situation since in the tool’s standards is described which is the template to be used.
Of course such a tool could take the basic input already from the content creation request to even lower manual work. Documentation could be attached as well, etc. The possibilities to integrate all the necessary features for the content lifecycle are endless.
2.2.2 Global Organizations
Globally distributed organizations should put a special attention on the structure used in the PCD. Though there is no compulsory structure for the PCD, there are different approaches to support an organizational setup. The PCD structure could for example be structured like the regions where the business operates or by subsidiaries. Important is that a delegated content administration can be easily set up and that the content teams can find themselves in the PCD structure in one way or another.
Once the content is created it has to be transported into the test environment and later into the production system. In a portal environment it is very common to have all kinds of different objects belonging logically together, but they are spread across different systems. In addition to that for some objects there might not be the technical possibility to include them into a transport request. On a technical level most issues can be solved when CTS+ is used, on an organizational level other tools like Solution Manager ChaRM can be used.
Of course the newly created content has to be tested. The amount of testing depends heavily on the type of content created. When testing the new content test not only the features which are implemented but also all other aspects. Involve the security team to check if there are security flaws. Involve the basis team to check that the new content doesn’t have a major performance impact.
2.5 Content go-live
You’re done! Now your content can be set live. Stop, you’re not done. The content lifecycle doesn’t end here. Imagine how large the pile of your content objects will grow if you never clean it up.
2.6 Finding and deleting obsolete content
The last – and recurring – step in our content lifecycle is to find out if your content is used and what to do with it if it is not used. SAP provides a tool to support you in such a task: Activity Data Collector (ADC). This tools writes very detailed statistical records about the used content, you even can find single KM documents you can delete because they are not access anymore.
3 Tool based Content Creation
This section introduces a prototype for the semi-automatic creation of portal objects (iViews, pages, roles, etc). The main aim of this prototype is to enforce certain governance standards when new objects are created and to add an approval and tracking capabilities for object creation. The requesting user can still define certain properties like object name and description, however most settings are predefined in project settings. All portal objects have to be assigned to a project at the time the request is created out.
Main improvements for portal content creation
• enforce governance standards
• approval process and tracking enhances auditability
The prototype was implemented fully leveraging the capabilities of the SAP NetWeaver platform. The core components are Java EE 5 beans providing the project configuration and generation PCD content from project settings. The process layer is based on NW BPEM. Human interaction steps are realized in WebDynpro.
• WebDynpro for UI
• NW BPEM for process integration
• Java EE 5 Beans running on SAP NetWeaver AS
• SAP NetWeaver Portal Generic Creator API to create PCD content
The figure below shows the different components of the prototype and how they relate to each other.
3.2 Process Details
In the prototype only a simple one step approval has been implemented. But since NetWeaver BPEM was used, the scenario could be a lot more complex including runtime process configuration options using the integrated rules engine.
In the first step a user creates a request for a new portal object (URL iView in the SAP Tutor example). The request is submitted and needs to be approved by an assigned project manager. Once approved the object is automatically created in the PCD. The PCD folder structure and access permissions are generated as defined in the project settings.
The following images show the different steps of the process. In the first screen you see the form used to request a new portal object. In this form you have to select a project for the portal object. Governance standards are enforced because the object inherits settings from the projcets. These settings include namespace, permissions and PCD location.
In this screen the object type is selected.
Next a confirmation screen is displayed and the request has entered an approval workflow.
The approval request is displayed in the Universal Worklist of the project manager.
Once approved the portal object is created in the PCD and is ready to be used.