Quantcast
Channel: SAP Enterprise Portal
Viewing all 218 articles
Browse latest View live

Portal Display Mode Mismatched

$
0
0

This Blog is the 3rd case I publish in the context of my support blog – a continuance blog in which I publish Portal support
cases which customer may encounter.

 

This interesting case demonstrates the importance of navigating in the Portal by using the navigation APIs and not the direct URL to the Portal content.

 

The customer in this story had an issue with a page that was being triggered from an application (UWL application) and was expected to open in a new headerless page. Instead, it opened in a full L-Shape Portal framework page.

In mobile, on the other hand, when running the same application, it’s working as expected – the new page opened in headerless window when opening a new task. Bear in mind that the mobile application uses a different framework page (mobile framework page).

 

Why does this happen?

Here are a few more details:

The customer has a custom launcher page with a button that launches the mobile UWL application using a URL such as this*:

http://myportal:50000/irj/servlet/prt/portal/prtroot/pcd!3aportal_content/Folder1/Folder2/MyWorksets/MyRole/UWL_MOBILE/params?username_field=auser&password_field=apasswork&login_submit=on&login_do_redirect=1&ganame=MY_TASKS

(*I anonymized the URL. But you get the idea.)

Can you see what is wrong with this URL?

 

As I cannot use screen shots from the customer’s system – I simulated this type of scenario on a local computer.

Let’s assume that the page shown below is the launcher.

Both the links are targeting the same iView. The first (“Good Navigation”) does it correctly, and the second (“Bad Navigation”) does it incorrectly.

 

LaunchpadEmulation.PNG

     Figure 1: The simulated launchpad

 

In the customer’s system it would open the UWL navigation. In my simulation it opens a very basic iView which contains a link to another iView in a new window (as if the UWL is opening a task in a new window).

Look at the result from the “Bad Navigation” below.

 

Do you see what’s wrong here?

Hint 1: Look at the screen shot below which shows the navigation result.

Hint 2: It is running on a desktop framework page.

 

badNavigation.PNG

     Figure 2: "Bad Navigation"

 

So the problem here is that the portal framework has disappeared – note that there is no TLN or DTN – only the application has been triggered.

 

The link on this page that opened is navigating to another iView in new headerless window.

But surprise! The new iView has opened in a full Portal framework page as shown below:

badNavigationResult.PNG

     Figure 3: "Bad Navigation" result - the content is presented in Portal default framework


Now wait! It gets even more complicated: when running that same URL from the mobile framework page – the page opens correctly in a headerless framework page.

 

So what is going on here?

 

As I already mentioned above – the problem is related to the navigation URL. The customer has customized his or her launchpad to navigate directly to the content, instead of navigating to it via the navigation APIs.

So the correct way to navigate to the UWL application in that case would be:


http://myportal:50000/irj/portal?NavigationTarget=ROLES:// aportal_content/Folder1/Folder2/MyWorksets/MyRole/UWL_MOBILE& username_field=auser&password_field=apasswork&login_submit=on&login_do_redirect=1&ganame=MY_TASKS

 

You can see that the navigation is done by using the NavigationTarget parameter followed by the target content.

So when clicking the “Good Navigation” and navigating correctly by navigating in the Portal – the iView (simulation of the UWL application) opens inside the Portal frame – with the TLN and DTN (and all the other iViews of the frame of course):

 

goodNavigation.PNG

     Figure 4: "Good Navigation"

 

And then opening a new headerless window (in the UWL it is New Task) the Portal understands “headerless window” and opens the new page as expected in a new headerless window.

 

goodNavigationResult.PNG

     Figure 5: "Good Navigation" result - the content is displayed in headerless window as expected



When you navigate directly to the content, not all the JavaScript framework pages  are loaded and subscribed.  So when a new navigation from that content is performed – there is no JavaScript to process it and understand “open me in a headerless page”. The Portal performs this navigation in the default framework page of the Portal – which for desktop is the framework with the L-Shape (TLN and DTN).

Now why does this work correctly in mobile?

In mobile, the default framework is headerless – so the fallback of the Portal when it doesn’t have the JavaScript to “translate” the opening mode – is to open the page in the headerless window. Luckily, in the mobile case it seems to operate correctly, but it is based on an incorrect navigation just like in the desktop framework case.

 

 

So to summarize the conclusions from this case:  when you want to navigate in the Portal DON’T navigate to the content directly and DO use the NavigationTarget parameter.

 


Activation of UI Theme Designer in 7.3 Portal

$
0
0

According to the Release note from SAP , 7.3 SPS10 got the  new UI Theme Designer is available to use

 

To Enable the feature , it has to be done at the NWA admin page.

 

Here is the steps to enable the feature.

 

Login to NWA

 

Navigate to Configuration -> Infrastructure -> Application Module

 

search for com.sap.portal.themes.lafservice

 

Change the Parameter "Determine what will be the theme runtime provider" Value to "LESS

 

Save and Restart the System

 

Under Content Administration --> Portal Display : New UI Theme Designer will appear

 

 

 

 

Notes and Known Limitations

 

 

Note 1890375 - Known Issues of UI Theme Designer for SAP NetWeaver Portal.

Note 1927550 - Update UI Theme Designer to version 1.1.4 in the portal.

Note 1895989 - UI5 iView stylesheet rendering issues.

Note 1959708 - Supporting integration of UI Theme designer and UI5 application in the portal.

New UI Desginger.png

Thanks

RK

SAP Enterprise Portal 7.4 and the HANA Cloud Portal

$
0
0

Working in the SAP NetWeaver Java and Enterprise Portal areas, it seems to me the differentiation between the Portal offers in the context of the SAP HANA Cloud Framework is not made clear enough for customers.

 

The SAP Enterprise Portal from version 7.4 is the on-premise solution offer which supports the usage of SAP HANA as database. It can be run with other databases but it is going in the direction of being tightly integrated with SAP Cloud solutions.

 

More details are available in following SAP NetWeaver Portal 7.4 document: http://scn.sap.com/docs/DOC-49289

 

Advantages of this solution are developed in Yaviv blog: http://scn.sap.com/community/hana-cloud-portal/blog/2013/10/17/on-premises-managed-or-cloud--comparing-different-portal-deployment-options
• Full control over deployment (hardware / OS platform)
• Full flexibility for customization and extensions
• Individualized sizing

 

The SAP HANA Cloud Portal is the on-demand solution offer which is running in the SAP HANA Cloud Framework as the name indicates.

Advantages are:
• Lean, flexible Portal Paas (Platform as service)
• Fast time to value with regular updates
• Easy integration with on premise
• Lower TCO via scalable public cloud (Total cost of ownership)
• Standards based, open platform

 

Then, there is this question of integration of the SAP HANA Cloud Portal on demand with the on premise Portal solution. The FAQ from the SAP HANA Cloud Portal community network page gives some hints about how it can be achieved:

 

Is SAP HANA Cloud Portal a successor of SAP NetWeaver Portal 7.3x?
No, it is not a successor of Portal on-premise. The Cloud Portal can be an extension to Portal scenarios and can be integrated with your on-premise applications.

 

Will it be possible to migrate content from the classic SAP NetWeaver Portal to SAP HANA Cloud Portal?
Migration will not be possible since the two products are not directly related. However, cloud portal is designed to reuse content from SAP NetWeaver Portal.

 

If I run on-premise SAP solutions, how do I integrate with SAP HANA Cloud Portal?
The solution enables a secure and reliable integration with the customer's on-premise network for leveraging existing on-premise investments.


The Cloud Portal enables various methods of consuming On-Premise content:
(1) Consume EP 7.0/7.3 iViews and ABAP web application, assuming client has direct access to the web application.

(2) Consume data services based on SAP Cloud Connector (SCC).

 

