Saturday, June 4

Portal Look and Feel - Branding the Portal

After portal installation, user want to change the look and feel and the appearance of portal for his organization, for customers, partners etc. This process is called Branding. During Branding, we create various portal desktop.
One particular type of appearance of portal is called a portal desktop. Portal desktop is a combination of
portalframework pages and portal theme. How things are arranaged on the portal screen is determined by portal framework pages and the feel of portal screen is determined by the portal theme. Once portal desktops are created, they have to be assigned to user or group of users. This can be done by using portal display rules. So in other words, you use portal display rules to assign portal desktops to various users or group of uers. These portal display rules are accumulated in a Master Rule Collection (main_rule).

Portal feamework page determines the navigational structure, layout and content of the portal desktop. Portal
Theme determines the colour, size, font and other visual aspects of various UI elements. So the following steps can be performed to create portal desktops
  • create navigation iviews
  • build navigation pages using iviews created above
  • create page layout
  • create framework page using page layout and navigation page
  • create theme
  • create portal desktop using theme and framework page
  • create rule in master rule collection (main_ruke)
  • assign portal desktop to the newly created rule.
After doing this, log off from the portal and login again, changes the new portal desktop your created
will be visible to you. Errors can occur like 'Error occurred while trying to access desktop'. This may
be because you have not assiged logged in user ID to the display rule created for newly created portla desktop or the portal desktop is deleted etc.Troubleshotting for such type of errors can be done in System Administration  Portal Display. Go to Portal Content Portal Users Standard Portal Users  Default Portal Desktop.
Below are few SAP notes which are useful if you face problems in accessing newly created portal desktops

  • Changes to Default Framework Page have no effect--------687485
  • NW’04 upgrade to >=SP11 Theme Editor missing themes-----861452
  • Error occurred while trying to access desktop-----------869690
  • Error occurred while trying to access framework page----856865
  • Full-Control permissions required to edit Rule Collection--823210
  • Cannot log in: “No portal desktop defined for this user”---715307
Related Articles :

