1 2 3 37 Previous Next

SAP Enterprise Portal

551 Posts

Introduction


A recommendation was recently put to me through an SCN Associate regarding the possibility of developing a blog posting which covers the Portal and the Context Navigation Panel (CNP). I believe covering a blog on this topic base is a great suggestion and can perhaps help offer additional insight into the "inner workings" behind the Enterprise Portal and the element containers which support it's overall functionality .



EP_FRAME_image002.gif

 

So what is the Context Navigation Panel?

 

The Context Navigation Panel is also referred to on some occasions as the Contextual Navigation Panel and the CNP for short. All three naming references are in association to the same instrument container on the Enterprise Portal. As we know with different complex Netweaver environments different naming references and abbreviations can cause a great deal of confusion therefore to keeps things in perspective in this instance we can draw all three names to the same element.

 

 

 

 

DTN.PNG

 

 

 

 

 

 

  • The Context Navigation Panel (CNP) is essentially a configuration container displaying navigation nodes within the Enterprise Portal (EP) and is holstered within the DTN within the left hand column of the Portal UI.
  • As a default standard the Contextual Navigation Panel displays all Workcenter Roles.
  • You can consider the Contextual Navigation Panel as the means through which Roles are displayed to end-users in the Detailed Level Navigation.

 

 

Roles displayed by Default?

 

As mentioned above as a standard the Context Navigation Panel (CNP) presents users with Workcenter Roles without the requirement of any pre-configuration.

 

  • Workcenter Roles are essentially the context navigation units in association to the Enterprise Portal. In layman's terms end-users interact with such navigation units through the form of pages/iViews, worksets, folders, and documentation units.
  • There are two types of roles in association to the Context Navigation Panel (CNP) which are (1) Workcenter Roles & (2) Freestyle roles.
  • A Workcenter Roles shares common trains with that of a freestyle role although Workcenter Roles are primarily utilized to define and conjoin Portal interaction and layout in accordance to business requirements.
  • Freestyles Roles as the name suggests are in true essence are more flexible and free willed in scope.


Creating & Editing Workcenter Roles: (Determines What Will Appear in the Navigation Panel)

 

 

Remember


  • The default setting of the CNP means that all Workcenter Roles are displayed within the navigation panel without any additional reconfiguration.

 

Context Navigation Panel Vs Detailed Navigation iView

 

The means in which Workcenter Roles are displayed to users by default is through the CNP (Contextual Navigation Panel). If required you can change this approach of display to to the "Detailed Navigation iView".

 

  1. Login to the portal from desktop.
  2. http://<host>:<port>/portal
  3. Navigate to the "Ajax Framework Page".
  4. Within the "Ajax Detailed Navigation" iView in the Ajax Framework Page.
  5. Locate the "Navigation Panel Mode" property setting.
  6. Set the parameter to "Always Use Detailed Navigation iView".

 

You can perform this check and review via the path below:

 

  • PCD Path: pcd:portal_content/every_user/general/defaultAjaxframeworkContent/com.sap.portal.AFPpage

 

Configuration changes determine the way in which content elements is presented to our Portal Users and the means of which such presentation is defined is dependent on user preference and business requirements. The Navigation Panel (in which the CNP/DTN) operate contains Navigation iViews which operate based on the information displayed within the Portal Content Area.

 

  • The Navigation iView will only appear if it is handling content assigned to a users task.

 

Important

 

When creating a content that contains navigation nodes with the same merge priority, same sort priority and even the same node name, it can on some occasions cause inconsistent nodes ordering because that the order in this situation depends on what will be the node order in query result from the database and this result changes from query to query.


Customizing the Display?


As with any Portal protocol that involves editing/creation, careful planning and diligence is required. After all we do not want to create themes which contribute negatively in terms of aesthetic appeal to the overall look and feel of the Enterprise Portal.


So you have taken the decision to go and create a custom theme using the Theme Editor. Through utilization of the Theme Editor you are able to create multiple themes for all Portal Users. Each theme you create (custom theme) is based upon a SAP Standard Theme template with which you tailor the visual elements to meet your own organizational business requirements.


The CNP & Navigation Panel is of no difference and you may need to perform some customizing in order to tailor the display to your liking.


For example you might want to change the color coding, background images or general balance of display.


  • Adjusting these parameters requires a knowledge of how the specific parameters are mapped to Runtime Stylesheet definitions

 

Some elements of the DTN itself are composed of PNG images which means they are separate parts from the one entire background of Detailed Navigation Pane.

 

To clarify the AFP DTN is rendered using images, so you can brand it by replacing the images rather than setting background colours (this gives the more attractive 3-D style to the AFP). For instance, you can set the background image for a selected item using the 'URL to Background Image of Down State of Item' element in the 'Outer Frame of AJAX Framework Page' > 'Detailed Navigation' area.

 

 

Regarding the Ajax Framework Page itself in true essence it is nested above normal portal Outer Frame which means you have to do 'TLN' and 'DTN' customizing against 'Outer Frame of AJAX Framework Page' instead of 'Portal Outer Frame'.

 

As per our product design, the Ajax Framework Page 'DTN' is rendered using images, so you can ONLY brand it by replacing the images rather than setting background colours.


Issues With Branding (Customizing e.g. Color Changes)


You should be able to achieve the desired look and feel by modifying the theme parameter using the Update Customer Portal Theme Parameters tool - this allows adjusting of theme parameters that are not exposed in the theme editor.

 

  1. Navigate to Support > Support Desk > Update Customer Portal Theme Parameters.
  2. From the drop down menu labeled 'Browser' choose 'default'.
  3. From the drop down menu labeled 'Parameter' choose 'AFPDtnTextColor'
  4. After choosing a parameter all themes that can be adjusted appear below the parameter.
  5. After you have adjusted all neccessary parameters press "Set Value" and "Save and Generate".
  6. If the changes do not become visible immediately, delete the browser cache, open the theme you have adjusted in the theme editor and press there "SAVE" too.

 

  • The primary point of analysis here is to locate the correct theme class.


For the AJAX setup the relevant parameters are:


  • AFPDtnSubViewItemNormal,
  • AFPDtnSubViewItemHoverColor,
  • AFPDtnSubViewItemDownColor.