The HANA Cloud Portal supports consumption of data services based on Rest APIs or Gateway services (OData). The best practice would be to build a UI5-based application that connects to an on premise backend system (such as a NetWeaver Portal) to fetch the business data.

 

Following links show different means available to connect applications to the Cloud Portal:

• Communicating with External Services -https://help.hana.ondemand.com/cloud_portal/frameset.htm?b971dd334fe24edc960b358d6cb45400.html

• Communicating with Non-Cloud Portal Applications Using the Connectivity Service - https://help.hana.ondemand.com/cloud_portal/frameset.htm?729dda66cb064915bba4b45f1bc638b5.html

• Application-to-Application SSO with SAP HANA Cloud Portal -https://help.hana.ondemand.com/cloud_portal/frameset.htm?629c6839a94c4250a46500326e9c419a.html

• Using SAP Gateway and the SAP Cloud Connector to Connect to SAP Back-End Systems - https://help.hana.ondemand.com/cloud_portal/frameset.htm?4bc9131fc5954f26a2d4fe98fd8e1267.html

• The SAP Gateway carries out RFC services within the SAP world, which are based on TCP/IP. These services enable SAP Systems and external programs to communicate with one another - http://scn.sap.com/community/gateway

https://help.sap.com/saphelp_nw73/helpdata/en/31/42f34a7cab4cb586177f85a0cf6780/frameset.htm

 

SAP HANA Cloud Portal community network page: http://scn.sap.com/community/hana-cloud-portal

SAP Enterprise Portal

$
0
0

SAP Enterprise Portal

Dear all, this is post is the humble opinions of SAP Enterprise Portal from a pure dummy's point of view. I don't come from a tech or engineering background but have the luck to get in touch with the introduction of SAP Enterprise Portal Technologies this fall through courses and feel that SAP Enterprise Portal is such a powerful tool for businesses and act as efficient and useful business solutions.

 

For me, SAP Enterprise Portal mainly acts of a via point, connecting information, resources, and different parts and functions of the enterprise. It unifies all these parts and enables the sharing of information and resources among the enterprise. Everyone could have an entry access to this one big sharing pool and information and knowledge, with different level of authorization to make sure enterprise could have the flexibility of managing the employees and assigning different roles to different counterparts. The powerful aspect is its ability to realize the fact for a big corporation with offices and employees everywhere, to connect with each other, cooperate with each other, share information and make decisions and assign different job functions. This could solve the problems for many enterprises and provide efficient business solutions, when they are challenged with the needs to unify large amount of resources and information, connect different functions of the company and enables everyone to be assigned with specific tasks and work efficiently with different level of capacity.

 

I didn’t get any coding of the SAP but do learn about basic functions and operations of SAP and find it quite useful and efficient. I’m interested in exploring more about the SAP’s acting as business solutions comparing to other alternatives, the one with different systems and the ones with the same. I hope to learn more about the different functionalities and efficiency of such applications. Another aspect is how efficient SAP Enterprise Portal could work for small businesses and how easy it is to implement in small businesses to utilize its efficiency without causing much trouble with employee’s adaptations. Small business solutions might be different from big enterprises but still need to employ business solutions to increase the work efficiency among different groups and departments.

ASUG Annual Conference 2015 – Call for presentations is now open!

$
0
0
2.jpg

 

It’s that time of the year that we all go on vacation, but wait… before you go on vacation, the call for presentations for the ASUG Annual Conference 2015 is now open! This is a great opportunity to share your experience, learnings and best practices with your colleagues.

 

The call for presentations in now open for submissions. If you would like to submit an abstract, please do so not later than January 5. For any question, please contact Speakers@asug.com

 

There is a dedicated track in the submission system to submit the SAP Portal related abstracts:

 

3.jpg

 

I always find Tammy Powlas tips very helpful, so here are two great blogs written by Tammy Powlas that will help you submitting your abstracts:

 

 

Hope to meet you in person in Orlando on May 5-7, 2015.

 

Aviad

SAP Portal News November and December 2014

$
0
0

Welcome to the last edition of this year's SAP Portal newsblog. We have the following topics for you:

  • ASUG Call for Presentations
  • New Enterprise Portal and Cloud Portal roadmap
  • SAP Fiori Product Demos
  • SAP NetWeaver 7.4 SPS 09 Features
  • SAP Fiori Framework Page
  • Capriza and Fiori Launchpad Content Integration
  • SAP Portal Support Blog Update
  • SAP Portal and HANA Cloud Portal Movie Challenge Finale
  • Last not Least: Happy Holidays

 

ASUG Call for Presentations is now open

The call for presentations for the ASUG Annual Conference 2015 is now open! There is a dedicated track in the submission system to submit the SAP Portal related abstracts. If you would like to submit an abstract, please do so not later than January 5. More information in Aviad's blog.

 

New SAP Enterprise Portal and HANA Cloud Portal Roadmap

We are pleased to share the updated SAP Portal roadmap 12/2014 edition with you. The document is reflecting latest news which were also introduced and announced at SAP TechEd && d-code this year.


SAP Fiori Launchpad End User Experience and Content Creation

You missed SAP TechEd in Las Vegas or Berlin and are interesting in more deep-dive information about SAP Fiori launchpad? We converted some of our SAP TechEd hands-on exercises and demos from our sessions into two product videos.

 

Fiori launchpad end user experience:

 

Fiori launchpad content creation:

 

More information, see the blog Experience the SAP Fiori launchpad In Action - ABAP, Portal & Cloud.

 

Features of SAP Portal in SAP NetWeaver 7.4 SPS 09

There are two new Portal features in SPS 9 of NetWeaver 7.4 (or SPS 14 of 7.31). One new feature solves an old problem with Internet Explorer. So far, the Ajax Framework (AFP) page did not render properly in standards mode, but only in quirks mode. Now you can navigate through your portal without having to open new windows, and enjoy all benefits of SAPUI5 applications, integrated in your Portal. AFP in standards mode is supported in IE starting from IE9. More details on the availability of AFP in standards mode in the blog by Matan Mizrahi.

The second feature refers to the URL alias for Fiori launchpad running in the Portal. Before SPS 09, you had to create a URL alias with URL Alias Manager in System Configuration and then create a new display rule to assign the Fiori desktop to the new URL alias. For a new installation, there is now a pre-configured alias portal/fiori, that is already assigned to the Fiori desktop in the master rule collection. More details on the SPS 09 features: see the blog by Sibylle Brehm.

 

SAP Fiori Framework Page in Mobile Device Scenarios

The  new Fiori framework page is the recommended framework page for consuming the SAP Portal on mobile devicesin a launcher/launchpad scenario. With NetWeaver 7.4 SPS 07, there is a new Fiori framework page available to enable portal users to launch Fiori applications from a Fiori launchpad-like UI. Read this blog by Sibylle Brehm sharing some insights and experience on the changes between the classical Mobile Portal and Fiori launchpad on EP. Read also Aviad Rivlin's blog on the new Fiori framework page.

flp_framework.png

 

Capriza and Fiori Launchpad Integration

Capriza is a SAP partner company and developed a new technology which allows the converting of existing UIs / web screens for mobile scenarios using a cloud service. Watch this interview from SAP TechEd & d-code and meet Oren Ariel, CTO and co-founder of Capriza, speaking about how the Fiori launchpad can be enriched by integrating Capriza apps (which can also contain non-SAP content).

 

SAP Portal Support Blog

A new scenario was added to the SAP Portal support blog: This time a scenario is presented which demonstrates the importance of navigating in the Portal by using the navigation APIs and not the direct URL to the Portal content.

 

Movie Challenge Ends December 31, 2014

We started our SAP Portal and HANA Cloud Portal movie challenge beginning of this year. Until now we have received around 60 blog contributions for the two challenges. You can still contribute until December 31, 2014.