SAP EP - Standard Portal Services
Portal Eventing and Navigation
How to Develop Portal Applications
SAP EP-Developing portal content and assigning permissions
SAP EP-Role maintenance
SAP EP-How to make Enterprise Portal highly available
SAP Material Management Introduction
SAP EP-J2EE architechture

    SAP EP - J2EE architechture

    Introduction
    This article will discuss about the important components of portal technical infrastructure.

    I will talk mainly about the SAP WAS, ABAP and TREX. I will also dicuss about the minimal WAS java installation and a large cluster installation in which we use load balancer.  Once you have a complete understanding of the J2EE infrastructure, you are in a position to design a optimal portal infrastructure which will have all the important features : high availability, scalability, performance, security, and so on.

    Components of a Portal Infrastructure
    Various systems and devices comprise or come together to form the technical infrastructure :  operating systems, network systems, firewalls, high availability solutions, load-balancing devices, and storage devices etc…

    Major components of a portal technical infrastructure are :
    • Web clients
    • Internet browsers
    • PDAs
    • Mobile solutions
    • Web infrastructure
    • Load balancer
    • Web servers
    • Web dispatchers
    • Proxy servers
    • Portal server
    • Portal platform
    • Knowledge management
    • Content management
    • Collaboration platform
    • J2EE engine
    • Web AS database
    • User Management Engine (UME)
    • TREX components
    • Web server
    • Retrieval and Classification Engine
    • Retrieval and Classification Index

    In this post I shall discuss mainly about the J2EE architecture and the TREX components.

    Web AS Java Architecture
    We will have a look at components in a Web AS Java installation. A typical installation has
    a central instance, a central services instance, a Java instance, and a database instance.

    What does the central instance consist of ? it consists of a dispatcher, a server, and a Software Delivery Manager (SDM).

    The central services instance contains the message service and the enqueue service
    installed together on one machine.

    The Java instance does not contain an SDM. The Java instance can contain a dispatcher and one or more J2EE server processes.

    These various instances can be installed on separate physical machines and if they are installed in this way, scalability and availability of the system can be enhanced.


    When we form a java cluster, more than one java instances can be there but only one central service instance. If there are more than one java instances then there has to be a load balancer such as a sap web dispatcher to distribute the load or the incoming requests to various java instances in the cluster.
     
    A java instance has n number of server processes. The number of server processes available in a java instance depends upon RAM of the host on which that Java instance is installed.

    Apart from server processes, a Java  instance has something called java dispatcher.
    It is a kind of load balancer that receives the client request and forwards it to the server process. Message service tells the java dispatcher as to which is the most suitable server process to which the request should be routed.

    Server process will process  the request and will store the user session.

    The java instance in the cluster which has a SDM installed on it is called the central java instance.

    There is something called Java Startup and Control Framework which is used for starting and stopping the Java instance. So it can be controlled and monitored using the SCF.

    Related Articles :
     

    Tuesday, May 24

    SAP EP - Standard Portal Services


    After reading this post, you will be able to answer the following questions.

    What are available services in portal runtime?

    What are the key components of user management engine ?

    How to use the UM API to work with the user, group and role objects ?

    What is the architecture of connector framework ?

    How to use the connector gateway to connect to R/3 System and to RDBMS ?


    Some of the Public Services of Portal Runtime are :

    Logger:
    This service is used to diagnose problems and to return detailed information
    about the problems identified. Depending on the target user, it is possible to define
    simple or more complex logging. The logger provides a set of convenient methods for generating log messages.

    JCo client service:
    To connect to SAP Systems using RFC connections.

    HTML Business for Java:
    HTML Business for Java provides the user with an  efficient set of controls, similar to JavaSwing. The controls are based on servlets and JSP pages. The developer uses bean-like components or JSP tags. Renderer classes translate the components into HTML commands.

    User Mapping:
    User has different IDs in different systems. This service maps them all.

    User Management:
    User Information from the portal

    Navigation:
    Custom Navigation IViews or Hierarchies.

    Xsltransform:
    API for transforming XLS to XML document

    jcoclient:
    Manage JCO Client access by implementing pooling and session timeout/logoff detection

    Application Contentconverter:
    Provides Factories to convert RSS to HTML and XML to HTML.

    Application Contentconversion:
    The Content Type Conversion Service offers API to add content converter capabilities to the response process.
    Admin Logviewer:
    search, filter, browser, download log files of the Platform.

    Admin Logadmin:
    manage logger configuration of the Platform.

    EPCF Toolbox:
    Java classes for EPCF integration

    Useragent:
    User-Agent (Browser) detection plus affiliation checker

    System Landscape: Get information about the system landscape iView Service: iViews/Pages/Systems semantic layer

    What is UME ? UME is the central storage place for user and role information of all Java and ABAP applications that use UME. Persistence manager is responsible for writing the data to and reading the data from the correct data source. The application is unaware from which data source is the data being read or written to.

    Various sources of data storage for UME are possible. Some are : SAP R/3 system, LDAP, Database etc.

    It may happen that that the data source which is being used by UME is also required by some other system like SRM. In such a case a replication of the user information present at the persistence has to be made. This task is handled by the replication manager.

    Two main packages in which almost all of the APIs of UME are covered is :

    Com.sap.security.api and com.sap.security.api.acl

    IUser, IGroup and Irole are present in com.sap.security.api. Also UMFactory and IUserAccount are present in this package.

    IAcl and IAclManager are present in the com.sap.security.api.acl.

    User Management factory

    Applications can access all the functionality of UME through com.sap.security.api.UMFactory

    Various other factories can be obtained from the UMFactory.

    UME Objects are identified by Unique IDs. IUserFActory can be used to create, delete, search users. Also you can perform mass commit/rollback on a set of users The Iuser Object contains all the information about a user. Name, UniqueID, LDAP attributes, display name etc.

    If you want to Modify a User Information, Use the IUserMaint Object. By using the Iuser, you can obtain information about the logged in user. Also you can obtain information about another User. You can obtain information about other User if you know UniueID of the user.


    For more information methods of IUserFactory and Iuser APIs,Visit Methods of IuserFactory and Iuser APIs

    Related Articles:

    Portal Eventing and Navigation
    Portal Look and Feel - Branding the Portal
    How to Develop Portal Applications
    SAP EP-Developing portal content and assigning permissions
    SAP EP-Role maintenance
    SAP EP-How to make Enterprise Portal highly available
    SAP Material Management Introduction
    SAP EP-J2EE architechture

    Thursday, May 19

    Portal Eventing and Navigation

    SAP Enterprise Portal provides a single point of access to various applications and data present in the enterprise. SAP Web Dynpro Java is the technology which is used to create huge business applications. These applications can be integrated in SAP enterprise portal. How does the integration between Web Dynpro java applications and the sap enterprise portal take place. The answer is iviews. Iviews are programs created in java which are capable of displaying data from variety of resources like sap R/3 transactions, sap web dynpro java, sap web dynpro abap applications, BW reports, web services etc.


    Once you have created a web dynpro java application, you can create a web dynpro java iview in portal and provide the name of web dynpro application as reference. You need to make sure that web dynpro java component is available on the web application server from where iview is going to pick up the web dynpro application data and display on the sap netweaver portal. Communication between various views in a web dynpro java application take place using the navigation plugs.

    Suppose there are two separate iviews or 2 separate web dynpro java applications each having one view. Now these applications want to communicate or the a portal user wants to display one web dynpro application on the fire of an event from the other application. This can be done by portal eventing. But if there are many communications in case there are many views in a single web dynpro application, portal eventing is not recommended. In such a case, plugs should be fired to navigate from one view to another view. Plugging is feature of web dynpro technology using which navigation between views become easy.

    How to raise an event in portal ?
    Wdportaleventing.fire(“urn:com.sap.tc.test”, “testWDEvent”, “paramter”);
    An event is generally fired in the evnthandellar method of a web dynpro action.
    The first parameter in the fire method is namespace, second parameter is the event name and the third parameter is the web dynpro action which is mapped with the portal event.
    How to subscribe to a portal event ?
    Wdportaleventing.subscribe(“urn:com.sap.tc.webdynpro.test”, “TestWdEvent”, “wdThis.wdgettesteventaction()”);
    The above line of code is generally placed in the wdDoinit() method of the web dynpro hook methods.

    How to unsubscribe from an event in web dynpro java ?
    Wdportaleventing.unsubscribe(“urn:com.sap.tc.webdynpro.test”, “TestWdEvent”, “wdThis.wdgettesteventaction()”);
    The above line of code is generally placed in the wdDoExit() method of the web dynpro hook methods.

    Navigation
    There are 3 types of navigation possible in Enterprise portal.

    Absolute
    Relative
    Object based navigation

    If the navigation is performed to a pecific target, it is called absolute navigation.
    WdPortalNavigation.NavigateAbsolute().
    Following parameters are used for the above method:

    Navigation target : This specifies the navigation target URL
    Mode: specifies whether the navigation target is displayed in the same browser window of another window. Three options are possible here. Show is place, Show external, Show External Portal
    History Mode: Specifies how the navigation is visible in the navigation history in the page title bar
    Target Title : sets the title of the history in the navigation history bar
    Context URL : specifies the navigation context.

    The problem with absolute navigation is that, if the target is moved to a new location, navigation will fail.
    For this navigation should be performed to a relative target. This is done using the following line of code.
    WdPortalNavigation.NavigateRelative().

    3 main parameters are used in this method. BaseURL, LevelsUP and path.
    BaseURL : It specifies the starting point of relative navigation.
    LevelsUP: Specifies how many levels to up in the navigation hierarchy.
    Path : Specifies the path down the navigation hierarchy to go after going up from the number of levels sspecified by the levelsUp Parameter form the baseURL.

    Object Base Navigation can be called by using following line of code
    wdPortalNavigation.navigatetoObject().

    The following parameters are used for this method.
    System : specifies the system to which business object is assigned.
    BusinessObjType : Specifies a business Object.
    Operation : specifies an operation of the business object.
    BusinessParameters : additional parameters.

    Related Articles :

    Portal Look and Feel - Branding the Portal
    How to Develop Portal Applications
    SAP EP-Developing portal content and assigning permissions
    SAP EP-Role maintenance
    SAP EP-How to make Enterprise Portal highly available
    SAP Material Management Introduction
    SAP EP-J2EE architechture
    SAP EP - Standard Portal Services

    Wednesday, May 4

    WD4A-Format the Values appearing on value Axis of Business Graphic

    Web Dynpro ABAP has a great feature  of displaying data in a graph. This is possible by using the Business Graphic UI element of web dynpro ABAP. There are various types of graphs possible. Some of them are bar, area, portfolio, point, column diagram, histogram etc. one beatifully created graph is shown in the image below.
    There are mainly two things a developer has to know while creating a business graph. The series and the category. What appears on the X axis is called category and the what appears on the Y axis is called the series. There are two types of series in web dynpro ABAP viz simple series and complex series. When the developer knows what all values need to be plotted and exactly how many series will be required at the design time, simple series is used. In this post I will discuss simple series mainly.
    The above shown graph is a stacked graph. There are various ways in a chart type can be represented. One important thing to notice in the above graph is the format of the Y Axis values. There is a property called format in the Y Axis or the value axis. When we specify a particular format, all values displayed on the Y axis are displayed in that format. How do we specify a format. To specify a format, there is a syntax. Ideally, Y Axis would have numbers. But due to specific requirements, text can be appended before and after the number.

    This is how it can be done.
    Put the free text in inverted commas. If you want to create space between the free text and the other text or the number, put spaces in the inverted commas after the free text. For example :

    $Abs$Sep10" USD" gives the label 1234.5689 USD for a value of 1,234.56.


    “The percentage value is “$Percent0.“ %“ gives the label The percentage value is 25 %.


    Related Articles :

    Basics of Web Dynpro ABAP
    ABAP Data Types and Objects
    ABAP Statements
    WD4A - Topics to be covered in the upcoming posts
    WD4A - Introduction
    WDA - SAP Logon Procedures
    WD4A-Navigate from one view to another and back to previous view
    WD4A - How to Calculate next 12 months from current month in web dynpro ABAP
    WD4A - Validate Inputs in a web dynpro ABAP Application