Removing the Contextual Navigation Panel?

 

You can indeed removed the Contextual Navigation Panel if better suited to your business requirements and operational setup.

 

  • Through Removing the 'Contextual Navigation Panel' value from 'Navigation Panel Mode' within the DTN you remove the subsequent display from the Ajax Framework Page (AFP).

 

Are you missing Roles?

 

On some occasions problematic scenarios can arise with the CNP which can relate to missing role types or invalid displays in terms of levels and entry points.

 

If this behavior is noted in your system environment there are a few methods of analysis to follow to try and eliminate potential root sources and pinpoint the exact cause of the issue.

 

Firstly especially in the case of a recently performed upgrade check the following:

 

  • Is the issue occurring for each and every user/in all Web Browser Platforms?
  • Is the scenario reproducible in all Portal Theme/Framework combinations?

 

Now after performing the analysis steps outlined above and you still find the Portal Roles are missing we need to dig a little deeper to identify the root source.

 

If you have recently performed an upgrade and jumped significantly in terms of versions e.g. 7.0 -> 7.4 check whether the old navigation cache is disabled.

 

 

  • Open the browser and navigate to: http://host:port/irj/servlet/prt/portal/prtroot/com.sap.portal.navigation.service.NavigationCacheMonitor
  • If the "Cache" property is displayed as enabled,
  • Open the Administrator setup and navigate to: Global Configuration -> Server -> com.sap.portal.prt.sapj2ee.prt
  • Set the portal.navigation.cache.enable property to false
  • Save the modification (click in on update and on the "Floppy" button).
  • Restart the cluster.
  • System administration >> system configuration >> services >> application com.sap.portal.navigation.service use.hashed.urls >> Set to " false "
  • System administration  >> cache management >> navigation cache >> clear

 

In the case of an upgrade next in order to check file synchronization has been successful you can follow SAP Note: 710663 to set the bootstrap properties to FORCE in order to force a file synch. The bootstrap module of J2EE Engine 6.30/6.40/7.0 is responsible for keeping the file system files up to date with all the updates performed in the database. It has one functional property that should be modified in order to achieve different goals on the system. The property's name is: element.resynch

 

  • The properties file for the bootstrap process is located under : <j2ee-home>\cluster\bootstrap\bootstrap.properties
  • Set to this property to:  force - totally ignores the local pre-computed values and recalculates all the local hashes from the files themselves. Any kind of change made on the binaries of the installation will be immediately detected and reverted. This mode runs slower than the default behavior and is most suitable for cleanup after any unattended modifications on the binaries.

 

Troubleshooting Reference Documentation:

 

With the release of 7.50, EP now runs with SAP JVM 8, which is JDK 8 compliant Java VM, to keep up with the speed of innovation and enable customers to benefit from new Java features.

Here is some info that may assist you you understand the differences and issues you may encounter migrating from older java versions.


  • Java 8 provides some new cool features like Lambdas and Concurrency, new Date Time API, Nashorm Javascript , Interface Default , Method reference and more.
  • You may now use this in your portal application running in EP 7.50 !
  • However , it also have some pitfalls. Some of them are incompatibilities with older java versions.


 

All SAP applications provided with EP 7.50 are compatible with Java 8.

You may want to inspect and fix any custom application that you have to make it Java 8 compliant.


Sample issues that you may encounter in your java code related to Java version:


1. Dependencies changes:

With Java 8, when using a class, the interfaces it implements must be on the compile classpath as well. With Java 7, it was enough that the interface was on the classpath while compiling the used class.

Given a jar api.jar containing an interface, and a jar api-impl.jar containing an implementation of the interface. While compiling source code that is dependent on the concrete implementation, you obviously need api-impl.jar on the classpath. With Java 8, additionally, you need to have api.jar on the classpath, even when you do not reference the API.

 

2. Deprecated and removed APIs:

assert / assertTrue deprecation:

 

    response.assert(ok," : default value is not null","1002001"); --> deprecated and will not compile with java 8
    response.assertTrue(ok," : default value is not null","1002001"); --> will compile correctly.

 

PreparedStatement interface has new methods, so if you have class implementing it, you should add new methods:

class PlStmt implements PreparedStatement
{..
.
public void closeOnCompletion() throws SQLException{....}
public boolean isCloseOnCompletion() throws SQLException{....}
public long executeLargeUpdate() throws SQLException{...}
public void setObject(int parameterIndex, Object x, SQLType targetSqlType,int scaleOrLength) throws SQLException{...}
public void setObject(int parameterIndex, Object x, SQLType targetSqlType) throws SQLException{....}
...
}

 

 

You can use the following link for learning the exact incompatibilities of Java 8 with previous versions:

 

The suggestion is first try to build your applications with SAP JVM8 and fix any build issues, afterwards try to deploy and execute it.


Further reading for your reference:



Still have questions? Post them in the migration and upgrade forum.


Thanks!

Tal

Backdrop: As per your business requirements you have created a search index in Knowledge Management (KM) to search for Enterprise Portal pages or iViews.



mag.png


Issue: When using the search mechanism you are unable to find a specific page or iView.


Prerequisites: You have configured the Page/iView search in accordance to the index management service and Portal Content Directory (PCD).


 

How to Search & Test the Behavior

 

  1. After configuring the search for portal pages and iViews as per guidance documentation outlined above.
  2. Login to the Enterprise Portal.
  3. Try to search for a specific iView or portal page from the KM Search iView.
  4. The expected result is not displayed as the iView or page is not found and returned to the end user.

 

Why is this occurring (Important) ?

 

When you use the KM search for portal pages and iViews, you can only search for content for which you have the correct roles assigned.

 

  • If you do not have the appropriate role, you will not be able to search for its content.

 

Resolving the issue

 

  1. Navigate to User Administration -> Identity Management.
  2. Search for the relevant user id.
  3. Select the modify option.
  4. Assign your user the appropriate user role which contains the page or iView.
  5. Save your changes.
  6. Perform your search again.


SearchForUser.jpeg


SearchForUser2.jpeg

 

Now if you perform the search again is the correct result (Page/iView) returned?

Introduction