What are the next steps: At the beginning of next year the whole SCN Portal and Cloud Portal community will be able to vote in a poll in order to pick the best movie critic and movie producer blogs. The authors of the best blogs will receive additional finalist and winner badges and more points. Stay tuned to participate in the voting.

 

Happy Holiday

And that was the last SCN news blog for 2014.

What remains to say is to wish you a happy Chistmas, Hanukka or whatever you celebrate in the next weeks and a joyful new year. Participate in our interactive holiday video and find out, if you are nice or naughty:

holiday_challenge_2014.png

Good Bye 2014, Welcome 2015…

$
0
0

Let’s take few minutes to look back at 2014 and try to predict the big areas that we will talk about in 2015.

2014.jpg

In my area, no doubt that 2014 was the Fiori year. Starting with the very long debate about the Fiori pricing, all the way to the major announcement at SAPPHIRE 2014 that Fiori is now included in the customers' license.

 

A key Fiori offering (which is also very close to my daily work) is the new multi-channel applicative entry point – SAP Fiori launchpad. From the initial launch of the Fiori launchpad on the ABAP FES, via the renewal of the SAP Enterprise Portal with a new personalizable and responsive framework page following the Fiori design – Fiori launchpad running on the SAP Portal, all the way to releasing the Fiori launchpad on HANA Cloud Platform.

 

DeploymentOptions.jpg

 

The renewal of the SAP Portal is not completed without the consumption of Fiori apps in the portal. Just before the year ended (Yey!), we have released the list of supported stand-alone Fiori apps (SAP Note: 2103156), expect this list to grow in the future... Not to forget some architectural aspects of running Portal-Fiori in an external facing scenario as part of this portal renewal:

 

PortalArchitecture.jpg

 

Same goes for the cloud deployment option, Fiori launchpad on HANA Cloud platform is not completed without releasing also Fiori apps running on HCP, but for this we need some more patience… (for now you can use SAP Web IDE to develop your own Fiori-like apps and consume them via the launchpad).

 

For me, 2014 will not be complete without two additional topics: SAP Web IDE and HANA Cloud Portal.

 

Starting with the renaming of Web IDE from River RDE to Web IDE, all the way to having Web IDE as THE tool to extend and develop new Fiori-like apps running on-premise and on the cloud (HCP).

 

Finally, this year we also had a great momentum for the HANA Cloud Portal– new customers going live, delivering new features faster-and-faster, and the new Fiori user experience as part of the Cloud Portal offering. This is actually a great connection to 2015…

2015.jpg

Let’s welcome 2015 with only two pictures (hint, hint...):

 

HCP.jpgFioriHCP.jpg

 

Looking forward for an exciting 2015 and hope to meet many of you at SAPPHIRE, TechEd, Design Councils, InsideTracks and workshops across counties and continents.

 

Wishing you all happy holidays and a great 2015!

Aviad

Using INotificationService with different Data Types

$
0
0

If you are using INotificationService portal service, then this blog is relevant for you.

 

The basics that describe how to use this portal service to transfer notifications in the portal to the different server nodes of a cluster are documented in the following blog: How to use the INotificationService API in SAP Portal 7.30

 

This blog extends the knowledge of the previous blog by describing the different types of data that can be used.


The data that is being transferred via the INotificationService is wrapped within a TopicDataContainer object. To the container you should add TopicData objects, recognized by their IDs:


TopicDataContainer container = newTopicDataContainer("TopicContainerName1");

container.addTopicData("Topic2Id", "Topic2Str");


This example adds new TopicData with value "Topic2Str", and with ID "Topic2Id" to the TopicDataContainer "TopicContainerName1".

This example uses the default TopicType – TopicDataContainer.STRING.


This type can be used as long as the string does not contain special characters, such as ‘\n’ and ‘\r’. If your data contains such characters, you will get NULL TopicData on the receiver side (in the handleTopic() method) .


So what should be used when transferring special characters, or other data types?

Well, there are few other supported data types:
TopicDataContainer.STREAM
TopicDataContainer.FILE

TopicDataContainer.INT


In order to use the first two, you should create special TopicData objects respectively:

(clicking on the links redirects to the formal SAP documentation):


StreamData - used to build Topic message data containing a stream of bytes.


FileData - used to exchange File and Directory (uses ZipOutputStream).

 



Usage examples:


// Type TopicDataContainer.STREAM

ByteArrayInputStream bais = new ByteArrayInputStream("This is my text.\n it contains special characters\r.".getBytes());

StreamData streamData = new StreamData(bais);

container.addTopicData("TopicStreamDataID", streamData);



// Type TopicDataContainer.FILE

FileData fileData = new FileData(directoryPath);

container.addTopicData("TopicFileDataID", fileData);

 


// Type TopicDataContainer.INT

container.addTopicData("TopicIntID",new TopicData(TopicDataContainer.INT, "13"));

 



In general you should always consider whether the data is really necessary to be transferred, as using the STRING type or INT type are considered to be faster, and performance is an important aspect during portal runtime .


OBN Cache

$
0
0


Introduction


In SAP NetWeaver Portal NY versions (7.1 and above), an additional cache feature has been added, the Object-Based Navigation (OBN) cache.

 

 

Why do we need it?

 

When a user clicks an OBN link, the OBN service searches in every role the user is assigned to for OBN iView targets.

The search is done for each click on an OBN link. This can take a while and there is no reuse of the search results.

 

 

Pros


  1. Each role is searched only once
  2. Search results are stored and are reusable
  3. The response time of the navigation is faster

 

Cons


The cache needs to be manually cleared after:


  • Deploying content     
  • Modifying content (creating, changing, deleting)

 

Not clearing the cache after the content has been modified may lead to OBN issues such as:


  • OBN that is not resolved for all or some of the users
  • OBN editors that don’t show the operations that are tagged under the target iViews

 

For these reasons, OBN caching may not be desirable in a development or testing environment, because the content there is modified frequently. In general, it is not recommended to use the OBN cache in development or testing environments.



How to disable the OBN Cache


Since the OBN Cache is enabled by default, if you want to disable it, follow the steps below:


NW 7.1 – 7.2:


  1. 1. In the portal, navigate to System Administration -> Navigation -> OBN Cache.
  2. 2. Choose “Clear All" to clear the entire cache.
  3. 3. Choose "Disable Cache" to disable the OBN cache.


pic1.jpg


NW 7.3 and above


  1. 1. In the portal, navigate to System Administration -> System Configuration -> Cache Management -> OBN Cache.
  2. 2. Choose "Clear All" and "Clear Cluster Cache" to clear the entire cache.
  3. 3. Choose "Disable Cluster Cache" to disable the OBN cache.


pic2.jpg


HowTo prevent from PcdInconsistentUpdateException during code development or HowTo change Portal Content via code correctly?

$
0
0

This blog is relevant for Enterprise Portal developers, who are familiar already with the Portal Content Directory concept and APIs.

 

Starting from NetWeaver Portal 7.1, some of the Portal content Directory (PCD) architecture was changed, in order to prevent PCD inconsistencies. Due to that change, in newer versions of the Enterprise Portal you might encounter the following exception in the trace file: “PcdInconsistentUpdateException”.

This exception describes that a certain application is trying to cause PCD inconsistency, and the PCD prevents it (by not performing the change, and instead, throwing the above exception).

The application itself can be recognized in the stack trace of the exception.

 

More information about this exception can be found in the following SAP Knowledge Base Article:

1752506 - PcdInconsistentUpdateException in the DefaultTrace - What it Means and How to Troubleshoot it


Despite the new architecture, there are still cases in which there are PCD inconsistencies in versions NW7.1 and above.

In order to detect and remove PCD inconsistencies in those versions, please refer to SAP note:

