Getting started with Netweaver 7.3 portal Part 2 – NWDS and Logon Page
This is the second blog of my blog series. You can read the first blog here:
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25031
This blog can be used independently of the first blog, the only assumption I am making is you have a running Netweaver 7.3 engine and the NWDS installation files with you.
Installing and Configuring NWDS
1. Download and install JDK 1.6 from here:
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html
2. Copy the file nwds-extsoa-7.3-SP00-PAT0000-win32.zip from:
<your download location>\\51039309\\DATA_UNITS\\JAVA_IDE\\distros\\com.sap.netweaver.developerstudio.distribution.complete.extsoa\\8.30.0.101020102100
to a convenient folder.
3. Extract the content and you will have a folder with name eclipse.
4. Launch the Netweaver Developer Studio from folder eclipse, you may want to create a shortcut on the Desktop.
5. If you haven’t maintained JAVA_HOME property or if it’s pointing to some other java version, eclipse will complain about it. In the dialog window locate the JDK 1.6 installation. Path to JDK 1.6 should be something like
C:\\Program Files\\Java\\jdk1.6.0_25\\bin
6. Restart the NWDS after this and select a suitable workspace.
7. Set the run time engine in NWDS, by going through the menu path:
Window->Preferences->SAP AS JAVA
Your NWDS is setup now for basic development tasks. However it’s my personal preference to always install the two very useful plugins (JAD Eclipse and Jar Class Finder) before I actually get into any development. Although we won’t be needing them for the example discussed in this blog, they are always handy.
Installing JAD Eclipse Plugin
1. Download JAD from here:
Extract it and save it in a suitable folder.
2. Download the JAD Eclipse plugin from here
3. Refer to the below document for step by step instructions to configure JAD Eclipse:
http://5thcross.wordpress.com/2009/05/20/installing-jadclipse-in-eclipse/
Installing Jar Class Finder Plugin
1. Download the Jar Class Finder plugin from here:
http://www.alphaworks.ibm.com/tech/jarclassfinder/download
2. Refer to below for installation steps:
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/2951
This completes the first part of the blog. take a breather and may be a cup of coffee before we start with the second part, which deals with modification of logon page.
Modifying the Logon Page
There is already a wonderful blog on this topic here
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/24955
As I am coming from Portal 7.0 background, and have very little exposure to CE environment. I found it difficult to follow the steps mentioned in above blog (Blame it on my ignorance), I hope the writeup below makes it a bit easier for people like me.
Our aim is to change the branding image on the logon page. Although you don’t need to do a code modification for changing the branding image, as explained here
http://help.sap.com/saphelp_nwce72/helpdata/en/48/ee941b0b803697e10000000a42189b/frameset.htm
This documentation is for CE7.2 (I couldn’t find a similar one for 7.3), however the concept mentioned here can be used in 7.3 as well.
I choose to discuss about changing the branding image due to my fascination for images :-), You will get a glimpse of what I mean in the last screen shot 😉
1. Get ready for the first shock, There are no par files in Netweaver 7.3 Portal. I know the next question is what about all the par based development that I have in my landscape?. I noticed there is a Par Migration Tool. Under the path:
System Administration->Support->Par Migration Tool.
I haven’t tested it myself so won’t be able to explain how it works, may be a topic for the next blog..
2. Copy the war file tc~sec~ume~logon~ui.war from
<Installation drive>:\\usr\\sap\\<SID>\\J00\\j2ee\\cluster\\apps\\sap.com\\com.sap.security.core.logon\\servlet_jsp\\logon_ui_resources\\tc~sec~ume~logon~ui.war
3. Import the war file into NWDS by following the Menu Path:
File->Import ->Web->War File
Tick the checkbox Add project to an EAR, this will create an EAR project which will be used for deployment. Click Finish to generate the two projects.
4. The war project depends on tc~sec~ume~logon~logic_api.jar. You need to import the jar file in WebContent->WEB-INF->lib folder of the project.
5. Also import the image file which you want to use on logon page, in WebContent->Layout folder. (In my case the image name is me.jpg).
The SAP delivered image is branding-image-portals (290X360 pixels), Although you are not restricted by this image size don’t put a big image.
Once you are done it will look like
6. You might get compilation errors at this point of time. Migrate project to Java EE5 to resolve the the errors.
7. Right Click on your war project ->Java EE tools->Update EAR libraries
Content for the below steps 8 and 9 have been taken from here
http://help.sap.com/saphelp_nwce72/helpdata/en/23/c0e240beb0702ae10000000a155106/frameset.htm
8. In the EAR, view \ the General tab of the file <project_name>/EARContent/META-INF/application-j2ee-engine.xml.
a. Enter a provider \ name for your application.
\ \
The provider \ name defines your namespace where your applications reside on the AS \ Java.
\ \
If you enter \ example.com, the application deploys to the following \ path:
\ \
<ASJava_Installation>/j2ee/cluster/apps/example.com/<project_name>
b. \ Choose References and choose with the \ quick info text Add element
c. Choose Create new and enter the required data.
\ \ \ \
Reference Data for \ the Logon Application
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
Field Name \ |
Data \ |
Reference \ target \ |
com.sap.security.core.logon \ |
Reference \ type \ |
hard \ |
Reference target \ type \ |
application \ |
Provider \ name \ |
sap.com |
The Source Tab should look something like:
8. \ In the EAR, edit \ the file <project_name>/EARContent/META-INF/application.xml, and define the URL alias and for your \ custom logon UI. Please make note of the Context Root as it will be needed in the next step. In my case it’s cts_logon.
9. The Source tab will look like
10. Save, Build and Deploy the EAR project to the server.
Right click on the project->Run As->Run on server
Enter the userid password and wait for the confirmation dialog.
11. Don’t worry if you see forbidden when NWDS tries to run the application.
12. Open the Netwaver Administrator by accessing the URL
http://<host>:<port>/nwa
You will need admin rights to access this
13. Navigate to Configuration->Authentication and Single Sign-On->Properties
14. Set the property Path or URL to the branding image (ume.logon.branding_image) to layout/<your image file name>. In my case it’s layout/me.jpg
15. Set the property Alias of the aplication for customizing login pages (ume.logon.application.ui_resources_alias) to Context root you specified in step 8. In my case it’s cts_logon
As you can notice there are many interesting properties listed here. We could have directly supplied the URL of the Branding Image here without modifying the war file.
16. Save your entries and restart the server. Clear the browser caches and open the logon page.
Congratulations. You have successfully modifies the logon page image.
Footnote
While trying to achieve this i studied the logon page a bit and found some interesting stuff
1. Look at this snippet which basically includes the image in the logon page
<td valign=”top”><div class=”urBrandImage“><sap:brandimage type=”main”/></div></td>
<td width=”100%”></td>
<td>
2. You can find the css class urBrandImage in the css files located under
WebContent->css->ur.
Just for the sake of discussion I am pasting the corresponding content of ur_ie6.css here
urBrandImage{overflow:hidden;width:290px;height:360px}
If you want to do some css related tweaking with the image you can do it here.
3. The tag lib sap:brandimage can be found here
WebContent->WEB-INF->taglib.tld. The corresponding tag is
<tag>
<description>Logon link tag</description>
<icon/>
<name>brandimage</name>
<tag-class>com.sap.engine.applications.security.logon.tags.BrandingImageTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>type</name>
<required>true</required>
</attribute>
</tag>
It will be intersting to JAD the com.sap.engine.applications.security.logon.tags.BrandingImageTag class and see what’s in there.
with HTTP it works like charm. But when I connect with HTTPS the logon pages is the default . It look like with HTTPs the changed logonPage.jsp are not loaded . Have someone the same problem ? or a solution for this ?
Regards
Daniel
That sounds a bit strange to me. Can you please try restarting the server. Also if you can check the image source for HTTP and HTTPS. I don't have a system access right now, so can't do it myself.
Thanks
Prashant
I am also getting same error.
the logon page is diffrent when viewed with HTTP and HTTPS.
Any fix please?
for HTTPS you have to change 'certLogonPage.jsp'.
the custo javascripts and css are not loading with HTTPS bit works fine with HTTP any idea???
I am glad that you found this helpful. You don't need any code modification, if you just want to change the image.
Refer to this
http://help.sap.com/saphelp_nwce72/helpdata/en/48/ee941b0b803697e10000000a42189b/frameset.htm
Just store the image somewhere (May be KM or your intranet), it just needs to be accessible from your Portal server, and configure the parameter through NWA.
Thanks
Prashant
Very nice blog.
I am facing a problem trying to update the logon page text in EP 7.3 updated the tc~sec~ume~logon~ui_core.jar with the new text and deployed it but I am unable to see the changes after the restart.
Please let me know how I can fix the issue.
Hi Prashant ,
Great blogs , its has helped me to custmize my logon page ,
I have referred your link in the old sdn links : which had complete pictorial represntation of steps : specialy activties that needs to be performed for deployement linke editing xml and setting is portal side.
can you help me find same blog of yours :"http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25225%3Futm_source%3Dfeedburner%26utm_medium%3Dfeed%26utm_campaign%3DFeed%253A+SAPNetworkWeblogs+%2528SAP+Network+Weblogs%2529"
thanks & regards,
Armaanjit
Hi Armaanjit,
I am aghast to even look at what SDN has done to my blogs. I am seriously thinking of leaving SDN and hosting my blogs on blogspot or some more credible place. Regarding your query you just search for the blog title and you will find some places where people have copied my blogs line by line without even giving proper credits..!! Funny part is I am not sure how to react to this, because atleast they are hosting it somewhere safely, which people can use. Even if it's not under my name I am fine with it.
Let me know incase you face difficulty with any of the steps. I don't think I have a backup and/or kind of energy to restore my blogs.
Thanks
Prashant
Hi Prashant,
Really a great blog to get start with portal 7.3, very useful.
I need your inputs on two more changes in logon page, one is to put favicon in browser and other is to change the browser title from 'SAP NetWeaver Portal' to the client given title. For these requirements I tried below solutions but those didn't work.
1. Favicon - In logonPage.jsp I added these lines to add the favorite icon, but it didn't picked up th icon.
<link rel="icon" href="<%=webpath%>layout/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="<%=webpath%>layout/favicon.ico" type="image/x-icon">
2. Browser title - Tried giving the title in logonPage.jsp itself but failed. Is there any configuration settings present for this ?
Please suggest any way to achieve these.
Regards,
Saurabh
Hi Saurabh,
Thanks for the kind words. Your second requirement is straight forward and you don't need to modify the logon page for that.
1. Go to nwa (Netweaver Administrator)
2. Navigate to Configuration->Infrastructure->Java System Properties
3. Go to services tab, select the service Portal Runtime Container Extension ( tc~epbc~prtc~core ).
4. Modify the property portal.html.head.title to your custom title.
I will have to check for favicon, will get back to you on this.
Regards
Prashant
Yes, it worked and title got changed. Again thanks a lot Prashant !!
Hi Prashant,
I am not able to view complete blog since SDN has been upgraded to new look and feel.. all i see is upto the step (3. Import the war file into NWDS by following the Menu Path: File->Import ->Web->War File) , there is no scroll button and no next page button available on page. I remember last month i was able to see complete blog when SDN was not upgraded. please let me know how to see the remaning part of blog ???
Hi Asif,
You are right. The blog content have been lost. I have reported this in bug reporting forum, hope some one from SAP helps on this. In the mean time you can refer to my answer to Armaanjit to access the content.
Thanks
Prashant
Any idea when this BLOG content will be back?
Is there any other place I can access the same information?
Thanks
Manuel
Hi Kumar,
I am unable to view the blog after import war file screen there is nothing I can view in the blog, please help me out in this. I need to work on log on page modification on CE.
Please help me out in getting the details steps.
Thanks,
Harish.K.
Harish,
I have raised a request with the SDN Team for the content to be restored. Not sure when that is going to happen. Refer to my answer to Armanjeet above for the workaround.
Regards
Prashant
Hi Kumar,
It's pretty simple and informative blog. I see that the changes we make in the
tc~sec~ume~logon~ui.war are reflected in the <body> of the page. I am looking add content like link and script to <head> section of the logon page. Do you know how we can achive this? Any help in this will be great.
Thank you
Karthek
Hi Kumar,
I followed the steps which you mentioned above like placing the tc~sec~ume~logon~logic_api.jar in the particular folder and migrated that to JEE5 but I am getting warnings in all JSP files so please guide me how to remove those warnings from the JSP files. Warning messages reads as :
Multiple annotations found at this line:
- No end tag (</table>).
- No end tag (</table>).
- Undefined attribute name (valign).
So please help me out in resolving this issue.
Thanks,
Harish.K.
Hi Kumar,
I have 2 questions
Error Message reads:
DeviceType cannot be resolved (changePasswordPageMobile.jsp)
isRTLMode cannot be resolved (certLogonPageMobile.jsp)
Thanks
DHK
Hi Kumar,
I am trying to do Logon Page Customization in SAP N/W portal 7.3 using your posting
when i import WAR file into my NWDS. i got a error " !java.util.zip.ZipException: error in opening zip file"
Could you please tell me how to resolve this issue?
Regards,
Manivannan P
Hi Prashant,
I was searching something for 7.3 logon page customization and found your blog . Thank you so much for sharing your knowledge and putting efforts to write that blog which is very useful for beginners. We have the same requirement on our project but we are migrating the existing par from 7.0 to 7.3 without any creation of new component.
We imported the track (7.0) on which the already exiting component is there. After creating the project on NWDS 7.3 I deployed and its successfully deployed.
Now I want to see my changes and want to apply the same on the portal. As you mentioned in your blog for previewing Run on Server option but when I am checking for my logon comp dc its not there . Also can you please guide me is it possible to migrate the component without creating the new dc from war file or without PAR file migration tool ?
Appreciate your help
Mayank Saxena
Hey Mayank,
I'm not sure if you are looking for the below option:
http://<hostname>:<port>/irj/servlet/prt/portal/prtroot/com.sap.portal.runtime.system.console.ArchiveUploader
Using the above link you could be able to upload the as-is PAR into EP 7.3.
Hope its useful.
Thanks,
MS
Kumar, excellent blog! It was very informative and just what I was looking for. On a side note, do you know how to configure the Legacy Logon Help in 7.3? In 7.0 it was as simple as going to the Config Tool and setting the ume property ume.logon.logon_help to "true" but it seems that in 7.3 they have done away with this property.
Hi Clayton,
Thanks.
You can refer to this for enabling the help link
http://help.sap.com/saphelp_nw73/helpdata/en/48/ee941b0b803697e10000000a42189b/frameset.htm
Regards
Prashant
Hi Kumar,
I have a question ?
I build a new custon logon page the .ear name is custonLogin.
I want to add on Authentication Schemes,
i put that
< frontendtarget>custonLogin.certlogon</frontendtarget>
But that don't work.
Do you say why.
Thanks
Hi, I've got the same problem - is this still supported ?
Hi,
Very superb blog.
I am facing a problem trying to update the logon page text in EP 7.3 updated the tc~sec~ume~logon~ui_core.jar with the new text and deployed it but I am unable to see the changes.
Please let me know how I can fix the issue.
Santosh.
Hi Kumar,
in our site we implemented different logon screens for different contexts, lets say a logon to the portal "/irj/portal" with the "customer side" logon and the others with the standard logon. Do you think it is possible to implement this functionality - and how ?
would be great to get a hint,
best regard,
Juergen.
Use either IP patterns or 'URL Alias' to control the Logon screen using code!
-MS
Hi folks!
The easiest way to change picture and text is to upload two files to your server to following directories:
/usr/sap/<SID>/J00/j2ee/cluster/apps/sap.com/com.sap.ip.bi.web.portal.mimes/servlet_jsp/com.sap.ip.bi.web.portal.mimes/root/base.framework/resources/layout/
/usr/sap/<SID>/J00/j2ee/cluster/apps/sap.com/com.sap.security.core.logon/servlet_jsp/logon_ui_resources/root/layout/
branding-text-new.gif (325 x87)
branding-image-new.jpg (290 x 360)
Then change picture name in NWA like described above - that´s all!
(ume.logon.branding_image):
(ume.logon.branding_text):
No deveplopment kit and no restart is needed!
Enjoy!
Juergen
Hi,
I am trying to change logon page, in process I followed the steps till 9 and kind of stuck at step 10, I couldn't find option to build and deploy. Could you help me how Build and Deploy and check the output. Is there way I can check the changes I made to logon page at design time and finally deploy it to server or I have to deploy it to server to check the output?
To add/use reset password functionality for end users (resetPasswordPage.jsp in the above mentioned .war), you can add the following code to certLogonPage.jsp (https) or logonPage.jsp (http):
...
<!-- logon help -->
<tr><td align="left" colspan="3">
<span class="urLblStdBar"><%=logonLocale.get("LOGON_IN_PROBLEM")%></span><a href="j_security_check?helpActionPage=PASSWORD_RESET" class="urLnk"><span class="urTxtStd"><%=logonLocale.get("REQUEST_PASSWORD_RESET")%></span></a>
</td></tr>
...
This displays the password reset functionality under the respective application path FQDN/<appl-context-root>/j_securoty_check and requires only FQDN/logon_ui_resources/.. as an additional path - that might be helpful in scenarios where the webdynpro-resources are not open/accessible to public.
Using the new password reset functionality ("support link": Enabling Users to Reset Their Own Password - Identity Management - SAP Library and Configuring Logon Help - Identity Management - SAP Library ) opens an new window and then displays a WebDynpro-application that looks quite different to the logon screen. That WebDynpro-application needs access to /webdynpro/dispatcher/sap.com/tc~sec~ume~wd~enduser/* and /com.sap.ui.lightspeed/* .
Configuring the Logon Screen - Identity Management - SAP Library
Regards,
Manuel
Hi all,
Ioading portal login page with https and http portal urls.
Portla login page changes should be done in both the page of certLogonPage and logonPage.
SAP note: 1578040 - Creating a custom login screen - JSP modifications.
Regards,
Lakshmi Narayana Kodavati.