Part One of this blog series covered the fundamentals behind the SAP Fiori Development and touched base on the makeup behind Fiori, Fiori Applications and the utilization of SAP Fiori Launchpad on Portal.

 

In this blog we will cover the integration between the Fiori Launchpad & the Enterprise Portal. As Fiori is relatively new & "fresh" in terms of large scale utilization it is beneficial to cover the basics before delving into anything too complex .

 


FLPINTEGRATION.PNG

Checks & Pre-Requisite's

 

As with any installation and system landscape one of the core recommendations is to always ensure that you have the latest SP's (Support Packages)  and Patch Level Releases applied to ensure potential issues are avoided and put to one side .

 

Now the SAP Fiori Launchpad on Portal is available only for newer Product Version(s) Release(s)

 

  • Netweaver (NW) 7.31 Support Package (SP) 12+
  • Netweaver (NW) 7.4 Support Package (SP) 7+

 

To cross reference compatibility and technical release information for further insight a review of the SAP PAM (Product Availability Matrix) is encouraged and recommended:  https://support.sap.com/pam.


Configuration Setup (Step By Step)


Phase 1 - Overview


The first point of configuration in terms of setting the SAP Fiori Launchpad on Portal up is to enable the property settings accordingly and this will be performed by a validated System Administrator who holds valid authorizations.

 

 

 

 

Phase 2 - iViews


Now after the URL Alias has been defined and the Master Rule Collection has been reviewed and checked in accordance to business standards and requirements the next steps are regarding the iView and Page Setup.

 

The SAP Fiori Launchpad adds a fresh dimension to iView display as such a presentation is returned to the End-User in the form of Fiori Tiles as opposed to the familiar Portal iView standard.

 

In this phase we define which iViews & Pages are going to be defined and returned to End-Users in the form of Tiles & Catalogs. There are two types of tiles which can be defined in association to iView displays with each offering their own sense of suitability for business preference:

 

 

  • Static Tiles: consistent and standard information which maintains a defined display.
  • Dynamic Tiles: as the name suggest the setup here is based on regularly changing information through oData.

 

In order to determine the Tiles (iViews) and define the setup:

 

  1. Login to the Enterprise Portal
  2. http://<host>:<port>/portal
  3. Navigate to "Content Administration" & then "Portal Content Management".
  4. Locate the "Portal Catalog"
  5. Select the iView of interest (from Portal standpoint)  and open the context menu.
  6. Open the iView properties through "Open", "Properties" and make the change for FLP (Fiori Launchpad) display.
  7. Once the change is made you need to select "Modify Properties" and Save your changes.

 

Phase 3 - Catalogs & Categories

 

In high level terms we can refer to "Catalogs" & "Categories" as the means of grouping applications. Let us revert back for a second and re-reference the types of applications we can use in association to SAP Fiori.

 

  • Analytical Applications
  • Transaction Applications
  • Fact-sheet Applications

 

The three application types are diverse and can be tailored dependent on your own business requirements within an organizational establishment.

 

  • 20 Categories can be holstered within the Properties Editor (2 of which are default standard).

 

There are two application listing types here:

 

  • General: unassigned applications which are not explicitly defined in correlation to a category.
  • Recommended: suggested and advocated applications which appear as potential tags.

 

From personal experience there is a very important point to highlight here.

 

  • A category will not be displayed if there is no applications defined in its association.

 

To set Catalogs & Categories:

 

  1. Login to the Enterprise Portal
  2. http://<host>:<port>/portal
  3. Navigate to "Content Administration", "Portal Content Management".
  4. Locate the "Portal Catalog"
  5. Navigate through "Portal Content", "Portal Users", "Standard Portal Users", "iViews", "Fiori Launchpad", "Fiori Launchpad Categories".
  6. Select & Open the "Fiori Launchpad Category".

 

Within the editor you need to ensure that each of the following are defined:

 

  • Category ID which is the unique identifier.
  • Category Order which determines the precedence and order of categories within the tile catalog.
  • Category Title i.e. the name of the catalog.

 

Now you need to assign an iView to the category which has just been defined in order to get it to display and return it to end-users.

 

 

  1. Open the iView properties through "Open", "Properties".
  2. Select "Personalized Launcher" within "Category Assignment" and fill in the identifier ID's
  3. Any category definition should be separated through the use of a semi-colon.

 

 

Phase 4 - Navigation & the FLP


In this section we are going to determine the way in which the FLP returns its element in window display to our end users. From a high level perspective we need to consider this in terms of work feasibility and requirement suitability.


Some of the options available here include:

 

  • FLP within the Portal Content Area (central window element of the Enterprise Portal) where standard applications are rendered.
  • Display within a separate Window (newly opened tabular window)
  • Separate headerless Window (conjoined to the Portal Session, but opened within a headerless framework window) quirks mode (older)
  • Separate headerless Window (conjoined to the Portal Session, but opened within a headerless framework window) standards mode (newer)

 

Setting the Navigation Type

 

  1. Login to the Enterprise Portal
  2. http://<host>:<port>/portal
  3. Navigate to "Content Administration" & then "Portal Content Management".
  4. Locate the "Portal Catalog"
  5. Select the iView of interest
  6. Open the "Properties Editor" and select "Show Category" and click "Navigation"
  7. Determine and define the navigation means of preference as described above and save your changes.

 

Phase 5 - Resetting User Displays Personalization


If you wish to reset the display settings for users i.e. personalized settings this can be done through property editing or removing the personalization property data for com.sap.portal.navigation.flp.pl.UserData.

 

  • This needs to be performed by System Administrators

 

In my next Fiori blog posting I will be covering the FFP (Fiori Framework Page) and its association to the Enterprise Portal.

Introduction

 

In Italian the word Fiore means flower and as we know in purely environmental terms flowers in their purest form represent naturalism and add a degree of alluring beauty to any landscape. You will be pleased to know that this blog posting is not directed towards descriptive overviews on the natural environment but rather software and the way it is presented and interacted with.

 

This blog posting covers firstly the characteristics and principles behind Fiori's Development & secondly its relationship with the Enterprise Portal.

 

Enter SAP Fiori

 