1473054 - Checking database consistency for the PCD for CE 7.1 & above


In older Enterprise Portal versions (such as NW7.0) where there was no prevention on the PCD layer, there is also a tool that can be used to clear those inconsistencies. It is documented in SAP note:

1086644 - Checking database consistency for the PCD


The notes described must be used only by Portal experts, as they describe actions that should be executed on the PCD tables. Those actions can corrupt the portal if done wrongly.


As a developer who needs to write a code that changes Portal Objects, following is a code example that demonstrate how to prevent from the above issues.

There are two main mechanisms that should be used:


1. Locking - you should lock the object before you start changing it, to help protect the current object against concurrent changes. The locking is done on a Unit object. When using the locking mechanism by acquiring a lock, if another application is trying to change the object at the same time, or the same application is running in parallel, it will fail to acquire the lock. If the application failed locking, it should handle this flow according to its logic. (for example - it is has User Interface, then displaying a message to the screen might be a good option).

There are two types of Lock Handlers:

PCD layer (com.sapportals.portal.pcd.gl): ILockHandle( <--  link to the javadoc documentation)

PCM layer (com.sap.portal.pcm.admin): ILockHandle ( <-- link to the javadoc documentation)


The ILockHandle that should be used it according to the operations done - If you are using PCM or Semantics APIs in the administration environment, then the PCM lock handler should be used, whereas the PCD lock handler is usually used when objects do not exist in the PCD yet (descriptor objects that need to be binded to the PCD), or other PCD API usages (like enqueue lock usages for PCD changes).


2. Transaction - using the transaction mechanism, you can make sure that the change is committed only if all the modifications were done successfully. It also causes changes that are constructed from few modifications to become atomic, meaning that if one of the modifications constructing the change failed, all the previous modifications are not committed (rollback). Hence it makes the objects in the PCD in a consistent state.


The transaction manager class that should be used:

TxManager<-- Click on the link to read the full explanation about the transaction manager, and the different methods that it provides.

In the same package com.sap.transaction.*you will find the rest of the relevant APIs/classes.

* read about the correct usage, for example the differences between required() and requiresNew()

 

 

 

Example:

 

IAdminBase adminBaseRole = null;

TransactionTicket txTicket = null;

ILockHandle lockHandle = null;

String lockId = null;

String userId = user.getUniqueID();

 

try {

     Hashtable<String, Object> env = new Hashtable<String, Object>();

     env.put(Context.INITIAL_CONTEXT_FACTORY, IPcdContext.PCD_INITIAL_CONTEXT_FACTORY);

     env.put(Context.SECURITY_PRINCIPAL, user);

     env.put(Constants.REQUESTED_ASPECT, PcmConstants.ASPECT_ADMINISTRATION);

 

 

     InitialContext initCtx = new InitialContext(env);

     adminBaseRole = (IAdminBase) initCtx.lookup(roleId);

 

     //In this example, generates unique lock ID using com.sapportals.portal.prt.util.Guid

     //It can also be an identifier such as session ID. Useful when wanting to distinguish between sessions

     //or to check whether it is the same lock - in case we want to use the already generated one

     //(if all is considerred inside one flow)

     lockId = (new Guid()).toString();

 

     lockHandle = (ILockHandle)adminBaseRole.getImplementation( IAdminBase.LOCK_HANDLE );

     if (lockHandle == null) {

          location.errorT("lockHandle is not available!!! This is a problem!");

          return false;

     }

 

     LockInfo lockInfo = lockHandle.getLockInfo();

 

     //if NULL, then the object is not locked

     if (lockInfo == null) {

 

          boolean isLocked = lockHandle.setLock(userId, lockId, "Lock for binding remote objects to role");

 

          //returns true if the lock could be acquired or if the object was already locked for the same user and lockId;

          //false if the object cannot be locked, because it is already locked for a different user or lockId.

          if (isLocked) {

               txTicket = TxManager.required();

 

               //perform the desired changes. For example:

               updateAllObjectsUnderRole(adminBaseRole, pcdObjectsToModify);

 

               TxManager.commitLevel(txTicket);

          }

 

 

     } else {

          location.errorT("lockHandle already locked!");

     }

 

 

} catch (TxRollbackException e) {

     location.traceThrowableT(Severity.ERROR, "Transaction error during execution", e);

} catch (TxException e) {

     location.traceThrowableT(Severity.ERROR, "Transaction error during execution", e);

} catch (NamingException e) {

     try {

          TxManager.setRollbackOnly();

     } catch (TxException e1) {

          location.traceThrowableT(Severity.ERROR, "Transaction error during execution of setRollbackOnly()", e1);

     }

     throw e;

}finally {

     if(txTicket != null) {

          try {

               TxManager.leaveLevel(txTicket);

          } catch (TxDemarcationException e) {

               location.traceThrowableT(Severity.ERROR, "Transaction error during leaveLevel() execution", e);

          } catch (TxRollbackException e) {

               location.traceThrowableT(Severity.ERROR, "Transaction error during leaveLevel() execution", e);

          } catch (TxException e) {

               location.traceThrowableT(Severity.ERROR, "Transaction error during leaveLevel() execution", e);

          }

     }    

     if (lockHandle != null) {

          lockHandle.releaseLock(userId, lockId);

     }

}

 

 

 

Some things to bear in mind when implementing using the above APIs:

1. Avoid from performing transactions on operations that cause inconsistencies between the DB and the memory like clearing caches and PCD publishChanges (as they are still not committed….).

2. When changing personalized content / content in the UCD, instead of locking you should find why there is parallel writing, as the same user is not supposed to run in parallel - might be a bad application design (like putting all the personalized data inside one big unit).

3. Consider whether it is better to first lock or first start with the transaction (can change according to application logic or importance).

Find the Winners of the SAP Enterprise Portal and HANA Cloud Portal Movie Challenge

$
0
0

274555_red_carpetl.jpg

 

Beginning of last year, we started our first SAP Portal and HANA Cloud Portal gamification campaign on SCN. We asked the Portal community on SCN to play the role of a movie jury member, review existing product movies on our YouTube channel and blog about it. In addition we also offered you to play the role of a movie producer to produce your own SAP Portal or HANA Cloud Portal movie story and share your product expertise.

 

All in all we received 27 blogs contributions for the SAP Portal movie challenge and 31 contributions for the HANA Cloud Portal movie challenge. We thank all blog authors for taking part in this initiative. The two challenges were closed on December 31, 2014, and it is not possible to add further contributions.


Now it is voting time!

We are now asking you - the Portal community on SCN - to vote in different polls in order to pick the best blogs for the 2 challenges. The authors of the best blogs in 2014 will receive additional badges and more SCN points.

 

Help Use to Find the Winner of the SAP Enterprise Portal Movie Challenge

 

We would like to ask you to vote in the following 3 polls and to decide on your favorite blog for the finalist round:

Poll 1 to identify finalist 1

Poll 2 to identify finalist 2

Poll 3 to identify finalist 3

 

Please vote in all 3 polls so that we can identify 3 finalists. In a final additional poll voting the final winner will be identified. The winner will receive the movie critic winner badge (and additional points) and the 2 finalists will receive the movie critic finalist badge, plus additional points.

 

Note that there will be no additional poll voting for the SAP Enterprise Portal movie producer winners, as we had a low participation rate in this area, all participants will be given the winner badge. The movie producer winners will be informed together with movie critic winners, so please have some patience until the voting phase is over.

 

Help us to Find the Winner of the SAP HANA Cloud Portal Movie Challenge

 

We would like to ask you to vote in the following 3 polls and to decide on your favorite blog for the finalist round::

Poll 1 to identify finalist 1

Poll 2 to identify finalist 2

Poll 3 to identify finalist 3

 

