Reusing of custom developed portal components
Hi, what are the main rules and methods when you want to reuse custom developed portal components from scratch.
We have at least 10 components that will use the same skeleton when we develop them. An example would be a portal application that has 2 states in common with other three components, but the third state is different.
I hope I was clear.
Lucian.
One method would be to have all components within the same par file. This will allow you to have a generic constants.java file which contains all of the available states.
Another method would be to use the SharingReference property as part of the component. This would mean creating the initial component with all of the available states. Make sure that this component is shared. Then, every other component can share the classes of the initial component. This works in a similar fashion to using the HTMLb service and classes.
I hope this helps
Darrell
Similar Messages
-
Hi Friends,
Recently i got access to SAP Enterprise Portal 6.0 server of our parent company in US. Locally i have developed some portal components using Tomcat_PDK and Eclipse.
How to deploy these portal components into the SAP EP?.
Can anybody please explain me the functionality of the tabs available in SAP EP Server homepage?.
Thanks.
Regards,
Tamilarasan.Hi Tamilarasan,
the first difference between EP5 & EP6 for developers is that there is no PDK beneath th EP. The "PDK" for EP6 is a business package (a role with some content) to import into EP6. From there, you can upload components (PAR files), delete them etc., and you have the doc's that you know from PDK 5.0.
There is also a different Eclipse plugin!
Portal components for EP5 and EP6 differ in many points, for example there is a xml deployment descriptor in EP6 where in EP5 you had the profile property files.
Also some APIs have changed of course.
But you can import EP5 par files into Eclipse with the EP6 plugin, so this would be a starting point.
Hope it helps
Detlev -
Custom developed Portal Theme Style Sheet
Hi,
Can anyone provide me the way how to find the Portal theme stylesheet(css file).
Best Regards
SidHi ur CSS files les in ur Themes, i dnt remeber the way to extract that as i have done long time ago. Can you a bit ellaborate me wat is the need for which u are looking for css files.
-
Advanced Development Techniques for Oracle Portal Components
Hello friends,
I have the following problem. I have a report and a form (on a
view) in the same page, and when I select an item of the report
the form is refreshed with the values associated to the selected
item. The problem is that it makes it with delay, the first
selection doesn't show anything and the remaining sample the
data of the previous selection.
This application has been developed as Ken Atkins explains in
its document "Advanced Development Techniques for Oracle Portal
Components."
Oracle Portal Version: 3.0.9.8.0
Thanks in advance.
This is my code:
-- REPORT --
SELECT '<A HREF="http://mipc/portal30/
ALFONSO.refrescar_contenido?
p_variable=nombre_preferencia&p_variable_valor='||nombre_preferen
cia||'&p_pagina=61">'||Preferencias||'</A>' nombre_link
FROM ALFONSO.PREFERENCIAS
-- PROCEDURE TO REFRESH THE PAGE --
CREATE OR REPLACE PROCEDURE refrescar_contenido(p_varible IN
VARCHAR2,
p_variable_valor IN varchar2,p_pagina IN
VARCHAR2) IS
v_Sesion portal30.wwsto_api_session;
BEGIN
v_Sesion := portal30.wwsto_api_session.load_session
('CONTEXT','SESS_EMP');
v_Sesion.set_attribute(p_varible, p_variable_valor);
v_Sesion.save_session;
owa_util.redirect_url('http://mipc/servlet/page?
pageid='||ppagina||chr(38)||'_dad=portal30'||chr(38)
||'_schema=PORTAL30'||chr(38)||'_mode=3');
END;
-- FORM --
-- ... BEFORE DISPLAYING THE PAGE
alfonso.consulta_preferencia(p_session);
-- PROCEDURE consulta_preferencia --
CREATE OR REPLACE PROCEDURE consulta_preferencia(p_session in
out PORTAL30.wwa_api_module_session) IS
v_RowID VARCHAR2(100);
v_Session portal30.wwsto_api_session;
v_nombre VARCHAR2(40);
BEGIN
v_Session := portal30.wwsto_api_session.load_session
('CONTEXT','SESS_EMP');
v_nombre := v_Session.get_attribute_as_varchar2
('nombre_preferencia');
IF v_nombre IS NOT NULL THEN
BEGIN
SELECT rowidtochar(rowid) INTO v_RowID
FROM ALFONSO.VISTAPREFERENCIAS
WHERE nombre_preferencia = v_nombre;
-- VISTAPREFERENCIAS it is the view in which the form is
based.
END;
-- Tell the component that the query is coming from a link,
and that the rowid
-- is being used to query the correct context record.
p_session.set_value (p_block_name=>'DEFAULT',
p_attribute_name=>'_CALLED_FROM_LINK'
,p_value=>'ROWID');
-- Pass the rowid of the context record to query.
p_session.set_value (p_block_name=>'DEFAULT',
p_attribute_name=> '_ROWID'
,p_value=> v_RowID);
-- Now do the actual query, using the query button
processing in the target module
portal30.wwa_api_module_event.do_event
('DEFAULT','QUERY_TOP',1,'ON_CLICK',True,'',p_session);
-- Save the session information, which includes the
p_session.save_session;
END IF;
END;
/You can make the report with a procedure from which you may call to a form by means of a link. It is a possibility, no??
It is better a example:
TABLE A
campo1 VARCHAR2 (20)
campo2 VARCHAR2 (20)
CREATE OR REPLACE PROCEDURE REPORT IS
v_cursor NUMBER;
sentencia VARCHAR2(200);
vnumfilas NUMBER;
rowid_pref VARCHAR2(18);
v_campo1 <schemaname>.A.campo1%TYPE;
v_campo2 <schemaname>.A.campo2%TYPE;
BEGIN
htp.p('<HTML>');
htp.p('<HEAD>');
htp.p('</HEAD>');
htp.p('<BODY>');
sentencia := 'SELECT rowidtochar(rowid), campo1, campo2 FROM A';
DBMS_SQL.PARSE(v_cursor,sentencia,DBMS_SQL.V7);
DBMS_SQL.DEFINE_COLUMN(v_cursor,1,rowid_pref,18);
DBMS_SQL.DEFINE_COLUMN(v_cursor,2,v_campo1,20);
DBMS_SQL.DEFINE_COLUMN(v_cursor,3,v_campo2,20);
vnumfilas := DBMS_SQL.EXECUTE(v_cursor);
LOOP
IF DBMS_SQL.FETCH_ROWS(v_cursor)=0 THEN
EXIT;
END IF;
DBMS_SQL.COLUMN_VALUE(v_cursor,1,rowid_pref);
DBMS_SQL.COLUMN_VALUE(v_cursor,2,v_campo1);
DBMS_SQL.COLUMN_VALUE(v_cursor,2,campo2);
v_link := '<A href="PORTAL30.wwa_app_module.link?p_arg_names=_moduleid'||chr(38)||'p_arg_values=<form's moduleid>'||chr(38)||'p_arg_names=_rowid'||chr(38)||'p_arg_values='||rowid_pref||chr(34)||'>'||campo1||'</A> '||campo2||' <BR>';
htp.p(v_link);
END LOOP;
htp.p('</BODY>');
htp.p('</HTML>');
END;
the form has to be based on the table A.
I dont know if this example has errors, but have you the idea??
I hope it helps you out.
(Excuse my english) -
Portal / Custom Development Licensing Question
Hello,
we want to install and use the Netweaver Portal with some "default" Portal features like rooms and some custom webdynpro development. But we are not sure how to license this scenario.
We have a lot of licensed ERP / ECC users in our ABAP system. But not all of the future portal users are ERP user. There is no connection between custom development and the ABAP system. Am I right, that all portal user, who wants to access the ABAP backend must have a valid ABAP (ERP) license?
What about the other users who don't have an ABAP license? Do they need a special portal license?
Thank you.Hi,
My understanding is the SAP Portal falls under your Netweaver license which might be different from your Business Suite or ERP license. Best advice I can give you is to check with your SAP Account Executive and clarify exactly your scenario.
Generally I believe there is a "casual" license for users of ERP that do so only via the portal (e.g. ESS/MSS).
BRgds,
Simon -
Add custom development to Portal
Dear friends,
I am a abaper new to Portal. I have developed car expenses screens in SAP. I have a requirement to add these screens in Portal under particular link.
Kindly suggest.
Praveen LoboIs your custom development screen is accessed through any T-code , then you can use SAP Transaction iview where you can mention the t-code there.
Please mention the kind of development that you did like developed in webdynpro ABAP or BSP ..etc...
If you developed it through webdynpro ABAP, then you have to use SAP WEbdynpro iview.
Below blog will help you in creating webdynpro abap iview
Creating WD-ABAP iView and the WD Namespace
You can also create BSP iviews with the below help link
http://help.sap.com/saphelp_nw04s/helpdata/en/30/1b62799d786445a72ad85acb4fd55b/frameset.htm
Raghu -
NLS compatibility of portal components
Nice to be back to discussion forums after a long time :)
What are the best practices for building NLS compatible portal components such as Forms, Reports, LOVs. wwnls_api seems to be useful only for custom portlets and dynamic pages. However for Forms created based on tables/views, the field names are all static strings and we don't have anyway of manipulating these strings using wwnls_api.get_string method.
One crude strategy is to maintain a duplicate copy of a component for every language which would not only increase the extensibility but also consumes lot of development time. Can someone suggest a better way?
I went through the following article - but it does not address Forms, Reports etc., translation.
http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/OTN_CONTENT/MAINPAGE/PUBLISH_CONTMGMT/TRANSLATION%20TECH%20NOTE.HTM
Thanks in advance,
Amjad.Hi Amjad,
Good to see you.
I don't think there's an easy way to achieve this. Try to post your question in the Portal Applications forum.
Peter -
Post Upgrade Step "Adjust custom development"
Hello all:
Based on your BI 3.x to 7.0 upgrade experience, I wanted some insight on the post upgrade step "Adjust custom development per note 857904". Can you please share how you handled this, any details of activities done here...any tips?
Thanks,
PravinHi Pravin,
Hope this helps you -
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/472443f2-0c01-0010-20ab-fbd380d45881 - you can use this checklist for 2004s too!
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a0d7c290-0201-0010-bbaa-d8f8af341796
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a1a0eb43-0b01-0010-23aa-908cc4eaabcd
Bye... -
How to deploy custom development with JDI
We use JDI to deploy webdynpro for ESS application. for that we create a track, check in ESS components in the track and set up run time systems. now we are going to do custom development, for example: create interactive forms, etc.. we would like to use the same procedure to deploy modifications, but we could not found any software components to check in for the track. we are wondering, what should we do for our customer development? how do we create track without any software components?
Thanks
Jane ZhouHi
U can create the prduct and component by logging to SLD
http://hostname:port/sld
and then clicking on software catlog...
regards
Krishna -
How to deploy custom development
We use JDI to deploy webdynpro for ESS application. for that we create a track, check in ESS components in the track and set up run time systems. now we are going to do custom development, for example: create interactive forms, etc.. we would like to use the same procedure to deploy modifications, but we could not found any software components to check in for the track. we are wondering, what should we do for our customer development? how do we create track without any software components? If we don't use JDI, how do you get the modifications in to development environment after they are tested in NWDI? Do you allow developers to connect to sdm for development system driectly?
Thanks
Jane ZhouHi,
For that we should be creating a software component in SLD.
Define the required DC's for that.
After doing this we need to create track for this software component.
From then the way to develop will be same as modifying any ESS application the only change will be instead of saying create project in inactive DC's we say create application for the new Software component.
Regards,
Nagaraju Donikena. -
Passing Values Between to portal components
Hi All,
Im having 2 portal components in my UI ,in the 1st component user has to select data from dropdownkey and inbox and i need to carry these values and display in 2nd portal component,also user has to select somemore details from the second portal component..,based on all his inputs i need to create a new data in r3 system.
Any codesamples,articles..??
regards,
VinothHi,
This is possible and very easy to implement.
Since version 1 patch 3 of the PDK.NET was released, embedded .NET iViews on the same page are processed together. So you could actually access one portal component from another.
One of the new features of version 2.0 was creating server side events between iViews on the same page <b>at</b> design time Take a look at the following <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/dotnet/pdk%20for%20.net/developer's%20Guide%20PDK%202.0%20for%20.NET/Programming%20with%20PDK%20for%20.NET/Designing%20Portal%20Pages/PPD_Workflow.htm">link</a> .
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/dotnet/pdk%20for%20.net/developer's%20Guide%20PDK%202.0%20for%20.NET/How%20to/PortalServerSideEventing.htm">here</a>is the link to the HowTo illustrating creation of server side events between iView at runtime (this if part of the documentation that comes with the PDK .NET add-in).
Another option is to implement client side events using the EPCM, <a href="https://media.sdn.sap.com/html/submitted_docs/dotnet/How%20to/Portal%20Client-Side%20Eventing.htm">here</a>is the link to that how to.
Regards,
Tsachi -
Problem Starting a custom built portal service
Hi,
When I try to start my custom build portal service I get the following error message:
"Server 4128450:Error in the listener class com.sap.ip.portal.admin.portalanywhere.QueryHandler during the process of handleTopic."
Does anyone have a solution on this problem?
Here is my portalapp.xml file:
<?xml version="1.0" encoding="utf-8"?>
<application>
<application-config>
<property name="releasable" value="false"/>
<property name="startup" value="true"/>
</application-config>
<components/>
<services>
<service name="TestService" alias="Test">
<service-config>
<property name="className" value="se.xxx.mdm.TestService"/>
</service-config>
<service-profile>
<property name="ServerName" value="ABC"/>
</service-profile>
</service>
</services>
</application>
Kind Regars
MichaelHi Jasmin
Yes TemplateCC is my class. I originally used RSA (Rational) to export the JAR, but have since also done it with Vanilla Eclipse (Using the same export options that you use). Eventually I've come to the conclusion that there's nothing wrong with the jar, but rather something wrong with my App server. Here's why:
If I install and start the component on another ES2 server (running on JBoss) it installs perfectly and works correctly in a LC application. The problem only occurs when I try to install the component to my ES2 server on Websphere. I was wondering if it might have something to do with the IBM JVM, but haven't been able to confirm that suspicion yet.
In pursuit of a solution, can you confirm whether the following statement is valid: "If a component installs and starts on one LC server, it must be able to deploy and start on another, even on different platforms"
Thanks for the help thus far. -
How to create new SW component for custome development?
We are looking to develop custom webdynpros and need to create our own SW components.
I've tried to define them in the SLD that the NWDI is connected to and when creating the tracks for the custom development, I do not see our new defined SW when trying to add the SW component to the track.
Any ideas? Are we going about this the wrong direction?
Thanks!!Once you add component in SLD if you want to add that component to your track ,there will be a button Update CMS in domain data or track data .click that and it will refresh and fetch your newly created component.then go ahead and add component to your track
reward points if helpful -
Facing Problem in creating the custom development over Floor Plan Manager
Hi All,
I have made one custom development over floor plan manager, but while deploying the application i am facing the following error.Please help in this regards,
The initial exception that caused the request to fail, was:
com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: ComponentUsage(FPMConfigurationUsage): Active component must exist when getting interface controller. (Hint: Have you forgotten to create it with createComponent()? Should the lifecycle control of the component usage be "createOnDemand"?
com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: ComponentUsage(FPMConfigurationUsage): Active component must exist when getting interface controller. (Hint: Have you forgotten to create it with createComponent()? Should the lifecycle control of the component usage be "createOnDemand"?
at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.ensureActiveComponent(ComponentUsage.java:773)
at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceControllerInternal(ComponentUsage.java:348)
at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceController(ComponentUsage.java:335)
at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdGetFPMConfigurationUsageInterface(InternalFPMComponent.java:245)
at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.changeToExceptionPerspective(FPMComponent.java:862)
at com.sap.pcuigp.xssfpm.java.MessageManager.handleException(MessageManager.java:259)
at com.sap.pcuigp.xssfpm.java.MessageManager.raiseException(MessageManager.java:104)
at com.sap.pcuigp.xssfpm.wd.BackendConnections.connectModelInternal(BackendConnections.java:323)
at com.sap.pcuigp.xssfpm.wd.BackendConnections.initBackend(BackendConnections.java:256)
at com.sap.pcuigp.xssfpm.wd.BackendConnections.connectModel(BackendConnections.java:154)
at com.sap.pcuigp.xssfpm.wd.wdp.InternalBackendConnections.connectModel(InternalBackendConnections.java:237)
at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.connectModel(FPMComponent.java:842)
at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPMProxy.connectModel(FPMComponent.java:1072)
at com.sap.pcuigp.xssfpm.wd.BackendConnections.init(BackendConnections.java:141)
at com.sap.pcuigp.xssfpm.wd.wdp.InternalBackendConnections.init(InternalBackendConnections.java:233)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.wdDoInit(FPMComponent.java:182)
at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdDoInit(InternalFPMComponent.java:110)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:782)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:302)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:741)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:694)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)you forgot to add the usage dependency in the DC metadata section in your DC, you have to add the XSS~utils and fpm as a used DC's as part of your DC, try to add those, if you already done that, so check where missed the adding of used webdynpro components in any of the VAC's or FC's,
Cheer,
Appa -
Message Board taskflows - useless in custom WebCenter Portal application?
Hi,
I am developing custom Webcenter portal application. I have added Message Board - wall viewer taskflow (/oracle/webcenter/peopleconnections/wall/controller/taskflows/WallViewer.xml#WallViewer) to the page. In binding parameters, I can set parameters like userId (I have set it to #{securityContext.userName}). After that each user can post to the wall and see his previous entries. But how can I let my user see posts from other users?
I have connected from my portal to WebCenter Spaces via Webservice API. Created group space named 'myspace' with API and added users as members. I also set my custom portal application to use the same database as Spaces application, to be sure that group spaces I create and entries from Message Board will be stored in the same database.
But when I try to use binding paramter spaceName (I set it to #{'myspace'}) I get error message "Failed to find the space of the message board."
So how can I display messages from group space in my custom portal via Message Board taskflow? In custom portal I only managed to achieve situation, where single user can only see his own posts, what makes this taskflow pretty uselessI did further research, maybe this will give you a clue:
I browsed into code of Message Board taskflow (peopleconnections-view.jar -> oracle.webcenter.peopleconnections.wall.controller.taskflows.WallViewer.xml). The first activity in this taskflow is method call - checkGroupSpaceName, which execures method bound as #{pageFlowScope.WCPeopleConnWallViewerBean.checkGroupSpaceName}
I decompiled oracle.webcenter.peopleconnections.wall.internal.view.WallViewerBean class. In checkGroupSpaceName method there is a line
scope = ServiceContext.getContext().findScope(spaceName)
On the jspx page where Message Boards taskflow is added, I've put a line:
<af:outputText value="#{serviceCtx.allScopes}" id="pt_ot2"/>
which displays as output:
[Scope[name=defaultScope, guid=s8bba98ff_4cbb_40b8_beee_296c916a23ed]]
So clearly Webcenter does not "see" the scope of any space, especially it doesn't see "myspace" scope.
Any ideas what do do?
Maybe you are looking for
-
Flash Player para de funcinar ao desinstalar o anti-virus
Comprei um computador que veio com o McAfee para testar por um mes, como nao pretendia usar este anti-virus desinstalei ele para colocar outro, so que apos desinstala-lo o flash player parou de funcionar no internet explorer e o gadget do windows tam
-
I have the latest version of Flash Player, the latest version of Firefox and my system is a Windows 7 64-bit. Every time I view a Flash Player window, the green color is offset down about one-quarter of the window. This makes it difficult to use Fire
-
HDMI out not recognized.
I have a mid-2009 15˝ MacBook Pro. I connected a (cheap) Mini DisplayPort to HDMI adapter and HDMI cable to my TV. The TV does not get a signal from the computer. Display Preferences does not show any HDMI or any other output. Help.
-
hi all, yah all know the Apple Pro Speakers (eye balls). They have that silly 1.2mm minijack and won't work with standard minijack plugs. They are apparently powered by the sound card in those machines they were intended for but not my old GigaBot Et
-
By pass authentication obiee 11g
How to bypass the authentication in obiee 11g? I could not seeAUTHENTICATION_TYPE=BYPASS_NQS in NQSConfig.ini file. Thanks, Surya