In the modern world of software technology, aesthetically pleasing displays which demonstrate consistent synergistic "look & feel" displays across complex environments are a cornerstone for successful business processes. Successful UI's (User Interfaces) incorporate must always incorporate multiple element principles and characteristics to be deemed "effective". SAP Fiori is the latest hot topic software making strides in the workplace and organizational environments.

 

What is Fiori?

fiori.jpg


SAP Fiori in true essence can best be described as a platform conduit which is used for Mobile Applications and is directly derived from NW (Netweaver). The best way to think of SAP Fiori is as a freshly updated interface that is utilized to interact with SAP S/W (software). As we know SAP already offers a broad and comprehensive set of different software program mechanisms that cover diverse functions from everything to "Purchase Orders" to "Leave Requests".


From a simple standpoint we can look at Fiori as the new updated way of interacting and seeing this applications in terms of display but SAP Fiori provides a little more than aesthetically pleasing displays (further reading: http://help.sap.com/fiori).

 

Why Fiori


Independently created software or corporately driven software have a commonality which is that there are both subject to reviews from their end-users. End-Users and the experiences they report with software & applications are used as a critical platform from which benchmarks standards are derived in order to define, create and subsequently deliver a high quality standard software.

 

Fiori puts the User as the central point of attention and provides a simplistic, aesthetically pleasing and modern interface which is simply consistent and diversely functional.




FIORI2.PNG


Fiori & The Portal

 

Ok so as we discussed above there is a working relationship with Fiori and the Enterprise Portal. As we established previously in layman's terms Fiori can be regarded as a fresh-faced UI Presentation Layer. However there is an additional context to Fiori which is Fiori Applications, or Fiori Apps for short and these are broken across three spectrum's.

 

  • Analytical Applications
  • Transaction Applications
  • Fact-sheet Applications

 

Over the last 18 months Fiori has become quite prevalent in declaring its association and relationship to the Enterprise Portal . The primary aim of this blog series is to cover the basics surrounding Fiori to convey it's purpose, functionality and lastly its integration within the Portal.


 

Fiori Launchpad


flp.gif

 

The SAP Fiori Launchpad (FLP) is the functional body which essential holsters these Fiori Apps (Transaction, Analytical, Fact-Sheet). The FLP for end-users is the navigational means of accessing and interacting with these applications from a performance perspective. By "Performance" here I am making reference to the operational capabilities of these applications, functional flow, interaction and overall visual display. When we consider the Portal as a central point of access for multiple resources and applications we can also consider the FLP to be a central point of access for Fiori Applications.

 

flp2.PNG

 

Using the FLP on the Portal.

 

The Fiori Launchpad can be utilized alongside the Enterprise Portal and this is regarded as the "Fiori Launchpad on Portal".

 

The "Fiori Launchpad on Portal" can be interacted with in two primary ways

 

  1. Via Desktop
  2. Via Mobile Devices

 

The primary driver behind the utilization of the Fiori Launchpad on Portal is to provide end-users with the practical experience that Fiori itself offers.

 

The utilization of the Fiori Launchpad on Portal shares the same approach delivered within the normal Enterprise Portal environment although the way such an experience is display is different!

 

FIORI3.PNG

 

As we know the interaction with the Enterprise Portal is focused around a display container holstering a "Masthead", "Top-Level Navigation (TLN), "Content Area", & the "Detailed Level Navigation (DTN)". The SAP Fiori Launchpad on Portal incorporates the same elements but displays them in a different method through the use of Tiles & Catalogs. Both the Enterprise Portal & The SAP Fiori Launchpad on Portal adopt the same role approach i.e. Administrators maintain control over what content is displayed and can be utilized by end-user bases.

 

 

Try Fiori for Free (Trial)

 

https://www.sapfioritrial.com/

 

 

In Part 2 I will cover the FLP (Fiori Launchpad) Setup within the Enterprise Portal.

Backdrop: When running a KM (Knowledge Management) Setup alongside the EP (Enterprise Portal) environment you find yourself being unable to access KM Resources when using anonymous access due to error references e.g. 404/403

 

What functionality is affected?


It is not possible to access a Knowledge Management resource using a link from an email notification.

 

Anonymous Access - What is it?

 

Put simply anonymous access is a mechanism that permits and allows User Bases to access content without the need to authenticate (via the standard login process) via the Enterprise Portal.


AnonYmous.PNG


Anonymous Access - Errors Encountered

 

  • "Error 404 Resource not available" or "access forbidden(403)"

 

Testing the Behavior

 

  1. Login to the Enterprise Portal
  2. http://hostname.domain.com5000/irj/portal
  3. Click on a link to a KM resource sent via a notification email
  4. Do you encounter any error exceptions here preventing you from gaining access to a resource?
  5. You might be encountering a "Error 404 Resource not available" or "access forbidden(403)".

 

What could be causing this error?

 

  • Firstly its imperative to ensure that the resource itself (trying to be accessed) is maintained in a consistent state i.e. it exists.
  • Secondly if you have anonymous access configured this means users can only access resources via links for which anonymous users have read permissions.

 

Rule Out Possible Root Causes

 

If you have experience with the Enterprise Portal and have encountered an issue in the past you will most likely be familiar with being requested to gather, obtain and collect trace info (Information) for a Knowledge Management (KM) WebDAV or a Portal Drive Scenario.

 

In order to troubleshoot issues accessing KM Content it might necessary to gather debug tracing on the engine as well as getting a HTTP trace of the scenario involved. This will show the requests and responses that are sent to the resource and can help you determine to determine why the issue occurs.


  • Log information pertaining to Knowledge Management is stored by the system in the defaultTrace.trc file.
  • This file is stored in the .../j2ee/cluster/server<n>/log directory.

 

Limitations with Anonymous Access

 

  • Once you have configured the KM prerequisites you need to then create a role for your anonymous users.
  • You can then assign iViews to this role to display your anonymous content to your end users.
  • If you still encounter the "Error 404 Resource not available" or "access forbidden(403)" we need to remember that anonymous access does have limitations.
  • Users can still use their UWL (Universal Worklist) inbox to view notifications or access resources for which notifications have been created
  • If you wish to provide users with a direct link to a resource you can also manually send a link to it using a different servlet path e.g.
  • http://<host>:<port>/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/abc.txt
  • The user will then get an authentication request when opening the link

Backdrop: Errors present us (user bases) with a wide range of functional issues which can pose threats in terms of loss of functionality, operational performance, application setups and everyday work processes.

 

While operating through a NW (Netweaver) Java Application Server environment error exceptions can occur on occasion for a whole hos of different reasons and pinpointing the root source of such occurrences is the key to their subsequent resolution and future prevention.

 

Tracing: If you have experience with the Enterprise Portal and have encountered an issue in the past you will most likely be familiar with being requested to gather, obtain and collect trace info (Information) for a Knowledge Management (KM) WebDAV or a Portal Drive Scenario.

 

Tracing is not restricted only to KM, WebDAV or Portal Drive.

Tracing can be used across the entire Portal to view underlying system operations and error exceptions

 

  • KM:Through the KM functional unit, SAP NetWeaver provides a central, role-specific point of entry to unstructured information from various data sources.
  • WebDav: Generally, access to resources (documents, folders, and links) in Content Management is performed by a WebDAV servlet.
  • Portal Drive: used in the assignment of KM folders to Windows drive letters

 

 

 

mag.png

 

KM, WebDAV, Portal Drive - Tracing Relations

 

In order to troubleshoot issues accessing KM Content via WebDAV it is necessary to gather debug tracing on the engine as well as getting a HTTP trace of the scenario involved. This will show the requests and responses that are sent to the WebDAV server in order to determine where the issue occurs. You can gather both traces simultaneously. It is important that this additional tracing is only carried out when you are reproducing the issue to avoid any performance problems.

 

Increasing Trace Levels

 

ChangeSeverity.JPEG

 

  1. Open the Visual Administrator tool
  2. Navigate to Services -> Log Configurator -> Locations
  3. Switch to Advanced Mode
  4. Navigate to com -> sapportals -> wcm -> protocol -> webdav -> server.
  5. Follow the same procedure for the following locations:
    • com.sapportals.wcm.protocol.webdav.server.WDServlet
    • com.sapportals.wcm.protocol.webdav.server.WDGetHandler
    • com.sapportals.wcm.protocol.webdav.server.WDPutHandler
    • com.sapportals.wcm.protocol.webdav.server.WDCopyHandler
    • com.sapportals.wcm.protocol.webdav.server.WDDeleteHandler
  6. If a location doesn't already exist you need to add a new controller by selecting 'New' at the bottom of the screen
  7. Type in the name of the new controller, e.g. com.sapportals.wcm.protocol.webdav.server.WDGetHandler
  8. After you have added the above locations with severity 'All', save your changes making sure you apply them to the relevant server(s)
  9. Set the severity of WDServlet to 'All'
  10. Reproduce the issue accessing a resource via WebDAV or Portal Drive 
    • Attach the resulting defaultTrace.X.trc file to your customer Incident which can be found at
      \usr\sap\<SID>\<instance_name>\j2ee\cluster\server\log
  11. Remember to reset the trace locations back to their original severity in order to avoid any performance issues

 

 

HTTP Trace


  1. Clear the cache from your web browser
  2. Open the Visual Administrator tool
  3. Navigate to the HTTP Provider of the Dispatcher opening the Properties tab
  4. Set the HttpTrace property to 'enable'
  5. Set the HttpTraceTime property to 'true'
  6. Reproduce the issue accessing a resource via WebDAV or Portal Drive 
  7. When you have finished you should disable the HTTP tracing again, i.e. set the HttpTrace property to 'disable' and set the HttpTraceTime property to 'false' .
  8. Attach the resulting req-resp.trc file to your customer Incident which can be found at
    \usr\sap\<SID>\<instance_name>\j2ee\cluster\dispatcher\log\services\http\req-resp.trc

HTTPProvider.JPEG

 

Important

 

It is important when reproducing the issue that you take note of the KM resource that is being accessed as well as the time you reproduced the issue, you should include this information in your customer Incident.

Hello Friends,

 

Agenda:

               Make a Portal Service to listen UME activities and perform operations as per requirement. We can listen like user\role\group addition or modification.

 

Lets start step by step , I am showing how to log UME activities in Developer traces :

 

 

1)     Create an Enterprise Application from File->New-> Create a Portal Project and then create a Portal Service in that project.

 