Please vote in all 3 polls so that we can identify 3 finalists. In a final additional poll voting the final winner will be identified. The winner will receive the movie critic winner badge (and additional points) and the 2 finalists will receive the movie critic finalist badges, plus additional points.


Note that there will be no additional poll voting for the SAP HANA Cloud Portal movie producer winners, as we had a low participation rate in this area, all participants will be given the winner badge.

 

Note: You will be able to vote in the polls until January 20. After that date the fínalists will be announced, and you will be notified about the final voting.

Setting the iView Language in the Portal

$
0
0

In this blog, I will explain how to set the iView (application) language in the portal, and how the language (locale) is determined by the portal mechanism.

The blog is based on the official SAP documentation: Lookup of Resource Bundle.

The iView language (locale) is determined in the following order (sorted by priority):



    1. Forced Request Language

 

             A parameter that can be configured in the iView properties. The locale is configured from a

             provided list of locales.

             This parameter forces the iView to be displayed in the selected locale.

             This parameter affects only the locale of the iView itself.


A user can also modify the Forced Request Language parameter, provided they have the right permissions, by using the portal iView  personalization.  If the user has made changes to this parameter and has launched the iView, the iView locale will be determined by the user's  configuration of the Forced Request Language parameter and not by the value of the parameter in the iView properties.

For more information, see:

 

     SAP NW 7.0xPersonalizing iViews

 

     SAP NW 7.1 and up - Personalizing iViews

 

If the required locale is not available from the locale selection list, the following SAPnote will help with configuring additional locales that are  supported by the Java Runtime Environment:

1013521 - Configuration of supported languages within the portal

 

The following block is relevant only for AI (Application Integration) iViews:

In the event that the required locale is not on the Java Runtime Environment-supported list of locales, to add additional locales, see Start iViews with  a Dynamically Computed Language.

A known issue is that an iView is displayed in the wrong locale just for a specific user. For this issue, the following SAPnote may help:

1590901 - Enterprise Portal - Unexpected Behaviour Affecting One User Only


 

     2. Portal mandatory locale


The locale is determined by the following portal runtime configuration properties:

      • request.mandatorylanguage
      • request.mandatorycountry

 

These properties do not exist by default!

They should be added and configured in the Portal Runtime Properties.

These settings affect the whole portal framework locale.

To configure the Portal Runtime properties:

 

     SAP NW 7.0x -   Setting Mandatory Language For Portal

     (this should be done for all server nodes of the cluster)


 

     SAP NW 7.1 and up - Configuring the Portal Runtime Properties

     (this should be done for all server nodes of the cluster)



 

      3. User locale


This locale is defined in the profile of the current user. The user locale can be modified from the Identity Management application.

This setting affects the whole portal framework locale.

       To access Identity Management:

 

            SAP NW 7.0xIdentity Management


     SAP NW 7.1 and up - Identity Management


When in the Identity Management application, search and select the desired user,

Then, under the General Information Tab, modify the "Language" property to the desired locale according to the list of available languages.


General Information language - user locale.png

 

A user can also modify the portal language ,if they have the right permissions, using the portal personalization.

For more information see Personalizing Your Portal.

 

If the desired locale is not available from the locale selection list, the following SAPnote will help with configuring additional locales that are supported by the Java Runtime Environment:

1013521 - Configuration of supported languages within the portal



 

    4. Request locale


The request locale is defined by the browser language settings.

This setting affects the whole portal framework locale.

For example, in IE:


             Navigate to Tools --> Internet options --> General --> Languages

Select "Add…" and specify the desired locale.


IE set language example - Reqeust locale.png



 

Since, in most cases, the browser does send a locale, the next two sections are considered to be a code fallback if the locale is not configured and sent from the browser:


 

   5. Portal default locale


The locale is determined by the following portal runtime configuration properties:

      • request.defaultlanguage
      • request.defaultcountry

 

These settings should be configured in the Portal Runtime Properties and affect the whole portal framework locale.

To configure the Portal Runtime properties:

 

