IlafService in CE 7.1

Hi,
Does anyone know how to get ILAFService in Netweaver CE 7.1. I need it to get the currently applied portal theme. In other threads (I assume for the 7.0) the examples use PortalRuntime class, but I cannot find the JAR for that class in my CE 7.1 installation.
Is there another established way to access the ILAFService in 7.1?

Hi Rajendra,
Did you get a chance to find out this class in the jar files? If so please share the location.
Thanks & Regds,
JC

Similar Messages

  • Com.sapportals.portal.prt.service.laf.ILAFService jar??

    hi all
    where can i find com.sapportals.portal.prt.service.laf.ILAFService ??
    what´s the jar?

    Hi,
    the JAR-File is called lafapi.jar
    Is should be located under:
    j2ee\cluster\servern\apps\sap.com\irj\servlet_jsp\irj\root\WEB-INF\portal\lib\lafapi.jar
    You can use
    http://www.sapjarfinder.com
    for such purposes. The site is new and very helpful. You can search for namespaces and the site will give you information on the appropriate jar file and more....
    Cheers

  • Error with HeaderiView.jsp file

    Hi there,
    I took the masthead par file from the portal and I did some changes in the HeaderiView.jsp. When I try the iview in the preview I see the next error:
    Portal Runtime Error
    An exception occurred while processing a request for :
    iView : pcd:portal_content/pruebasjanet/ZiwImage/zprueba54
    Component Name : prueba1701.default
    Error occurs during the rendering of jsp component.
    Exception id: 10:14_06/09/07_0075_33099350
    See the details for the exception ID in the log file
    I already added the com.sap.portal.navigation.mastheadapi.jar in \PORTAL-INF\lib
    and com.sap.portal.navigation.masthead_core.jar \PORTAL-INF\private\lib.
    Any help would be greatly appreciated!
    Jeanette

    Hi Malini,
    Yes, I did some changes in Jsp file. I'm trying to make a copy of the Help Link. I copied all the components in the portalapp.xml (only changes, for example, <property name="ShowHelpLink" value="true">    <property name="ShowSiteLink" value="true">)
    Would you please help me checking the code?
    Thanks.
    Jeanette
    With the jsp file I have problems:
    <%@ page import = "java.util.ResourceBundle" %>
    <%@ page import = "com.sapportals.htmlb.*" %>
    <%@ page import = "com.sapportals.portal.prt.session.IUserContext" %>
    <%@ page import = "com.sapportals.portal.prt.component.*" %>
    <%@ page import = "com.sapportals.portal.prt.service.laf.*" %>
    <%@ page import = "com.sap.security.api.UMFactory" %>
    <%@ page import = "com.sapportals.portal.prt.service.license.ILicenseService"%>
    <%@ page import = "com.sapportals.portal.navigation.*" %>
    <%@ page import = "com.sapportals.portal.prt.runtime.PortalRuntime" %>
    <%@ page import = "com.sapportals.portal.prt.util.StringUtils" %>
    <%@ taglib uri="prt:taglib:tlhtmlb" prefix="hbj" %>
    <%!
    final String PERSONALIZE_PAGE_EVENT_URN = "urn:com.sapportals:navigation";
    final String PERSONALIZE_PAGE_EVENT_NAME = "PersonalizePage";
    final String PERSONALIZE_PAGE_EVENT_PARAMS = "";
    final String PERSONALIZE_PORTAL_EVENT_URN = "urn:com.sapportals:navigation";
    final String PERSONALIZE_PORTAL_EVENT_NAME = "PersonalizePortal";
    final String PERSONALIZE_PORTAL_EVENT_PARAMS = "";
    final String LOGOFF_CONFIRM_MSG_COMPONENT = "logoffConfirmMsg";
    final String LOGON_REDIRECT_COMPONENT = "logInComponent";
    final String LOGOFF_REDIRECT_COMPONENT = "LogOutComponent";
    final String LOGOFF_CONFIRM_MSG_ARGS_IE = "dialogHeight: 170px; dialogWidth: 350px; edge: Raised; center: Yes; help: No; resizable: No; status: No";
    final String LOGOFF_CONFIRM_MSG_ARGS_NS = "Height=170,Width=350";
    final String LOGOFF_CONFIRM_WINDOW_NAME = "LOG_OFF_WINDOW";
    final String HELP_URL = "HelpUrl";
    final String SITE_URL = "SiteUrl";
    final String HELP_WINDOW_NAME = "HELP_WINODW";
    final String SITE_WINDOW_NAME = "SITE_WINODW";
    final String SHOW_PERSONALIZE_LINK = "ShowPersonalizeLink";
    final String SHOW_HELP_LINK = "ShowHelpLink";
    final String SHOW_SITE_LINK = "ShowSiteLink";
    final String SHOW_NEW_WINDOW_LINK = "ShowNewWindowLink";
    final String SHOW_LOG_OFF_LOG_ON_LINK = "ShowLogInLogOffLink";
    //String constants for NLS
    final String WELCOME_CLAUSE = "WELCOME_CLAUSE";
    final String HELP_TEXT = "HELP_TEXT";
    final String SITE_TEXT = "SITE_TEXT";
    final String LOG_OFF_TEXT = "LOG_OFF_TEXT";
    final String LOG_ON_TEXT = "LOG_ON_TEXT";
    final String PERSONALIZE_TEXT = "PERSONALIZE_TEXT";
    final String PERSONALIZE_PORTAL_TEXT = "PERSONALIZE_PORTAL_TEXT";
    final String NEW_WINDOW_TEXT = "NEW_WINDOW_TEXT";
    final String HELP_TOOLTIP = "HELP_TOOLTIP";
    final String SITE_TOOLTIP = "SITE_TOOLTIP";
    final String LOG_OFF_TOOLTIP = "LOG_OFF_TOOLTIP";
    final String LOG_ON_TOOLTIP = "LOG_ON_TOOLTIP";
    final String PERSONALIZE_TOOLTIP = "PERSONALIZE_TEXT";
    final String PERSONALIZE_PORATL_TOOLTIP = "PERSONALIZE_PORATL_TOOLTIP";
    final String NEW_WINDOW_TOOLTIP = "NEW_WINDOW_TOOLTIP";
    final String BEGINNING_OF_PAGE = "BEGINNING_OF_PAGE";
    final String MASTHEAD_ENTER_TOOLTIP = "MASTHEAD_ENTER_TOOLTIP";
    final String MASTHEAD_EXIT_TOOLTIP = "MASTHEAD_EXIT_TOOLTIP";
    final String UNLOAD_MSG = "UNLOAD_MSG";
    private String GetWelcomeMsg(IPortalComponentRequest request, String welcomeClause)
    IUserContext userContext = request.getUser();
    if (userContext != null)
    String firstName = userContext.getFirstName();
    String lastName = userContext.getLastName();
    String salutation = userContext.getSalutation();
    if ((firstName != null) && (lastName != null))
    if(salutation != null)
    return java.text.MessageFormat.format(welcomeClause, new Object[] {firstName, lastName, salutation}).toString();
    else
    return java.text.MessageFormat.format(welcomeClause, new Object[] {firstName, lastName, " "}).toString();
    else
    return java.text.MessageFormat.format(welcomeClause, new Object[] {userContext.getDisplayName()," ", " "}).toString();
    return "";
    private String GetLicenseText(IPortalComponentRequest request){
    ILicenseService license = (ILicenseService)request.getService(ILicenseService.KEY);
    if (license.sapInternalUsageOnly())
    return "<FONT color=orangeRed size=4><STRONG> Licensed For SAP Internal Usage</STRONG></FONT>";
    else
    return " ";
    private boolean getParameter(IPortalComponentRequest request, String param)
    String value = (String)request.getNode().getValue(param);
    return new Boolean(value).booleanValue();
    private String getHelpUrl(IPortalComponentRequest request)
    String value = (String)request.getNode().getValue(HELP_URL);
    return value;
    private String getSiteUrl(IPortalComponentRequest request)
    String value = (String)request.getNode().getValue(SITE_URL);
    return value;
    private String GetLogoffConfirmMsgURL(IPortalComponentRequest request)
    String componentName = request.getComponentContext().getComponentName();
    componentName = componentName.substring(0, componentName.lastIndexOf(".") + 1);
    IPortalComponentURI msgURI = request.createPortalComponentURI();
    msgURI.setContextName(componentName + LOGOFF_CONFIRM_MSG_COMPONENT);
    return msgURI.toString();
    // Attaching the "UnsavedData=true" flag to the Confirm logoff message
    private String GetLogoffConfirmUnsavedMsgURL(IPortalComponentRequest request)
    String basicUrl = GetLogoffConfirmMsgURL(request);
    String separator = (basicUrl.indexOf("?") >=0) ? "&" : "?";
    return basicUrl + separator + "UnsavedData=true";
    private String GetLogoffURL(IPortalComponentRequest request)
    /*IPortalComponentURI logoffURI = request.createPortalComponentURI();
    return logoffURI.toString();*/
    String componentName = request.getComponentContext().getComponentName();
    componentName = componentName.substring(0, componentName.lastIndexOf(".") + 1);
    IPortalComponentURI msgURI = request.createPortalComponentURI();
    msgURI.setContextName(componentName + LOGOFF_REDIRECT_COMPONENT);
    return msgURI.toString();
    private boolean isAccessabilityOn(IPortalComponentRequest request)
    //End: Temporary, till there's a way to set the accessibility for a user
    IUserContext user = request.getUser();
    //if((user.getAccessibilityLevel() != IUserContext.DEFAULT_ACCESSIBILITY_LEVEL) ||(isAccessibility == true) ) // 508 is on
    if (user.getAccessibilityLevel() != IUserContext.DEFAULT_ACCESSIBILITY_LEVEL) // 508 is on
    return true;
    return false;
    private String GetLoginURL(IPortalComponentRequest request)
    INavigationGenerator navigationService = (INavigationGenerator)PortalRuntime.getRuntimeResources().getService(INavigationService.KEY);
    StringBuffer URL = new StringBuffer(200).append(navigationService.getPortalURL(request , null));
    return URL.append("/login").toString();
    private String GetPortalUrl(IPortalComponentRequest request)
    INavigationGenerator navigationService = (INavigationGenerator)PortalRuntime.getRuntimeResources().getService(INavigationService.KEY);
    return navigationService.getPortalURL(request , null);
    private String getNLSString(IPortalComponentRequest request, String resource_key)
    try
    ResourceBundle bundle = request.getResourceBundle();
    if(bundle != null)
    return bundle.getString(resource_key);
    return resource_key;
    catch(MissingResourceException e)
    return resource_key;
    private String GetThemeURLPath(IPortalComponentRequest request)
    ILAFService iLAFService = (ILAFService)request.getService(ILAFService.KEY);
    String currentTheme = iLAFService.getCurrentTheme(request).getThemeName();
    String url = iLAFService.getRelativeThemeRootURLPath(request, ILAFService.PORTAL_THEME) + "/" + currentTheme + "/prtl";
    return url;
    //Get the external logoff URL
    private String getExternalLogOffUrl()
    return UMFactory.getProperties().get("ume.logoff.redirect.url");
    //Get the external logoff Mode (silent / not silent)
    private boolean getExternalLogOffMode()
    return UMFactory.getProperties().getBoolean("ume.logoff.redirect.silent" , false);
    private boolean isAnonymous(IPortalComponentRequest request)
    NavigationEventsHelperService helperService = (NavigationEventsHelperService)
    PortalRuntime.getRuntimeResources().getService(NavigationEventsHelperService.KEY);
    return helperService.isAnonymousUser(request);
    %>
    <%
    boolean isPreview = false;
    // initializaing the labels with the localized labels
    String welcomeClauseStr = getNLSString(componentRequest, WELCOME_CLAUSE);
    String helpTextStr = getNLSString(componentRequest, HELP_TEXT);
    String siteTextStr = getNLSString(componentRequest, SITE_TEXT);
    String logOffTextStr = getNLSString(componentRequest, LOG_OFF_TEXT);
    String logInTextStr = getNLSString(componentRequest, LOG_ON_TEXT);
    String personalizeTextStr = getNLSString(componentRequest, PERSONALIZE_TEXT);
    String newWindowTextStr = getNLSString(componentRequest, NEW_WINDOW_TEXT);
    String helpTooltipStr = getNLSString(componentRequest, HELP_TOOLTIP);
    String siteTooltipStr = getNLSString(componentRequest, SITE_TOOLTIP);
    String logOffTooltipStr = getNLSString(componentRequest, LOG_OFF_TOOLTIP);
    String logInTooltipStr = getNLSString(componentRequest, LOG_ON_TOOLTIP);
    String personalizeTooltipStr = getNLSString(componentRequest, PERSONALIZE_TOOLTIP);
    String personalizePortalTooltipStr = getNLSString(componentRequest, PERSONALIZE_PORATL_TOOLTIP);
    String beginningOfPageStr = getNLSString(componentRequest, BEGINNING_OF_PAGE);
    String newWindowStr = getNLSString(componentRequest, NEW_WINDOW_TOOLTIP);
    String mastheadEnterTable = getNLSString(componentRequest, MASTHEAD_ENTER_TOOLTIP);
    String mastheadExitTable = getNLSString(componentRequest, MASTHEAD_EXIT_TOOLTIP);
    String unLoadMsg = getNLSString(componentRequest, UNLOAD_MSG);
    boolean showPersonalizeLink = getParameter(componentRequest, SHOW_PERSONALIZE_LINK);
    boolean showHelpLink = getParameter(componentRequest, SHOW_HELP_LINK);
    boolean showSiteLink = getParameter(componentRequest, SHOW_SITE_LINK);
    boolean showNewWindowLink = getParameter(componentRequest, SHOW_NEW_WINDOW_LINK);
    boolean ShowLogInLogOffLink = getParameter(componentRequest, SHOW_LOG_OFF_LOG_ON_LINK);
    String mode = (String)componentRequest.getNode().getValue("mode");
    if ((mode != null) && (mode.equals("preview")))
    isPreview = true;
    String themeRootURLPath = GetThemeURLPath(componentRequest);
    boolean isAnonymous = isAnonymous(componentRequest);
    boolean isAccessabilityOn = isAccessabilityOn(componentRequest);
    if (isAccessabilityOn)
    helpTooltipStr = helpTextStr", "helpTooltipStr;
    siteTooltipStr = siteTextStr", "siteTooltipStr;
    logOffTooltipStr = logOffTextStr", "logOffTooltipStr;
    logInTooltipStr = logInTextStr", "logInTooltipStr;
    newWindowStr = newWindowTextStr", "newWindowStr;
    personalizePortalTooltipStr = personalizeTextStr", "personalizePortalTooltipStr;
    %>
    <script>
    function openLogoffMsg()
    <%if (!isPreview){%>
    if (EPCM.getUAType() == EPCM.MSIE)
    releaseProducerSessions();
    if(EPCM.getGlobalDirty())
    // unsaved data on the page, display modified dialog
    var val = window.showModalDialog('<%=GetLogoffConfirmUnsavedMsgURL(componentRequest)%>', '', '<%=LOGOFF_CONFIRM_MSG_ARGS_IE%>');
    if (val == 'logoff')
    disableWorkProtectCheck = true;
    logoff();
    else //no unsaved data
    // data saved, nothing get lost on the page, display normal dialog
    var val = window.showModalDialog('<%=GetLogoffConfirmMsgURL(componentRequest)%>', '', '<%=LOGOFF_CONFIRM_MSG_ARGS_IE%>');
    if (val == 'logoff')
    logoff();
    else
    if(EPCM.getGlobalDirty())
    window.open('<%=GetLogoffConfirmUnsavedMsgURL(componentRequest)%>', '<%=LOGOFF_CONFIRM_WINDOW_NAME%>', '<%=LOGOFF_CONFIRM_MSG_ARGS_NS%>');
    else
    window.open('<%=GetLogoffConfirmMsgURL(componentRequest)%>', '<%=LOGOFF_CONFIRM_WINDOW_NAME%>', '<%=LOGOFF_CONFIRM_MSG_ARGS_NS%>');
    <%}%>
    var isLogoffFinalAllowed = true;
    var logoffStartTime = (new Date).getTime();
    function logoff()
    EPCM.raiseEvent("urn:com.sapportals.portal:user", "logoff", "");
    logoffStartTime = (new Date).getTime();
    window.setTimeout("logoffDelay()", "50");
    function logoffDelay()
    var isLogoffDelayElapsed = ((new Date).getTime() - logoffStartTime) > (60*1000);
    if(isLogoffFinalAllowed || isLogoffDelayElapsed) {
    logoffFinalCall();
    } else {
    window.setTimeout("logoffDelay()","50");
    function logoffFinalCall()
    logoffThirdParty();
    document.forms["logoffForm"].submit();
    function logIn()
    location.replace("<%=GetLoginURL(componentRequest)%>");
    function runPersonalizePage()
    EPCM.raiseEvent("<%=PERSONALIZE_PAGE_EVENT_URN%>", "<%=PERSONALIZE_PAGE_EVENT_NAME%>", "<%=PERSONALIZE_PAGE_EVENT_PARAMS%>");
    function runPersonalizePortal()
    <%if (!isPreview){%>
    EPCM.raiseEvent("<%=PERSONALIZE_PORTAL_EVENT_URN%>", "<%=PERSONALIZE_PORTAL_EVENT_NAME%>", "<%=PERSONALIZE_PORTAL_EVENT_PARAMS%>");
    <%}%>
    function onPersonalizePortalDisable()
    var linkElem = document.getElementById("personalizePortal");
    var linkSepElem = document.getElementById("personalizePortalSep");
    var linkLogoffSepElem = document.getElementById("logoffsep1");
    if(linkElem != null)
    linkElem.style.display = "none";
    if(linkSepElem != null)
    linkSepElem.style.display = "none";
    if(linkLogoffSepElem != null)
    linkLogoffSepElem.style.display = "none";
    EPCM.subscribeEvent("urn:com.sapportals:navigation", "PersonalizePortalDisable", onPersonalizePortalDisable);
    function openNewPortalWindow()
    <%if (!isPreview){%>
    var navTarget = EPCM.getSAPTop().gHistoryFrameworkObj.GetActiveTrackingEntryValue().URL;
    var context = EPCM.getSAPTop().gHistoryFrameworkObj.GetActiveTrackingEntryValue().context;
    if (context != null && context.length > 0)
    EPCM.doNavigate(navTarget, 2, null, null, null, null, context);
    else
    EPCM.doNavigate(navTarget, 2);
    <%}%>
    function openHelp()
    <%if (!isPreview){%>
    window.open('<%=getHelpUrl(componentRequest)%>', '<%=HELP_WINDOW_NAME%>');
    <%}%>
    function openSite()
    <%if (!isPreview){%>
    window.open('<%=getSiteUrl(componentRequest)%>', '<%=SITE_WINDOW_NAME%>');
    <%}%>
    function setFocusOnHeader() {
    var melcomeMessage = document.getElementById("welcome_message");
    var headerNotch = document.getElementById("header_notch");
    if(EPCM.getUAType()==EPCM.MOZILLA) {
    // No focus
    } else {
    if(melcomeMessage!=null && melcomeMessage.currentStyle.display!="none") {
    melcomeMessage.focus();
    } else if(headerNotch!=null && headerNotch.currentStyle.display!="none") {
    headerNotch.focus();
    function logoffThirdParty()
    <% if(getExternalLogOffUrl()!= null){ %>
    var logOffUrl = '<%=getExternalLogOffUrl()%>';
    var silent = <%=getExternalLogOffMode()%>;
    if(silent)
    var newIFrame = document.getElementById("externalLogOffIframe");
    if(newIFrame == null)
    newIFrame = document.createElement("IFRAME");
    newIFrame.style.visibility = "hidden";
    newIFrame.width=0;
    newIFrame.height=0;
    newIFrame.id = "externalLogOffIframe";
    newIFrame.src = logOffUrl;
    document.body.appendChild(newIFrame);
    else
    newIFrame.src = "javascript:void(0)";
    newIFrame.src = logOffUrl;
    <% } %>
    </script>
    <hbj:content id="PageContext">
    <hbj:page title="Header Area">
    <hbj:form id="HeaderForm" >
    <!--<a href="#" tabindex=0 title= "<%=beginningOfPageStr%>" accesskey="m">
    <img src="<%=themeRootURLPath%>/../common/1x1.gif" border="0" style="display:none">
    </a>-->
    <% if (isAccessabilityOn)
    {%>
    <TABLE width="100%" border="0" id="myTable" ti="0" tabindex="0" title="<%=mastheadEnterTable%>" onkeydown="nav_skip('myTable',event)" ct="PortalMasthead" cellspacing="0" cellpadding="0" ><% if (isPreview) {%>ondragover="window.event.cancelBubble = true;" ondragleave="window.event.cancelBubble = true;"<%}%>>
    <%} else
    {%>
    <TABLE width="100%" border="0" cellspacing="0" cellpadding="0" class="prtlHdrWhl" id="myTable" ti="0" tabindex="0" onkeydown="nav_skip('myTable',event)" ><% if (isPreview) {%>ondragover="window.event.cancelBubble = true;" ondragleave="window.event.cancelBubble = true;"<%}%>>
    <%}%>
    <tbody>
    <TR>
    <TD width="1%" nowrap class="prtlHeaderNotch" id="header_notch"> </TD>
          <TD width="5%" nowrap class="prtlHdrWelcome" id="welcome_message" ti="0" tabIndex="0"><%=StringUtils.escapeToHTML(GetWelcomeMsg(componentRequest, welcomeClauseStr))%></TD>
    <TD width="3%" nowrap class="prtlHdrWelcome" id="welcome_message" ti="1" tabIndex="1">
    <SCRIPT LANGUAGE="JavaScript">
    var months=new Array(13);
    months[1]="January";
    months[2]="February";
    months[3]="March";
    months[4]="April";
    months[5]="May";
    months[6]="June";
    months[7]="July";
    months[8]="August";
    months[9]="September";
    months[10]="October";
    months[11]="November";
    months[12]="December";
    var time=new Date();
    var lmonth=months[time.getMonth() + 1];
    var date=time.getDate();
    var year=time.getYear();
    if ((navigator.appName == "Microsoft Internet Explorer") && (year < 2000))
    year="19" + year;
    if (navigator.appName == "Netscape")
    year=1900 + year;
    document.write("<center>" + lmonth + " ");
    document.write(date + ", " + year + "</center>");
    </SCRIPT>
    </TD>
    <% if (showSiteLink || showHelpLink || showPersonalizeLink || showNewWindowLink || ShowLogInLogOffLink)
    {%>
    <TD width="79%" class="prtlHeaderFunctionsTable">
    <TABLE border="0" cellspacing="0" cellpadding="0"
    class="prtlHeaderFunctionsContainer" height="100%">
    <TR>
    <TD nowrap >
    <!--<hbj:link id="SiteLink" tooltip="<%=siteTooltipStr%>" linkDesign="FUNCTION" reference="javascript:openSite();"><hbj:textView nested="true" text="<%=siteTextStr%>"/></hbj:link> -->
    <hbj:link id="SiteLink" tooltip="<%=siteTooltipStr%>"
    linkDesign="FUNCTION" reference="#">
    <% if (!isPreview) { SiteLink.setOnClientClick("javascript:openSite();");} %>
    <hbj:textView nested="true" text="<%=siteTextStr%>"/>
    </hbj:link>
    </TD>
                <TD nowrap>
                  <%}%>
    <%
    if (showHelpLink)
    { %>
    <TD nowrap >
    <!--<hbj:link id="HelpLink" tooltip="<%=helpTooltipStr%>" linkDesign="FUNCTION" reference="javascript:openHelp();"><hbj:textView nested="true" text="<%=helpTextStr%>"/></hbj:link> -->
    <hbj:link id="HelpLink" tooltip="<%=helpTooltipStr%>"
    linkDesign="FUNCTION" reference="#">
    <% if (!isPreview) { HelpLink.setOnClientClick("javascript:openHelp();");} %>
    <hbj:textView nested="true" text="<%=helpTextStr%>"/>
    </hbj:link>
    </TD>
                <TD nowrap>
                  <%}%>
                  <%
    if (!isAnonymous)
    if (showPersonalizeLink)
    if (showHelpLink)
    { %>
                <TD nowrap id="personalizePortalSep" class="prtlHdrSep"></TD>
    <%} %>
    <TD nowrap id="personalizePortal">
    <hbj:link id="PersonalizeLink"
    tooltip="<%=personalizePortalTooltipStr%>"
    linkDesign="FUNCTION"
    reference="#">
    <% if (!isPreview) {PersonalizeLink.setOnClientClick("javascript:runPersonalizePortal();");}%>
    <hbj:textView nested="true" text="<%=personalizeTextStr%>"/>
    </hbj:link>
    </TD>
    <TD nowrap></TD>
    <%}
    if (showNewWindowLink)
    if (showHelpLink || showPersonalizeLink)
    { %>
    <TD nowrap id="newWindowSep" class="prtlHdrSep"> </TD>
    <%}
    else
    {%>
    <TD nowrap> </TD>
    <%}%>
    <TD nowrap id="newWindow">
    <hbj:link id="newWindowLink" tooltip="<%=newWindowStr%>"
    linkDesign="FUNCTION"
    reference="#">
    <% if (!isPreview) {newWindowLink.setOnClientClick("javascript:openNewPortalWindow();");}%>
    <hbj:textView nested="true" text="<%=newWindowTextStr%>"/>
    </hbj:link>
    </TD>
    <%}%>
    <%}%>
    <TD>
    <%if (ShowLogInLogOffLink)
    {%>
    <TABLE cellspacing="0" cellpadding="0" border="0" class="prtlHeaderFunctionsContainer" height="100%">
    <TR><%
    if (showHelpLink || showPersonalizeLink || showNewWindowLink)
    {%>
    <%
    if(!showHelpLink && !showNewWindowLink)
    {%>
    <TD nowrap id="logoffsep1" class="prtlHdrSep"> </TD>
    <%
    }else
    {%>
    <TD nowrap id="logoffsep2" class="prtlHdrSep"> </TD>
    <%}%>
                      <TD nowrap>
                        <%
    }else
    {%>
                      <TD nowrap >  </TD>
    <%
    if (isAnonymous)
    {%>
                      <TD nowrap>
                        <!<hbj:link id="LoginLink" tooltip="<%=logInTooltipStr%>" linkDesign="FUNCTION" reference="javascript:logIn();"><hbj:textView nested="true" text="<%=logInTextStr%>"/></hbj:link>>
                        <hbj:link id="LoginLink"
    tooltip="<%=logInTooltipStr%>"
    linkDesign="FUNCTION"
    reference="#">
                        <% LoginLink.setOnClientClick("javascript:logIn();"); %>
                        <hbj:textView nested="true" text="<%=logInTextStr%>"/> </hbj:link>
                      </TD>
    <%}
    else
    {%>
                      <TD nowrap>
                        <!<hbj:link id="LogoffLink" tooltip="<%=logOffTooltipStr%>" linkDesign="FUNCTION" reference="javascript:openLogoffMsg();"><hbj:textView nested="true" text="<%=logOffTextStr%>"/></hbj:link>>
                        <hbj:link id="LogoffLink"
    tooltip="<%=logOffTooltipStr%>"
    linkDesign="FUNCTION"
    reference="#">
                        <%if (!isPreview) { LogoffLink.setOnClientClick("javascript:openLogoffMsg();");} %>
                        <hbj:textView nested="true" text="<%=logOffTextStr%>"/> </hbj:link>
                      </TD>
    <%}%>
    </TR>
    </TABLE>
    <%} %>
    </TD>
    </TR>
    </TABLE>
    </TD>
    <%}%>
          <TD width="12%" nowrap class="prtlHdrLogoContainer">
            <% if (isAccessabilityOn)
    {%>
            <%}%>
          </TD>
    </TR>
    </tbody>
    </TABLE>
    </hbj:form>
    </hbj:page>
    </hbj:content>
    <form name="logoffForm" style="display:none;position:absolute;top:-5000;left:-5000" action="<%=GetLogoffURL(componentRequest)%>" method="POST">
      <input type="hidden" name="logout_submit" value="true">
    </form>
    <script>
    <% if (!isPreview) {%>
    if (disablePersonalize) {
    EPCM.raiseEvent("urn:com.sapportals:navigation", "PersonalizePortalDisable", "");
    <%}%>
    setFocusOnHeader();
    EPCM.subscribeEvent("urn:com.sapportals.portal:browser","load",setFocusOnHeader);
    </script>

  • Creating a dropdown for Roles in Top Level Navigation

    Hi,
    I am trying to customize the com.sap.portal.navigation.toplevel.par file.
    Can anybody please help me to create a dropdown for various roles in the portal,if the user clicks on the first role in the Top Level Navigation ,he should see a dropdown list with worksets of the role.
    Any help would be really appreciated
    Thanks
    Art Tech.

    Hello Art Tech,
    I hope I understand you right. You want to change the appearance of the custom built TLN according to the currently chosen portal theme, just like the standard TLN would change its appearance.
    Well, if so, then there are two ways:
    1) The HTML and styles/classes of your custom built TLN are still more or less the same as in the standard or you can at least reuse most of the standard HTML output/structure, then applying a new theme would also affect your custom TLN.
    2) You have your own HTML output for the TLN, not relying on anything from the standard TLN, and you most probably work with a custom stylesheet file (e.g. "tln.css"). What you have to do then is to provide a set of TLN stylesheet files for each portal theme you want to support and include it accordingly by retrieving the current theme's name via the ILafService (Look & Feel Service). Or you rely on only one CSS file, then have as many "blocks" of styles (marked with a preceding class selector like in e.g. ".themeNameA ul li a " and ".themeNameB ul li a ") as you have themes, and put a bracket around the TLN-output with class="currentThemeName". For this last approach I give you the sample code (assuming you want to support the themes "SAP Standard", "SAP Tradeshow" and "SAP Chrome"):
    The TLN code: tln.jsp
    &gt;<%@ taglib uri="NavigationTagLibrary" prefix="nav" %>
    &gt;<%@ page import = "com.sapportals.portal.prt.service.laf.*" %>
    &gt;<%@ page import = "com.sapportals.portal.prt.runtime.PortalRuntime" %>
    &gt;<%
    &gt;// include the TLN stylesheet
    &gt;response.include(componentRequest, componentRequest.getResource("css", "css/tln.css"));
    &gt;
    &gt;// retrieve the current theme's technical name
    &gt;ILAFService iLAFService = (ILAFService)PortalRuntime.getRuntimeResources().getService(ILAFService.KEY);
    &gt;String currentTheme = iLAFService.getCurrentTheme(componentRequest).getThemeName();
    &gt;%>
    &gt;
    &gt;&lt;div class="<%=currentTheme%>"&gt;
    &gt;  &lt;ul&gt;
    &gt;  <nav:iterateInitialNavNodes>
    &gt;    &lt;li&gt;<nav:navNodeAnchor navigationMethod="byURL" />
    &gt;    <!-- second level ? -->
    &gt;    &lt;/li&gt;
    &gt;  </nav:iterateInitialNavNodes>
    &gt;  &lt;/ul&gt;
    &gt;&lt;/div&gt;
    The stylesheet: tln.css
    &gt;.sap_standard ul li {background-color:#FFCCCC}
    &gt;.sap_standard ul li a
    &gt;
    &gt;.sap_tradeshow ul li {background-color:#CCCCFF}
    &gt;.sap_tradeshow ul li a
    &gt;
    &gt;.sap_chrome ul li {background-color:#CCCCCC}
    &gt;.sap_chrome ul li a
    I hope this solves your problems.
    Best regards,
    Sven Kannengiesser

  • Howto get informations from theme

    Hi,
    I need to get some value from portal theme(e.g. some Background color of Groups). Now I now how to get theme:
    ILAFService iLAFService = (ILAFService)request.getService(ILAFService.KEY);
    IThemeInfo theme = iLAFService.getCurrentTheme(request);
    but now I dont know what should I do now. When I tried to debug, i found out that theme is of class LAFService@ThemeInfo but i am not able to cast to this class(still getting NoClassDefFoundError, what should i add to portalapp.xml??). Is there any easy way how to find out that informations from theme? (i tried to decompile theme editor, but i get lost in the beggining of the code ).
    thnaks
    JJ

    Hi JJ,
    first of all the LAFservice (Look and Feel Service) is no public API. Furthermore it has only knowledge about themes and their versions.
    The service which knows about parameters is the DesignService residing within the Portal application com.sap.portal.themes.designservice but also this service is no public API.
    Feel free to send a feature request to Enterprise Portal product management.
    Regards,
    Timo

  • Isolation Method URL and Style Sheets

    We have a number of Java iViews we have developed that use the standard portal CSS file(s) for display.
    We have not put an explicit link reference in the HTML output of the iViews, instead, we were using an 'isolation method' of embedded - the iView was picking up the CSS from the main page as you would expect.
    We now want to change the Isolation Method to URL to remove the full screen refresh when events are fired. Using URL removes the CSS links from page, can anyone advise me of the best way of explicitly adding them to a Java iView?
    I've seen a post or two suggesting using a full path reference (including host names and port numbers) I would rather avoid this if I can. I would also like to ensure the iViews work if the user changes their theme

    Hi Tom,
    This code is copied from the masthead par file. Maybe you can use it
    private String GetThemeURLPath(IPortalComponentRequest request)
         ILAFService iLAFService = (ILAFService)request.getService(ILAFService.KEY);
        String currentTheme = iLAFService.getCurrentTheme(request).getThemeName();
        String url = iLAFService.getRelativeThemeRootURLPath(request, ILAFService.PORTAL_THEME) + "/" + currentTheme + "/prtl";
         return url;
    cheers,
    Noë

  • Masthead modification in NW 7.30

    Hello,
    I must to modify com.sap.portal.navigation.masthead in Portal 7.30; I did it in Portal 7.0 and it works, but I can not do it into Portal 7.30...
    Steps:
    - Download com.sap.portal.navigation.masthead sources from the server 7.30
    - Import  com.sap.portal.navigation.masthead.war into NWDS 7.30 (with the corresponding .ear creation)
    - Modify portalapp.xml
    Right now, I'm trying to deploy app, but the system gives me errors in .jsp files:
    Can not find the tag library descriptor for "prt:taglib:tlframework"     light_HeaderiView.jsp     /diba.com.portal.navigation.masthead/WebContent/WEB-INF/jsp     line 16     JSP Problem
    Can not find the tag library descriptor for "prt:taglib:tlhtmlb"     HeaderiView.jsp     /diba.com.portal.navigation.masthead/WebContent/WEB-INF/jsp     line 17     JSP Problem
    componentRequest cannot be resolved     LogInRedirect.jsp     /diba.com.portal.navigation.masthead/WebContent/WEB-INF/jsp     line 7     JSP Problem
    ILAFService cannot be resolved     HeaderiView.jsp     /diba.com.portal.navigation.masthead/WebContent/WEB-INF/jsp     line 228     JSP Problem
    The errors becomes from the libraries, I guess... the system can't resolve:
    <%@ page import = "java.util.ResourceBundle" %>
    <%@ page import = "com.sapportals.portal.prt.service.laf.*" %>
    <%@ page import = "com.sapportals.portal.prt.service.license.ILicenseService"%>
    <%@ page import = "com.sapportals.admin.wizardframework.util.ILocaleListService"%>
    <%@ page import = "com.sapportals.portal.navigation.*" %>
    <%@ page import="com.sapportals.portal.pcd.gl.PcdAccess"%>
    <%@ page import="com.sapportals.portal.pcd.gl.WriteProtectInfo"%>
    <%@ taglib uri = "prt:taglib:tlhtmlb" prefix="hbj" %>
    I tried to add some libraries, but I can not find the corresponding libraries... any idea??
    Thanks!

    Hi
    I am also trying to do the same and stuck while determining the required DCs. I could locate some of the DCs:
    com.sapportals.htmlb                 (FRAMEWORK-EXT)
    tc/epbc/prt/api                            (EP-BASIS-API)
    tc/epbc/prt/lib/api                        (EP-BASIS-API)
    tc/ep/admin/api                           (EP-RUNTIME)
    tc/ep/navigation/api                    (EP-RUNTIME)
    tc/epbc/ume/ep5/deprecated     (EP-BASIS)   --- (deprecated. Instead can use tc/kmc/wpc/wpcfacade -  KMC-WPC)
    tc/je/usermanagement/api          (ENGINEFACADE)
    However even after including these DCs, i am getting error for statement
    <%@ page import = "com.sapportals.portal.prt.service.laf.*" %>
    Have you resolved your issue? Can you tell me what DCs have you defined as required DCs??
    thanks
    Deepak

Maybe you are looking for

  • Business Partners Landlord : Error Message when saving.

    Hi all. I create a business partner roles 0036(General Real Estate Contract) and role assignment 0602 (Landlord with Vendors accounts) and linked it with vendor accounts. During saving, it give the following error message. "Error when posting <custom

  • HP Laserjet pro p1102 kills spooler when printing PDF documents

    I have a HP laserjet pro p1102 running on Win7 63x PC. When I print PDF documents nothing happens on the printer side. Instead the spooler is killed. When checking the spool file I can see that the documents have been spooled to the printer. New driv

  • HT204380 how to change number in FACETIME..????

    how to change number in FACETIME..????  very urgent please some1 do REPLyyy....

  • Problem looping through recordset

    Hi, I am having a problem with the following code. In the test case, the recordset returns more than one record. Only one record is inserted, and the loop aborted after the insert. If I take out the insert statement the loop cycles through for every

  • Need a answer . Please response

    Hi Experts, Will u please give me the solution of my problem .I am doing a report. There are two check boxes named (1)Update TVARV &  (2)  Test .In selection screen there are many select-options & Parameters.Among these one select-options is  ( Purch