2)     Service will create 2 files i.e. Service interface and Class to implement Service interface.

 

3)     Now include com.sap.security.api jar . This will provide User\Role\Group listeners , listener is interface (UserListeners, RoleListeners, GroupListeners). So we have to implement these interfaces to listen UME activities. You can implement these listeners in the same class that is implementing service interface. Lets take an example of RoleListener.

 

4)     First we have to register Listener , below is the code to register . Like below code we can register for other listeners as well.

 

          RoleListener roleListener = new "Classname that is implementing RoleListener"();

          IRoleFactory userFactory=UMFactory.getRoleFactory();

          userFactory.registerListeners(roleListener, RoleListener.INFORM_ON_USER_ASSIGNED);

        

5)     RoleListener interface has some methods that will come automatically after implementing . So leave those methods blank which you don't want to listen. Like I am using INFORM_ON_USER_ASSIGNED , so as per my requirement i'll get data in method public void userAssigned (String arg0 , String arg1) throws UMException{} only.

 

6)     Now I want to check "which role is modified" , "assigned userid"  , "who modified" and at what time .In method userAssigned , arg0 is role name and arg1 is  username. To get who modified role you have to put below code and for time just add date variable:

 

          IUser user=UMFactory.getAuthenticator().getLoggedinUser();

          Date date=new date();

 

7)     Import com.sap.tc.logging.Location to log entries . Use logger wherever you want to log entries.

 

 

Now you will be able to implement Service and find out who is performing Security activities.

 

Hope this is helpful......

 

Thanks You,

Regards,

Mayank Jain

Backdrop:

 

When using the SAP Enterprise Portal (EP) within an NW Environment in a large organizational landscape business requirements may require different linguistic and language settings for multiple user bases.

 

 

 

WL-logo.jpg

 

 

 

 

 

 

Portal Languages & How They Are Maintained

 