SAP NW 7.0x

             Example for en_us locale that will display the portal content in English:

               1. Log on to the Portal Server

               2. Navigate to the following path in the SAP installation directory:

                    \\usr\sap\<SID>\JC<InstanceNumber>\j2ee\cluster\server0\apps\sap.com\irj\

                         servlet_jsp\irj\root\WEB-INF\portal\system\properties

               3. Open the file 'prtDefault.properties'

               4. Modify the parameters to the desired locale:


        • request.defaultlanguage=en
        • request.defaultcountry=us

     

                   5. Save the file and restart the server for changes to take effect.

     

    SAP NW 7.1 and up - Configuring the Portal Runtime Properties



     

        6. System default locale


                 This is the Java default locale defined by the system, either by the operating system or by

                 the JVM. This setting affects the whole portal framework locale.


    Using the URL-iView in SAP Enterprise Portal

    $
    0
    0

    In this article, I'm going to review some of the abilities and limitations of the URL-iView when used in combination with the Portal.

    This e-blog post is aimed at developers and users who have a basic understanding and knowledge of Portal navigation.

     

     

    Introduction:

    URL-iView is somewhat different from other iViews: its sole purpose is performing a redirect to the specified URL.
    At first glance – an easy operation, but due to the way in which the portal handles navigation and iView integration, some problems may arise. I will explain the technical details and the solutions which are provided in order to overcome them.

     

    A guide for creating URL-iViews is in SAP note 1936087 - How to create a URL iView on NW EP?.

     

     

    Typical user scenarios:

     

    • The user wants to display external content or a part of another website inside their portal.
    • The user wants to open the external content in a pop-up window.

     

     

    URL-iView behind the scenes:

     

    Firstly, we need to understand how the portal embeds iViews inside itself. In general, URL-isolated iViews are rendered in an iframe,
    which is located in the content area of the portal. This is done by a mechanism which sets the "src" attribute of the iframe element to be the direct launch URL of the required iView.

    When requesting the URL-iView via the direct launch URL, the server response includes the "redirect" header with the "target-url" of that URL-iView as a value. That header instructs the browser to perform a redirection to the "target-url".

     

    The crucial point is that the browser redirects only the iframe which contains the request for the URL-iView and not the whole window.

     

     

    So, what could go wrong?

     

    Since the URL-iView must be URL-isolated, its content is rendered in an IFrame. This approach may cause the following problems:

     

    • Many websites are designed to prevent the possibility of being rendered in other websites. This approach stems from both security and proprietary concerns. From a security perspective, the ability to present a website or a portion of it inside another website opens a gateway to all kinds of threats such as click-jacking.Since the standard way of embedding foreign URL content is through the iframe element, a website to be configured to prevent the display of its content in an iframe. Website developers can also use the "X-Frame-Options:DENY" response header to prevent attempts to load a page in an iframe from other websites.

     

    • Scripts of the target website may perform some actions based on the fact that they are defined in the topmost document. If this kind of script is running in an iframe it might break or be blocked by the browser security policy since it is in violation of the Same Origin restrictions.

     

    For more information: SAP note 1636132 - JavaScript Errors When Calling a Custom or Third-Party Web Site in a Portal URL iVIew.

    Solution:

     

    We have seen that rendering external content in an iframe might be problematic; therefore the only safe way (for most scenarios) to do it is by opening the desired "target-url" in a separate window.

     

    The practical solution is to make the portal launch the direct launch URL of the URL-iView in a new window. In that way, the new window won't have any iframes. When getting the response from the server, it will instantly redirect itself to the "target-url" as if the target URL was typed by the user in the browser address bar.

     

    There are two main methods you can use to navigate to a URL-iView (and to iViews in general).  To Prevent issues when running
    the URL-iView, the configuration you'll need will vary slightly, according to the method you choose:

     

    1. Navigation by TLN, DTN, Bread crumbs, Related Links:

     

    To achieve the portal equivalent of window.open method, set the "Launch in New Window" property of an iView to "Display in Separate Window" (Navigation Mode = 1).

     

    By doing so (and after applying all the relevant SAP notes), you configure the portal to launch the URL-iView in a new window whose target is the direct launch URL of the requested URL-iView.

     

    The current SAP notes which explain how to troubleshoot this feature are:

    1721745 - Navigation to URL iview in navigation mode 1 causes errors

    2050956 - URL-iView fails when it is opened from "related links".

    2061547 - URL-iView opened incorrectly from second level TLN
               2055539 - Breadcrumb links do not open in a new window

     

        2.  Navigationusing the Portal Navigation API:

     

      1. If you have links to URL-iViews which use a Navigation API such as EPCM.doNavigate and you want to launch a URL-iView as described in this section, then do the following:
        • Set the value of the "mode" parameter to 1.
        • Set the "target" parameter as the direct-launch-URL of the requested iView.

     

                   For example, the following call is specified:

                   EPCM.doNavigate([direct-launch-URL], 1);

                       The direct-launch-URL can be constructed from the iView PCD location:

     

    Let's say that the PCD location of your iView is "pcd:portal_content/some_role/myURLiView".

    First, you replace each ":" with "!3a" and each "/" with "!2f". Now you get:

     

    pcd!3aportal_content!2f some_role!2f myURLiView

     

    You add the prefix:

     

    /irj/servlet/prt/portal/prtroot/

    So that the final result is the direct-launch-URL:

     

    /irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2fsome_role!2fmyURLiView

     

    By setting mode=1, you configure the portal to open a new window, and by setting the target to the direct launch URL, you ensure that the new window redirects properly as needed.

     

              b.Navigation using the Navigation Tag Library:

     

    If you are using the Navigation Tag Library to create links via JSP, then bear in mind the following:

    When creating a link using the navNodeAnchor tag, set the navigationMethod to "byURL" and not "byEPCM", and, of
    course, set the navigationMode to 1. This will ensure that the direct launch URL of the URL-iView will be used in the navigation to the new window.

    So the code should look like this:

                        <nav:navNode navTarget="ROLES://portal_content/some_role/myURLiView">

                         <nav:navNodeAnchor navigationMethod="byURL" navigationMode="1"/>

    </nav:navNode>

    Skipping portal migration when EP usage type are not installed in your netweaver

    $
    0
    0

    Sometimes by mistake you deploy some SDAs which are part of SCAs belonging to portal usage types(EP & EPC), but your netweaver java does not have usage types EP and EPC. Later on when you download stack.xml to upgrade your netweaver java to higher version, then stack.xml contains list of some SCAs because of unnecessary SDAs deployed on your system by mistake. When you start SUM tool, then upgrade fails with error message:

     

    The following problem has occurred during step execution: com.sap.sdt.util.diag.DiagException: Error while executing Task with input file CopyParsLibsForMigration.xml and task COPY_PORTAL_LIBS.

    Could not finish Copy operation with parameters fromFile: '/usr/sap/<SID>/SYS/global/pcd/pcdStartup.properties' toDir: '/usr/sap/<SID>/SUM/sdt/tmp/portalContent'. Check whether the current user has sufficient permission to execute this operation.

    Cannot copy /usr/sap/<SID>/SYS/global/pcd/pcdStartup.properties to directory /usr/sap/<SID>/SUM/sdt/tmp/portalContent.

    Input output exception has occurred: fileName: /usr/sap/<SID>/SYS/global/pcd/pcdStartup.properties.

    java.io.FileNotFoundException: fileName: /usr/sap/<SID>/SYS/global/pcd/pcdStartup.properties

    It happens due to a deployment of an SCAs which belongs to a usage type which does not exist on netweaver java. Here portal is not usage type of netweaver java system and SUM tool triggers pcd migration, but pcd does not exist in the system and it fails. So, in such scenarios if you are sure that portal(EP, EPC) is not usage type in your netweaver java, then please perform the steps:

     

    Either undeploy the SDAs which were deployed by mistake and generate the stack.xml file again or you can skip portal migration in SUM as:

     

    The value for portal migration could be found at SharedInputCatalog.xml under SUM/data direcotry.

    On your system the property most probably looks like:

     

    <Property value="true" setBy="ComponentHandlingService" key="IsPortalMigrationNeeded">

    So changing the above property to "false" and restarting the SUM tool will skip pcd migration.

    SAP Enterprise Portal and HANA Cloud Portal Movie Challenge....and the Winner is...

    $
    0
    0

    275908_director_s_gl.jpg

    Beginning of last year, we started the SAP Portal and HANA Cloud Portal gamification campaign on SCN. The challenge included 2 tracks: (1) You should pick a movie from our YouTube playlists, create a blog review by explaining the value of the movie for your business or your present project  (2) You could record your own movie showcasing your implementation, a new portal design, or any other content that would deliver value to our ecosystem.


    All in all we received 27 blogs contributions for the SAP Portal movie challenge and 31 contributions for the HANA Cloud Portal movie challenge. We thank all blog authors for taking part in this initiative.


    In the last 3 weeks we asked you in several polls to vote for your favorite blog and to identify the best blogs for the SAP Enterprise Portal movie critic challenge and the HANA Cloud Portal movie critic challenge. Now the winners are identified and will be announced in this blog. They will receive special finalist and winner badges and additional SCN points. Please note that there are no finalist badges for the movie producers, all participants of the producer challenge will receive a winner badge.

     

    SAP Enterprise Portal Movie Challenge 2014

     

    The Movie Critic Finalist Badge goes to:

     

    Yuvraj Singh author of the blog SAP Portal Portfolio

     

    Jill Diesman author of the blog "Hack into things, control satellites?  This is exactly what we need for the office."

     

    The Movie Critic Winner Badge goes to:

     

    KANNAN NAIR author of the blog SAP Fiori and SAP NetWeaver Portal, mobile edition

     

    The Movie Producer Winner Badge goes to:

     

    Peter Warren author of the blog SAP NetWeaver Portal Movie Producer: Variable Speed Timer Control for Business Objects Dashboard

     

    SAP HANA Cloud Portal Movie Challenge 2014

     

    The Movie Critic Finalist Badge goes to:

     

    Pradeep Baitha author of the blog SAP HANA Cloud Portal - Overview Video

     

    Pravin S. author of the blog  Overview Video

     

    The Movie Critic Winner Badge goes to:

     

    Rupali Ray author of the blog HANA Cloud Portal - An Analysis

     

    The Movie Producer Winner Badge goes to:

     

    Amir Blich author of the blog Welcome To The 2014 Portal Movie Challenge

     

    Robert Russell author of the blog SAP HANA Cloud Portal Movie Producer: It’s an SCN World


    In this movie all winners of the challenge are presented:

     

     

    Congratulations to all finalists and winners. Your badges and SCN points will be uploaded to SCN in the next time. Special thanks to Caroleigh Deneen for supporting the upload of the rewards.

     

    Last not least, I would like to present here the contribution for the HANA Cloud Portal year-end challenge 2014. It was produced by the SAP team from Accenture, Latvia. As the Accenture team members in Latvia have no SCN users so far, we cannot assign them any SCN badges and points, we would like to award you via this blog also as winner of the HANA Cloud Portal movie challenge. Thanks for the big effort, you put into this production:

     


    How to configure FPN connection

    $
    0
    0

    Starting SAP NetWeaver 7.3, in order to facilitate the sharing of portal content between two or more portals that reside in a federated portal network (FPN), you need to create an FPN connection.

     

    An FPN connection pairs one portal to another. The portals in an FPN connection can share content in one direction or both (in case both portals are 7.3 and above). Since you can share content between two portals in both directions, a portal in an FPN connection can be a producer and a consumer, at the same time.

     

    In the FPN Connection wizard, trust (one way or two way), connection creation and registration, are all being made with the same wizard.

     

    Be aware that there are different ways for implementing content consumption between portals. So, before you start creating and configuring FPN connections, review the CONTENT SHARING WITH SAP NETWEAVER PORTAL document and chose the recommended option considering your use case.


    In this blog, I will describe the way to configure FPN connection, considering the different possible landscapes.

     

     

    Basic Internal Network


    When having only basic internal network, use the consumer and producer internal network information. Meaning the direct host and port of the instance, with fully qualified domain.

    Scenario A.PNG

    Scenario1.1.PNG

    scenario1.2.PNG

     

    When using secure protocol:

    1. From the "Protocol" dropdown list select "HTTPS"
    2. From the "RMI-P4 Connection Method and Protocol" dropdown list select the corresponding "secure" string (e.g. "Connection string or single server (secure)")
    3. Choose the corresponding ports. By default: HTTPS: port + 1 (e.g. 50201); P4: port + 6 (e.g. 50206). Check the System Information for thecorrect ports

     

     

    Cluster Internal Network

     

    In a cluster environment, where you have a load balancer or a web dispatcher in front of the consumer / producer system, you can use the load balancer or web dispatcher information for the settings.

     

    Scenario B.PNG

    If you would like to load balance p4 communication that can be done only by using the message server information. Check the System Information for the message server host and port.

    message server.PNG

    scenario2.1.PNG

    scenario2.2.PNG

     

     

    External Network – Reverse Proxy


    In an external network, where you have reverse proxy, you should configure also the "External Network Settings" using the reverse proxy information.

     

    Scenario C.PNG
    scenario3.1.PNG


    Why is this needed?

    Because the domains of the external and internal can be different. In those cases, trying to use the internal host and port of the consumer will create a cookie with the internal domain (e.g. local.domain) but redirect links will be with the external domain (e.g. proxy.domain) and therefore the access to the producer will fail. Once you have configured external network settings end users can only access FPN content at runtime if they use the external network host and port. If they will use the internal host and port to access the consumer the FPN content will not work

     

     

     

    If you choose to use FPN functionality you might find the following SAP Notes helpful:

    1. SAP Note 880482 - FPN: Federated Portal Network Central Note
    2. SAP Note 1295662 - Interoperabilitybetween 2 portals in FPN environment

    How to Renovate Your BI Portal Experience with SAP Fiori Launchpad on Portal

    $
    0
    0

    This blog is for customers using SAP Enterprise Portal for a BI Portal scenario.

     

     

    Today SAP provides a new visual design for the portal, based on the SAP Fiori launchpad (FLP), which enables a modern, multi-channel, role-based user experience.

     

    For end users, the launchpad offers:

    •   A central, personalizable, access point for launching the established reporting tools as well as new innovative analytics solutions
    • A modern, intuitive user experience for integrated reporting scenarios with multi-channel access to reports

     

    For portal administrators Fiori Launchpad offers:

    • Gradual renovation of reporting technologies, leveraging the investment in existing BW / portal configurations
    • More information for business users with better UI/UX
    • Multi-channel control.

     

    This offer is available as part of the standard Portal delivery on Premise (see pre-requisite below), as well as in SAP managed cloud (HANA Enterprise Cloud), for customers aiming to simplifying the handling of BIG DATA with intuitive analytic dashboards and BW scenarios.

     

    Your standard portal experience with L-shape:

    OldPortal.PNG

    Might look like this:


    themeWithoutCSS.PNG

     

    Or like this on mobile devices:

     

    mobDevices.png

     

    Each tile provides access to a single report or a dashboard, whereas the tile grouping together with search capabilities replaces the navigation hierarchy.


    The displayed FLP content may differ from device to device, and this brings another FLP advantage: the ability  to maintain one central BI portal content and adjust it to a specific mobile device.

     

    This is especially useful for BI technologies with limited mobile capabilities: for example BEx reports do not run on mobile devices . Such reports can be easily displayed on desktop and filtered out for mobile devices on the configuration level. In addition, the BI admin can choose to show mobile enabled Design Studio reports that will be available only via mobile devices.

     

    Prerequisites:

    • NW 7.31 SP15 or higher*); NW 7.4 SP10 or higher*) is used
    • SAP Fiori Launchpad on Portal (details) is enabled

     

    *) The Fiori Launchpad  on EP functionality with reduced scope is available from NW 7.31 SP12 and NW 7.4 SP7.


    Step-by-step transition:

     

    The steps required to transform your standard portal into a modern user experience for different BI technologies are described here. A short movieshows you an overview of the process and its results.

     

    To learn more about  FLP:

     

    How to Renovate Your BI Portal Experience with SAP Fiori Launchpad on Portal (Step-by-Step Procedure)

    $
    0
    0

    This blog is for portal content administrators who would like to learn about the setup tasks required to enable SAP Fiori Launchpad (FLP) on SAP Enterprise Portal for BI Portal scenario.

     

    BI end users can run the SAP BI reports leveraging the portal configuration in a modern, multi-channel, personalized FLP user experience, after the steps below are performed by the portal administrator (for more information about the end-user experience, click here).

     

    Additionally, the UI theme designer allows you to develop your company’s own themes by modifying one of the
    theme templates provided by SAP.

     

    Prerequisites:

    Use ofNW 7.31 SP15 or higher*); NW 7.4 SP10 or higher*).

    *) The Fiori Launchpad  on EP functionality with reduced scope is available from NW 7.31 SP12 and NW 7.4 SP7.

     

     

    Overview of Steps:

     

    1. Enabling the SAP Fiori Launchpad on Portal
    2. Reusing the existing portal content (roles, pages and iViews) to provide mobile and desktop access to the BI reports via FLP on EP. Every existing iView or page, containing several iViews, will appear on a launcher as a tile. You change/add the following :
      • Role/folder properties
      • iView properties
    3. (Optional) Using the UI theme designer for new theming and branding.


    Detailed Steps:

     

    1. Enable SAP Fiori Launchpad on Portal (detailed steps). Note:
      • The categories will reflect the tile grouping in the tile catalog
      • Each iView can be assigned to one category (see the iView properties table below)
      • End user’s home page will be empty when opened for the first time unless you mark an iView as default

       2. If a role contains iViews directly, the following role properties must be set:

      • Select the Entry Point checkbox
      • Set Mobile Perspective to “Launcher”

      LauncherParam.png


        3. If the role configuration contains iViews separated in folders as shown below:

      RoleFolder.png

       

      The following folder properties should be set:

        • Select the Entry Point checkbox
        • Set Mobile Perspective to “Launcher”


        4.  The most important iView properties are listed below. For other relevant properties see Example 1 and here.


      - Object ID of Device Group Example: TabletAndroid;TabletWin8;com.sap.portal.dg.desktop

      This property, together with the Mobile Perspective property of a role or a folder controls an iView’s mobile enablement:

        • If a report has to run on a mobile device, Object ID of Device Group must contain at least one mobile object in addition to the “Mobile Perspective” setting (see Example 2)
        • If a report BI technology is not supported on mobile devices, it can be excluded by setting Object ID of Device Group to desktop devices only

      - Default App in Home Page will always show the tile on user’s home page.

       

        5. To provide company theming and branding use SAP Fiori Launchpad Theming  (see example 4).


      Example 1:


      You want to enable an existing BEx report on FLP on EP with the following requirements:

       

      • The report is available only on desktop
      • The report is opened in Portal Content Area

       

      BEx iView properties should be updated as below:

      BexProperty1.PNG

       

      Note: in the iView property Application Parameters you have to concatenate to a default value “sap-ie = EmulateIE8” a string “&theme = sap_tradeshow”.


      BexProperty2.PNG

      BexProperty3.PNG

      Example 2:


      You want to show the same data as in Example 1 on a mobile device. To do this, you create a new
      Design Studio report and an iView with the following properties:

      DSProperty1.PNG

      DSProperty2.PNG

      Example 3:

       

      You transform your traditional portal  like on the picture below

      OldPortal.PNG

        Into FLP:

      HomePageCloud.PNG

       

      Tile catalog for the above home page looks like this:


      TileCatalogCloudDemo.PNG

      The category names correspond to the top navigation bar of a classic Portal experience. The groups might be smaller than categories and represent the lower hierarchy levels. You can run a report clicking on any tile or using a quick launch:


      QP.PNG


      The report displayed in Portal Content Area looks as below:

      QuarteRevenueBuildIn.PNG

       

      Example 4:

       

      After using theme designer your home page might look like this:


      themeWithoutCSS.PNG

       

      Checking Your Work

       

      After completing the procedure above, check the results by following these steps:

      1. Open the FLP on EP link http://<domain>:<port>/irj/portal/flp on desktop. The tiles available for desktop and marked as “Default App in Home Page” are displayed in the Home page under the default groups (identical to the categories in tile catalog). Further personalization will be done by end-users as following:

        • Go to Tile Catalog. All the tiles appear under provided categories
        • Most of the often used tiles are usually added to Home page. For this choose a tile, click on it, create a group, and assign a tile to it.

          2.  Click the tile to open the corresponding BI report.

        3. Open FLP on EP link http://<domain>:<port>/irj/portal/flp on mobile device. Verify that only mobile-enabled tiles are visible.

         

         

        About Portal-BI Integration:

         

        1. BEx /WAD – EP Integration.
        2. Design Studio – EP integration  MANDATORY:To enable your application users to launch the analysis application iViews in the portal, you must configure the security zone NetWeaver.DesignStudio.
        3. BObj – EP integration, How-to install PIK for BI integration

         

        To learn more about  FLP:

         

        SAP Portal on Smart Watch – Part 1: Pebble

        $
        0
        0

        2015 will probably be the year of wearables. As part of an innovation project at BTEXX we tried to unmistify the magic behind it and implemented a couple of Smart Watch prototypes based on SAP Portal backend data, because you do not need to wait for S/4HANA to build a fancy SAP Smart Watch App …

         

        We are happy to share our experience in a “Portal on Smart Watch” blog series. Which we would like to divide in 3 parts:

        • Part 1: Introduction and Portal Scenarios on Pebble Smart Watch
        • Part 2: Portal Scenarios on Android Wear
        • Part 3: One more thing: Portal Scenarios on the Apple Watch

         

        Introduction to Wearables

         

        Current research studies, e.g. from Forrester, have shown that end users and enterprises are interested in wearables and are planning to use them or are willing to invest in business cases based on them. Forrester has published the following 5 predictions of wearables:

        • The people want it
        • The business wants it even more
        • Companies are inventing new business and service models around wearables
        • Wearables involve surprises
        • The target can be an all-body network

        Source: CIO/Forrester (German Site) or an alternative English blog about the topic

         

        Pebble Smart Watch

         

        If you are following the smart watch market, you have probably heard of Pebble. Pebble was successfully funded via the crowd-funding platform Kickstarter in 2012 and till now they have sold over 1 Mio. Smart Watches. Currently they are funding their new edition “Pebble Time”, which will be again the biggest campaign on Kickstarter. On the first day of the campaign they have raised over 5 Mio. dollar alone… 

         

        For our development we used the “Pebble Steel” which works as companion watch for Apple iPhones or Android Phones. The watch has a 144 x 168 pixel black and white e-ink display and you can implement the following kind of watch apps:

        • Watchfaces: Modern or classic watchface enriched via smart information, e.g. from an SAP System
        • Notifications: Push notifications, primarily the Pebble is displaying notifications from the connected smartphone
        • Watch Apps: Custom smart watch app implementations based on the Pebble SDK

         

        What I loved during the development/prototyping was the cloud based development environment, without a local setup I was able to develop my first watchface in a couple of minutes and was able to deploy and test the development on the watch. A good start for Pebble developers is the Pebble Developer Site, which offers good tutorials and API documentation.

         

        But now let’s have a look what scenarios/prototypes we have implemented for the Pebble.

         

        Portal Scenario 1: UWL Watchface

         

        Simple UWL watchface implementation, which shows next to the time (it’s still a watch) the total number of open tasks (e.g. 8 tasks) and details of the latest task, in this case a HR time correction request (Clock-in) of Dieter Martens…

         

        uwl_watch_en.PNG

         

        Portal Scenario 2: BTEXX mobilePortal on Pebble

         

        This menu based smart watch application displays the latest news, tasks and services…

         

        mobilePortal_1_en.PNG

        The UWL tasks can even be approved/rejected via the watch…

         

        mobilePortal_2_en.PNG

         

        Architecture

         

        pebble_architecture.PNG

         

        The native watch apps are implemented in C (Layout and Business Logic) and Javascript (Connectivity to the Internet/REST Services) and are running directly on the watch on top of the Pebble SDK.

        Via bluetooth coupling between the watch and the smartphone the Pebble SDK on the watch can connect via the Pebble Companion App on the smartphone to our REST API of the BTEXX mobilePortal to access e.g. Universal Worklist entries, etc…

         

        I hope you found the provided information valuable! I am looking forward to your feedback or questions!

         

        Stay tuned for the Portal Scenarios on Android Wear and on the Apple Watch… hopefully we will find time to write the blogs in the next weeks...

         

        Best regards,

        Michael

         

        About BTEXX

        Based on the connection between user perspective, SAP technology and process know-how, BTEXX implements user-friendly solutions that make companies more efficient and users happy.

        How to add doctype to your login page

        $
        0
        0

        Hi,

         

        Since HTML5 adoption is really high I heard from several customers that they would like to have an HTML5 based login page.

         

        Out of the box the NW Portal doesn't give you the configuration to add the needed doctype attribute in order to allow HTML5 login page.

         

        This blog will help you to add the doctype attribute to the document, so lets get started..

         

        * The procedure described will work for all versions higher than the version stated in this SAP note 1713259

         

         

        1)        Under the content catalog, copy from Portal Applications -> com.sap.portal.runtime.logon -> certlogon and paste as PCD object in a folder under "Portal Content".

        12-03-2015 13-31-58.png12-03-2015 13-33-22.png12-03-2015 13-38-23.png

         

         

         

        2)      Edit the permissions of the newly created iView add the Group Everyone with both Admin read and "End User" checked.

         

        12-03-2015 13-54-47.png

         

        3)      Edit the iView using the support PCD Inspector tool and add to it a String property with id " com.sap.portal.prt.html5.compliant" and value "true"

         

        12-03-2015 13-57-14.png12-03-2015 13-56-38.png

         

         

        4)      Apply SAP steps 2a, 2b, 2c from note "1713259 - PRT support for HTML5 doctype" Setting the PRT html5.compliant property to "iViewDependent "

         

        12-03-2015 14-02-17.png

         

         

        5)      Follow http://help.sap.com/saphelp_nw73/helpdata/en/1a/3afd4e641b8f42ac07bb77fe30375b/frameset.htm

        create your own authscheme.xml file in the custom file replace the entries

        " <frontendtarget>com.sap.portal.runtime.logon.certlogon</frontendtarget>" with "<frontendtarget>pcd:portal_content/<your folder>/certlogon</frontendtarget>".

         

         

        6)      Restart the whole cluster for the authscheme.xml configuration to take effect.

         

         

        And that's it, your'e done.

         

        Now your logon page will have the HTML5 doctype declaration in a standalone scenario.

         

        Cheers,

        Saar

        Viewing all 218 articles
        Browse latest View live


        Latest Images