Now regarding this scenario and the languages used in the Enterprise Portal there are a few important points to highlight. The language that the portal is displayed in depends on the following hierarchy, with the languages at the top of the list taking precedence over those at the bottom.

 

  1. Component (iview) language (defined in the portalapp.xml)
  2. Portal Mandatory language (defined in the prtDefault.properties)
  3. User language (defined in the user#s profile).
  4. Request language (defined by the browser).
  5. Portal Default language (defined in the prtDefault.properties)
  6. System Default language (default locale defined by the OS).

 

So for example, if you have your portal user language (as in point 3) set to German, but the language of the iView that is the logon page (as in point 1) set to English, that logon page will be displayed in English.

 

Wanting the Portal to use only one Language...keeping it simple

 

From a high level perspective let us refer to a sample scenario in which you want to keep configurations simple and use only one pre-defined user language base for all users e.g. English. (This can always be changed down the line if required).

 

  1. Login to the Portal Server.
  2. Navigate to the following path in the SAP installation directory \\usr\sap\SID\JID\j2ee\cluster\server0\apps\sap.com\irj\servlet_jsp\irj\root\WEB-INF\portal\system\properties
  3. Open the file 'prtDefault.properties'.
  4. Deactivate the default language settings of the portal by adding '#' before the parameters as below.
    • #request.defaultlanguage=en
    • #request.defaultcountry=us
  5. Add the following parameters to the file
    • request.mandatorylanguage=en
    • request.mandatorycountry=us
  6. Save the file and restart the portal


The parameter 'request.mandatorylanguage=en' will override the browser language settings of the end users and will display the contents in 'en' (English) only.

  

 

Defining & Installing Languages

 

The Enterprise Portal can holster and translate multiple strings and elements from the "default" out of the box language into a different language which is defined as "supported" in the locale service.

 

  1. To view the locale you can logon to the SAP NWA (Netweaver Administrator).
  2. http://<host>:<port>nwa
  3. Find and view the Portal Application & Service
    • com.sap.portal.admin.wizardframework
    • locale_list_service
  4. From this point of access you can determine and configuration the language values for all relevant properties.
    • Use NLS supported language abbreviations
    • Enter abbreviations in lower case
    • Use comma (,), semicolon (;), or space as separators.
  5. Any changes made require a restart of the service to come into affect.
  6. Restart the com.sap.portal.admin.wizardframework application.

 

Portal - Which Languages are supported?

 

The number of supported languages is diverse and lengthily and includes English, German, French, Dutch, Polish. You can view the full listing in the official help guidance documentation below:

 

 

I have a language translation issue...what do I need to check?


As with all issue scenarios the first process of troubleshooting follows the concept of simplification


If you encounter a language based issue there are a few avenues of analysis to follow.

 

  • One key point to check and review is whether the issue is confined to one particular web browser platform. If you are able to reproduce the issue across all browsers e.g. IE, Chrome, Mozilla etc then this would signify the "Language Setting" itself needs troubleshooting as opposed to the environment in which it functions.

 

Is the issue for all users?

 

  • Is adequate language translation not occurring for all users or a select few? If the issue is confined to a small user base here we could be dealing with language personalization setups

 

masthead+popup.jpg

 


Some Elements of the Portal - Not Translated

 

In some cases across the Portal Landscape and through applications you might notice some elements and strings not being translated and this may be due to hard-coding. The recommendation here would be to analyze and review potential note fixes to determine if it is a noted issue.

 

Browser Overriding Portal Language.

 

In some instances upon logging into the Enterprise Portal (EP), LDAP Users without an explicitly defined language setting are presented with the incorrect language display for Portal elements. Instead the language returned by the Portal is derived from the Web Browser Platform.


The cause of such an occurrence would be browser caching and the recommendation would be to clear the Portal Caches and retest the behavior once the mandatory language steps (as above) have been followed correctly.


blog4+language.PNG

 

Remember when you are defining the language setting(s) for the Portal there are a wide range of difference factors and properties to consider. When we consider the Portal as a central conduit means of access to a vast collection of information, data and applications language setting discrepancies can come into affect quite easily if the right diligence is not pursued.

 

The first point of language setting and review comes into affect at the point of logging on so this can be used as a cross-reference point:

 

 

If you face an issue with a language feel free to reach out to me:


Active SCN Forum Contributor - Follow Me @ http://scn.sap.com/people/troy.cronin2

As described in this Note the usage of Fiori Framework Page Extensions is possible from SAP NetWeaver Portal 7.4 SPS12 and SAP NetWeaver Portal 7.5 SPS01 on.

 

So the question is how can I use these extensions and how am I able to extend the Fiori Launchpad on the Portal?

My first use case was to integrate a help to each tile that is available on the homepage of the logged in user. For this a help-icon should be added to each tile. What do we need for this?


1. Create a custom plugin which adds a question mark image to each tile


Content of CustomHelpPlugin.js:


(function () {
            /* global sap, jQuery, fioriTrial, eula */
            'use strict';
            jQuery.sap.declare("conet.CustomHelpPlugin");
            jQuery.sap.require("sap.ffp.utils.ExtensionUtils");
            console.warn("FLP Extension loaded...")
            var renderFunction =             function () {
                        $('.sapUshellTile').each(function( index ) {
                                   var newDiv = $("<div style='position: absolute; top: 1rem; right: 1rem; width:20px; height: 20px; z-index: 9999'><img src='/com.sap.portal.resourcerepository/repo/FLP_Extension/qm3.png' style='max-width: 100%'></img></div>");
                                   $( this ).append(newDiv);
                                   
                                   newDiv.click(function (event) {
                                               alert("Display some help for tile " + index + " here!");
                                   });
                                   
                        });
            };
            sap.ui.getCore().getEventBus().subscribe("launchpad","contentRendered",renderFunction);
            sap.ui.getCore().getEventBus().subscribe("launchpad","moveTile",function() {setTimeout(renderFunction, 1000)});
            sap.ui.getCore().getEventBus().subscribe("launchpad","actionModeInactive",function() {setTimeout(renderFunction, 1000)});
}());





2. Upload this File to the Web Repository

 

Navigate to Content Administration -> Web Resource Repository and upload the CustomHelpPlugin.js to the FLP Extension Directory. Additional I have uploaded the image for the question mark inside this folder (referenced by the image tag (/com.sap.portal.resourcerepository/repo/FLP_Extension/qm3.png)).


3. Configure the Framework Page Extension


Navigate to Content Administration -> Portal Display -> Framework Page Configuration and configure the Fiori framework page to use the extension:

Framework_Page_Configuration.png

Custom SAPUI5 Module Plugin Name: CustomHelpPlugin

Custom Plugin URL: /com.sap.portal.resourcerepository/repo/FLP_Extension/CustomHelpPlugin/


4. Run the Fiori Framework Page and check the result

FLP_Result_2.png


So what does the custom plugin do?

 

It defines a new function “renderFunction” which uses jQuery to search for elements of class “sapUshellTile”. This is the base class for every div in which a tile is rendered. For each of these divs a new div is appended which includes a question mark as an image. To these new divs a “click”-function is added which now can be used to display some additional information to each tile. In this example only an alert box is used but it would be easy to integrate an overlay popup which loads a webpage with additional help to an application for example.

 

Afterwards this defined function is subscribed to the corresponding events on the Launchpad. I have used the event “contentRendered” in first place which seemed to be enough because this event is triggered after the Launchpad is rendered. But after rearranging the tiles on the Launchpad or adding a new tile from the catalogue a rerendering of the tiles take place. So I have subscribed to additional events “moveTile” and “actionModeInactive”. There I had to use a timeout function because after the event is triggered another rerendering of the tiles take place so that the displayed image disappears. Using the timeout is just a workaround because I didn’t find an appropriate event for this…

If there are any comments or hints on this, feel free to comment this blog.

Backdrop: You are running an Enterprise Portal (EP) setup involving the utilization of KM and the Document iView. This KM Documents iView displays the content of a document. This can be an HTML file or any other document that can be displayed. By default, this iView is not integrated in a workset. As per your business requirements you have recently upgraded the Enterprise Portal (EP) which subsequently involved switching from the Classic Framework Page (CFP) to the Ajax Framework Page (AFP).

 

Issue Arises

 

Following the change in utilization to the AJAX framework you notice that the URL call to the KM Document iView in a Knowledge Management (KM) setup is no longer working as required, instead it returns a HTTP 500 error.


demoversion.png

Testing the Behavior


  1. Login to the portal from desktop.
  2. http://<host>:<port>/portal
  3. In the portal, navigate to Content Administration -> Collaboration Content.
  4. Select the Collaboration tab followed by the room directory of interest.
  5. Upon left clicking the KM Documents iView e.g. "Project Document Viewer" you encounter the HTTP 500 "the website cannot display the page" error.

 

Versions Affected

 

  • EP Release Independent
  • SAP NetWeaver
  • SAP Composition Environment

 

Analysis (High Level)

 

  1. Record the complete scenario using Httpwatch (free basic version available online)
  2. Locate the call to the relevant URL (.e.g. Project Document Viewer as per the image above).
  3. The URL that is being accessed will return a nested cause exception e.g. HTTP 500.
  4. In many cases the error message in the result of that request is:
    •      <(><<)>p>The requested URL /AFPServlet/NavigationServlet was not found on this server.<(><<)>/p>

 

Why did this occur?

 

Discrepancy in parameter settings within the KM Documents iView e.g. Project Document Viewer "ReDirect Url" through the omission of the /AFPServlet/NavigationServlet property.


Resolving the Issue


  1. Login to the portal from desktop.
  2. http://<host>:<port>/portal
  3. Navigate to -> Content Administration -> Portal Display -> Framework Page Configuration.
  4. Manually select the Ajax Framework Page (AFP).
  5. Copy the invisible page pcd location with the portal URL whuke concatenating the following String "?NavigationTarget=<pcd location>".
  6. Open http watch to check in the trace for the line http://host:port/AFPServlet/NavigationServlet?
  7. Check in the query string for the value of targetNodeId, then subsequently add the "/AFPServlet/NavigationServlet" to the reverse proxy configuration of your server.

Backdrop: You are using the Enterprise Portal & BEx Broadcaster to pre-calculate and distribute queries, query views, Web templates, reports and workbooks. After some noted problem occurrences you are facing an intermittent issue when attempting to broadcast Bex reporting files to KM repository content.

 

Error Encountered: Exception thrown: com.sap.ip.bi.broadcasting.runtime.BroadcastingException: Error while creating resource in KM.


bex.PNG

 

Testing The Behavior:

 

  • Log into Enterprise Portal and select the predefined target KM Repository and folders.
  • Run the BEx Broadcaster for the reporting files to the target folder in the Enterprise Portal.
  • The broadcasting service returns the error exception "Exception thrown:com.sap.ip.bi.broadcasting.runtime.BroadcastingException: Error while creating resource in KM".

 

Reason for Exception:

 

  • File format discrepancy

 

Setting the correct formatting type:

 

  • Choose  with the quick info text Export and select Spreadsheet in the selection list. In full-screen mode, choose List > Export > Spreadsheet.
  • If you have a choice of more than one format, the Select Spreadsheet dialog box opens.
  • In the Select Spreadsheet dialog box, select the format in which you want to save the exported data.
  • Confirm the settings.


Review Settings & Additional Pointers

  • In the dialog box that appears, specify the path and name of the file and save the file.
  • For some formats, you also need to specify other settings for the file that is saved.
  • Make the required settings, where applicable.
  • If an installed program is linked to the selected file name extension, this program is started automatically and the generated file is opened.


Download & Restest


  • Download to system > List > Local File.

Backdrop:


When utilizing the Enterprise Portal you encounter a blank white screen within the Detailed Level Navigation. In some instances a change occurrence such as a Portal upgrade or System Migration can cause the setup and display to become problematic.

 

On some occasions when you are using the  Ajax Portal Theme in the Enterprise Portal (EP) the rendering of portal theme itself fails in the Detailed Level Navigation.


TEMPLATE_image006.gif


A "white" blank background gets displayed on Detailed level Navigation, making the text on detailed level navigation unreadable and invisible. The issue occurs alongside the use of the Internet Explorer (IE) Web Browser Platform versions.


Breaking the Issue Down:


  1. Determine firstly if the issue happens in all web browser platforms (Internet Explorer, Google Chrome, Mozilla).
  2. Determine if the issue occurs in both SAP Standard Themes & Custom Themes.
  3. Determine if the issue can be reproduced in all Portal Framework & Theme Combinations.

 

 

 

Capture1111.PNG

 

Common Culprit: Internet Explorer (IE) 8

 

Checking the Behavior:


  1. Login into the portal from desktop
  2. httphttp://hostname.domain.com5000/irj/portalhttp://hostname.domain.com5000/irj/portalhttp://hostname.domain.com5000/irj/portalhttp://hostname.domain.com5000/irj/portal://<host>:<port>/portal
  3. Navigate to and view the display of the Detailed Level Navigation (DLN)
  4. The text content does not get displayed in the DLN correctly
  5. The text font appears invisible in the background and is therefore unreadable

 

Resolving the Issue:

 

pencil.jpg

  1. Find your theme on the file system under: usr\sap <SID>\J00\j2ee\cluster\apps\sap.com\com.sap.portal.design.portaldesigndata\servlet_jsp\com.sap.portal.design.portaldesigndata\root\themes\portal\<your-theme>\AFP\images\layout\Navi11XY.PNG
  2. Open Paint application
  3. Edit the file using Paint and create it as 1x2 pixel image instead of 1x1.

Backdrop: You are attempting to display your corporate news feed to your external facing customers through an external facing portal. The RSS feed setup is based upon a custom portal component containing a par file based iView

 

Retrieving Data:  This retrieves the RSSFeeds URL from the JSP file


Error Exception: It returns a Connection Timed out Error e.g. Connection time out: 00:00_00/00/15_0002_123456789 [EXCEPTION]  java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) www.http.HttpClient.<init>(HttpClient.java:283) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:320) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:186) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:173) at java.net.Socket.connect(Socket.java:471).


error look.PNG



Testing the Behavior


  1. Log into Enterprise Portal.
  2. In the portal, navigate to the external portal via System Administration -> System Configuration -> (external e.g. CRM) iView.
  3. When attempting to run the standard out of the box iView defined to call the RSSFeeds URL you encounter http connectivity runtime errors accompanied by a subsequent timeout.
  4. Also in the integrated XML iView associated trace files:
    • (\usr\sap\<SID>\<J2EE_instance_number>\j2ee\cluster\<server#>\log\) you also see highlights of these Connection Timeout errors.

 

 

Why is this issue occurring?

 

 

Timeout issues in such a scenario are ordinarily thrown in association to server connection issues in addition to proxy service discrepancies. These configured services need to be maintained within SAP NetWeaver Administrator.

 

Resolving the Issue for the RSS Setup


  1. Log into Enterprise Portal.
  2. Firstly verify the URL's accessibilityvia the portal/j2ee server by navigating to the feed e.g. "http://www.abcxyz.com:abcxyz/news/abc-xyz/rss".
  3. Ensure the proxy service is configured correctly in the com.sap.portal.ivs.httpservice module.
  4. To specify the proxy server property values, configure the following application service: navigate to System Administration → System Configuration → Service Configuration -> com.sap.portal.ivs.httpservice application.
  5. View the specified proxy server property values to ensure they are configured accordingly alongside firewalls. Important Consideration: Set the Override JVM settings to "true".
  6. Save/close the service -> Close the editor.

 

 

If you require further consultation on how to define a Proxy Server for the Portal:

 

 

 



Backdrop: With knowledge management repository and folder management is a regular administrative task needed to support optimal business processes.

 

Issue: Upon attempting to logon and delete a particular folder in the Knowledge Management (KM) you encounter a deletion error which is thrown and highlighted thus signifying the deletion cannot complete "Delete failed for <folder name>".


foldericon.png

Try to Delete the Folder


  1. Go to Content Administration > KM Content
  2. Open the context menu of a resource
  3. Select the folder of choice
  4. Click on 'Delete'



Analysis & Identifying the Root Source

 

The first point of analysis here is to trace the root source of the exception in order to see the full underlying operations of the system. This can be done through generic log analysis via the Log Viewer or directly through the Default Trace Error Log File.


Pinpoint the Error


  • Reproduce the issue and capture a default trace error log file.
  • Note the UserID used to reproduce the issue and the time-stamp.
  • Obtain the default trace via: the Portal folder: \usr\sap\<SID>\<J2EE_instance_number>\j2ee\cluster\<server#>\log\

 

 

wastebasket.PNG

 

Wastebasket Service - Preventing Folder Deletion

 

  • Upon analyzing the log viewer you will see an error exception noting 'com.sapportals.wcm.command.DeleteResourceToWastebasketCommand' which references the wastebasket service.
  • This exception highlights and issue with the WasteBasket Service itself.
  • Occasionally this exception might also show that the associated folder + document is "locked" by a user even if the folder itself is empty.

 

What is the Wastebasket Service?

 

  • Activated by default in a standard setup.
  • Provides users with a means of fail-safe deletion i.e. users can be moved (deleted) to the wastebasket and restored/recovered from this point of call if required.

 

Probable Cause

 

  • The wastebasket service is not running on the system.
  • If you navigate to the component monitor by choosing System Administration -> Monitoring -> Knowledge Management -> Component Monitor what do you see?
  • If you are presented with an exception highlight such as #com.sapportals.wcm.command.DeleteResourceToWastebasketCommand#sap.com/irj#com.sapportals.wcm.command.DeleteResourceToWastebasketCommand#E005007#10396##n/a##b70095bb5f5911e4a798000002ab5054#SAPEngine_Application_Thread[impl:3]_58##0#0#Error##Plain###RID '/documents/- <Folder Name> is locked by <'User'>#
  • The wastebasket service has failed to startup due to a mis-configuration.

 

Fixing the Wastebasket Service & Enabling Folder Deletion

 

 

  1. Any configuration which is causing the wastebasket service startup fail needs to be removed and subsequently corrected.
  2. After making the required corrections a restart of the system should be performed so the service can start up accordingly.
  3. Once the wastebasket service is running it should then be possible to delete the resource as desired.

Actions

Filter Blog

By author:
By date:
By tag: