Using JSF in custom activity spaces

Has anyone tried using JSF to build a custom activity space?

Hi Badri,
Please refer : 7.12.4 How to Generate a Task Display Form in http://download-west.oracle.com/docs/cd/B31017_01/core.1013/b28764/bpel012.htm
Hope that answers your question!
Cheers
Anirudh Pucha

Similar Messages

  • HTMLTextarea in a custom activity space - _htFormData problem

    I can create a form in a custom activity space and read the HTMLInput form types after the form post in the XPHashtable available in both the Model's SavePage() method and the RepostControl's PerformAction() method - they're all in the htFormData hashtable just fine.  But when I try to use an HTMLTextarea - the textarea never shows up.  I know other input types require a certain naming convention to be followed or they blow up the form post (e.g. textbox names must start w/ 'intx_' and buttons must be 'in_bu_'). I looked at code the in the plumtree_ui_source portalpages project and found a textarea there called 'in_ta_yadayada' - so I named mine 'in_ta_yadayada' - but that didn't fix it.
    Any ideas?

    Greetings,
    When I use an IControl and post form data to it that includes an HTMLTextArea, I am able to grab the textarea's entered value from CheckActionSecurityAndExecute's arguments. The name of my HTMLTextArea is "in_tx_test":
    public Redirect CheckActionSecurityAndExecute(XPHashtable arguments)
    String[] sValues = (String[]) arguments.GetElement("in_tx_test");
    sValues[0] will then contain whatever was entered into the textarea. Could you perhaps try implementing your solution this way?
    Regards,
    Andrew Bays | bdg | [email protected] | http://www.thebdgway.com

  • Pls Help - ClassNotFoundException error - custom activity space and control

    I am encoutnering the following error when I deploy and run my custom
    Login Activity Space and Control to the Java 5.0.2 Portal. I have created a custom Java project and built successfully(I think) using Ant and have modified the customactivityspaces.xml file appropriately. I have checked that the custom jar file is in the portal.war and PORTAL_HOME\lib\java\ folder. Any help with this would be extremely appreciated.
    Please let me know if I can provide more info.
    Thanks.
    46323     07-20     14:16:24     Fatal     UI Infrastructure     6000     5880 (main)     com.plumtree.uiinfrastructure.activityspace.ASManager.InternalLoadClasses(ASManager.java:497)     Fatal Exception loading lib file: stapleskiosklogin_java.lang.ClassNotFoundException: com.my.kiosk.login.KioskLoginControl_     at java.net.URLClassLoader.findClass(URLClassLoader.java:241)_     at java.lang.ClassLoader.loadClass(ClassLoader.java:516)_     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:460)_     at java.lang.ClassLoader.loadClass(ClassLoader.java:448)_     at java.lang.Class.forName1(Native Method)_     at java.lang.Class.forName(Class.java:142)_     at com.plumtree.openfoundation.util.XPDynamicDiscovery.GetClass(XPDynamicDiscovery.java:344)_     at com.plumtree.openfoundation.util.XPDynamicDiscovery.GetClassesForWar(XPDynamicDiscovery.java:266)_     at com.plumtree.openfoundation.util.XPDynamicDiscovery.GetInstancesFromLib(XPDynamicDiscovery.java:121)_     at com.plumtree.uiinfrastructure.activityspace.ASManager.InternalLoadClasses(ASManager.java:490)_     at com.plumtree.uiinfrastructure.activityspace.ASManager.LoadCustomClasses(ASManager.java:437)_     at com.plumtree.uiinfrastructure.application.AppWarmUp.Init(AppWarmUp.java:442)_     at com.plumtree.portal50.application.AppWarmUpServlet.init(AppWarmUpServlet.java:109)_     at javax.servlet.GenericServlet.init(GenericServlet.java:256)_     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935)_     at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:823)_     at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3421)_     at org.apache.catalina.core.StandardContext.start(StandardContext.java:3609)_     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)_     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)_     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)_     at org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:700)_     at java.lang.reflect.Method.invoke(Native Method)_     at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:252)_     at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)_     at org.apache.commons.digester.Rule.end(Rule.java:276)_     at org.apache.commons.digester.Digester.endElement(Digester.java:1058)_     at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)_     at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1550)_     at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1809)_     at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:949)_     at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)_     at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)_     at org.apache.commons.digester.Digester.parse(Digester.java:1567)_     at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:385)_     at org.apache.catalina.core.StandardHost.install(StandardHost.java:803)_     at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:442)_     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:399)_     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:718)_     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:358)_     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)_     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)_     at org.apache.catalina.core.StandardHost.start(StandardHost.java:738)_     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)_     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)_     at org.apache.catalina.core.StandardService.start(StandardService.java:497)_     at org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)_     at org.apache.catalina.startup.Catalina.start(Catalina.java:512)_     at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)_     at org.apache.catalina.startup.Catalina.process(Catalina.java:180)_     at java.lang.reflect.Method.invoke(Native Method)_     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)

    Thanks a lot for your help Julie! That worked.
    I have a followup question. Now, I get the Login view even though I didn't include a login view in my custom activity space.
    I am trying to develop the custom login activity space and don't want to display the default loginview and want to auto login. So I have created a custom activity space and a custom control. I am not sure if I have everything coded correctly yet. How do I make sure I don't display the login view if I go to my custom space directly?
    What's the best way to do this? I am still trying to go through the PT code and understand it. Any pointers would be very helpful.
    Additionally, for the custom activity space: do I need to extend PlumtreeAS or AActivitySpace ?
    I have my code listed below:
    package com.my.kiosk.login;
    import com.plumtree.portalpages.common.uiparts.*;
    import com.plumtree.uiinfrastructure.activityspace.*;
    import com.plumtree.xpshared.htmlelements.*;
    * Activity Space for Kiosk login.
    public class KioskLoginSpace extends AActivitySpace // AActivitySpace or PlumtreeAS ??
         public static final String STR_MVC_CLASS_NAME = "KioskLogin";
         * @see com.plumtree.uiinfrastructure.activityspace.IManagedObject#Create()
         public Object Create()
              return new KioskLoginSpace();
         * @return
         public String GetName()
              return STR_MVC_CLASS_NAME;
         * @see com.plumtree.xpshared.activityspace.AActivitySpace#Init()
         public void Init()
              super.Init();
              //RegisterPage(new LoginDP());
              //RegisterModel(LoginModel.STR_MVC_CLASS_NAME);
              //IModel myModel = GetModel(LoginModel.STR_MVC_CLASS_NAME);
              //RegisterView(LoginView.STR_MVC_CLASS_NAME, myModel);
              // Register the control in this space
              RegisterControl(KioskLoginControl.STR_MVC_CLASS_NAME, null);
         * Determine whether or not the current user has the security
         * privileges necessary to view the requested page.
         * @see com.plumtree.uiinfrastructure.activityspace.AActivitySpace#CheckBasicAccess(String, String, boolean)
         public boolean CheckBasicAccess(String strPage, String strControl,
                                                 boolean _bSameSpace)
              // All users are allowed to access this space
              return true;
         /* (non-Javadoc)
         * @see com.plumtree.uiinfrastructure.activityspace.AActivitySpace#GetStyleSheetLinks()
         public HTMLElementCollection GetStyleSheetLinks() {
              // TODO Auto-generated method stub
              return null;
    package com.my.kiosk.login;
    import com.plumtree.debug.*;
    import com.plumtree.openfoundation.util.*;
    import com.plumtree.openfoundation.web.*;
    import com.plumtree.portalpages.browsing.myportal.*;
    import com.plumtree.portalpages.browsing.myportal.mypages.*;
    import com.plumtree.portalpages.common.login.*;
    import com.plumtree.portaluiinfrastructure.login.*;
    import com.plumtree.server.*;
    import com.plumtree.uiinfrastructure.activityspace.*;
    import com.plumtree.uiinfrastructure.application.varpacks.*;
    import com.plumtree.uiinfrastructure.login.*;
    //import com.plumtree.portalpages.browsing.login.*;
    * This class handles the control logic for Store Kiosk login.
    public class KioskLoginControl implements ILoginControl, IHTTPControl
         /** object name */
         public static final String STR_MVC_CLASS_NAME = "KioskLogin";
         /** Query String parameters */
    //     public static final String PARAM_CREATE_ACCT = "createacct";
         /** MVC Objects */
         private AActivitySpace m_asOwner;
    //     private LoginModel m_asModel;
         /** these need to be nulled out after execution. */
         private IWebData m_WebData = null;
         private IXPRequest m_xpRequest = null;
         private IPTSession m_userSession = null;
         * @see IHTTPControl
         * @param r
         * @param pageData
         public void SetHTTPItems(IXPRequest r, IWebData pageData)
    //          In a given request, this method is called first.
              m_xpRequest = r;
              m_WebData = pageData;
         * @see com.plumtree.xpshared.activityspace.ILoginControl#SetRedirectForUseAfterLogin(Redirect)
         public void SetRedirectForUseAfterLogin(Redirect r)
              // In a given request, this method is called second.
              return;
         * @see com.plumtree.xpshared.activityspace.IControl#execute()
         public Redirect CheckActionSecurityAndExecute(XPHashtable arguments)
              // In a given request, this method is called third.
              if (PTDebug.IsDebugTracingEnabled(Component.Portal_Browsing))
                   PTDebug.Trace(Component.Portal_Browsing, TraceType.Error,
                        "KioskLoginControl CheckActionSecurityAndExecute() creating redirect to the Kiosk subportal");
              // In a given request, this method is called third.
              if (PTDebug.IsInfoTracingEnabled(Component.Portal_UI_Infrastructure))
                   PTDebug.Trace(Component.Portal_UI_Infrastructure, TraceType.Error,
                                  "GuestSubportalLoginControl Execute() creating redirect to MarkAsGuestControl.");
              // Redirect to the MarkAsGuestControl to mark this session as a guest user.
              // redirect to myPage
              Redirect myRedirect = new Redirect();
              myRedirect.SetLinkCreateNewSpace(MyPageAS.STR_MVC_CLASS_NAME,
                   m_asOwner);
              myRedirect.SetControl(SetPageControl.STR_MVC_CLASS_NAME);
              //int iId = mySession.GetSessionInfo().GetCurrentUserID();
              IPTSession mySession = (IPTSession)(m_asOwner.GetUserSession());
              int iId = mySession.GetSessionInfo().GetCurrentUserID();
              iId = -1 * iId;
              String sId = XPConvert.ToString(iId);
              myRedirect.AddControlArgument(SetPageControl.STR_PAGE_ID, sId);
              // Make this use a true 302 redirect
              myRedirect.SetIsHTTPRedirect(true);
              return myRedirect;
              //return null;
         * This method is used to determine if the guest user should
         * be redirected to their default page or to the login page
         * if a space is not specified.
         * @param RequestData
         * @return boolean true implies the guest should redirect to
         * login if no space is specified. Login is default.
    /*     private boolean IsRedirectOnLogoutEnabled()
              ConfigVarPack vpConfig = (ConfigVarPack) m_asOwner.GetApplication().GetVarPackManager().GetVariablePackage
                   (ConfigVarPack.VARPACK_ID);
              String strGuestRedirect = vpConfig.GetConfigValueAsString(
                   ConfigConstants.AUTHENTICATION_SECTION, "RedirectOnLogout",
                   ConfigConstants.VALUE_ATTRIBUTE);
              // default value
              boolean bResult = true;
              if ((strGuestRedirect != null) && (!"".equals(strGuestRedirect)))
                   if (XPConvert.ToInteger(strGuestRedirect) == 0)
                        bResult = false;
              return bResult;
         // IMVCObject
         * @see com.plumtree.uiinfrastructure.activityspace.IManagedObject#Create()
         public Object Create()
              return new KioskLoginControl();
         // Methods from ILoginControl
         * @see com.plumtree.xpshared.activityspace.ILoginControl#DoGetSession()
         public boolean DoGetSession()
              // The interpreter should ask us for the session.
              // In a given request, this method is called fourth.
              // Attempt to login as the custom guest user here, rather than in GetSession()
              // so that if we are unable to connect, we can abort the login attempt.
              // Otherwise, we have no way of knowing in the PEI whether or not login
              // has previously failed, and we can get in an infinite loop.
              try
                   //Add code to derive Kisok user name after Store lookup
                   String strKioskUserName = "kiosk0000";
                   String strKioskUserPassword = "";
                   // Look at the request URL to determine what URL this user
                   // is trying to access.
                   // Switch strCustomGuestName to your first custom guest here
    /*               if (XPStringUtility.IndexOf(m_asOwner.GetCurrentRequestURL(),
                                                           "firstsubportal") != -1)
                   // Switch strCustomGuestName to your second custom guest here
                   else if (XPStringUtility.IndexOf(m_asOwner.GetCurrentRequestURL(),
                                                                "secondsubportal") != -1)
                   // Connect as the custom guest user
                   m_userSession = PortalObjectsFactory.CreateSession();
                   m_userSession.Connect(strKioskUserName, strKioskUserPassword,
                                            null);
              catch (Exception e)
                   if (PTDebug.IsErrorTracingEnabled(Component.Portal_UI_Infrastructure))
                        PTDebug.Trace(Component.Portal_UI_Infrastructure,
                                       TraceType.Error,
                                       "Unable to connect to Kiosk user.", e);
                   m_userSession = null;
                   // Since we are unable to connect to our custom guest user, we do not
                   // want to login right now.
                   return false;
              return true;
         * @see com.plumtree.xpshared.activityspace.IControl#GetName()
         public String GetName()
              return STR_MVC_CLASS_NAME;
         * @see com.plumtree.xpshared.activityspace.ILoginControl#GetSession()
         public Object GetSession()
              // In a given request, this method is called fifth.
              if (null != m_userSession)
                   LoginResult rReturn = null;
                   try
                        // Login the custom guest user. This calls the login PEIs.
                        rReturn = LoginHelper.INSTANCE.AttemptLogin(m_userSession,
                                                                               m_asOwner,
                                                                               m_xpRequest,
                                                                               m_WebData);
                   catch (Exception e)
                        if (PTDebug.IsErrorTracingEnabled(Component.Portal_UI_Infrastructure))
                             PTDebug.Trace(Component.Portal_UI_Infrastructure,
                                            TraceType.Error, "AttemptLogin() failed.", e);
                   if (!rReturn.m_bSuccess)
                        if (PTDebug.IsErrorTracingEnabled(Component.Portal_UI_Infrastructure))
                             PTDebug.Trace(Component.Portal_UI_Infrastructure,
                                            TraceType.Error,
                                            "KioskLoginControl AttemptLogin() failed: " +
                                            rReturn.m_strError);
                   if (null != rReturn.m_Redirect)
                        if (PTDebug.IsErrorTracingEnabled(Component.Portal_UI_Infrastructure))
                             PTDebug.Trace(Component.Portal_UI_Infrastructure,
                                            TraceType.Error,
                                            "KioskLoginControl AttemptLogin() return redirect ignored.");
              IPTSession userSession = m_userSession;
              // Null out the IHTTPControl data so we don't retain the memory after the
              // request is done (i.e. leak the memory)
              m_xpRequest = null;
              m_WebData = null;
              m_userSession = null;
              return userSession;
         * @see com.plumtree.xpshared.activityspace.IControl#Init(IModelRW)
         public void Init(IModel model, AActivitySpace space)
    //          m_asModel = (LoginModel) model;
              m_asOwner = space;

  • Programmtic login - from either a custom activity space or LoginAction PEI

    I know how to programmatically logout using:<br>
    Redirect redirect = null;<br>
    redirect.SetLinkCreateNewSpace(LoginAS.STR_MVC_CLASS_NAME, null);<br>
    redirect.SetControl(LoginControl.STR_MVC_CLASS_NAME);<br>
    redirect.AddControlArgument(LoginHelper.PARAM_DOLOGOUT, true);<br>
    redirect.AddControlArgument(ASConstants.CLEARSESSION, "true");<br>
    return redirect;<br><br>
    I got that code from right here in the forums - thanks.<br>
    However, I need a snippet that will programatically login and return a Redirect now, too. Does anyone have a snippet that will do that?<br><br>
    p.s. I'll be putting it into a LoginActions PEI in the OnFailedLoginDoRedirect(). In our use case, if someone tries to login and it fails, I'll be checking a custom sql table that maps old bad logins to new good ones and attempts programmatic re-login with the retrieved/mapped credentials.<br><br>
    p.p.s I'll have all 3 items in my pocket - userId, username, and password - if that makes a difference in the possible solution that gets posted here. I could also get a login token for the mapped user if that's necessary, too. So I can get 4 things to help w/ the programmatic login.<br><br>
    Thanks in advance.

    LMah gets full credit for this answer (just mimic the login form!):<br><br>
    Redirect redirect = new Redirect();<br>
    redirect.SetLinkCreateNewSpace(LoginAS.STR_MVC_CLASS_NAME, null);<br>
              redirect.AddControlArgument("in_hi_space", "login");<br>
              redirect.AddControlArgument("in_hi_spaceID", 0);<br>
              redirect.SetControl(LoginControl.STR_MVC_CLASS_NAME);<br>
              redirect.AddControlArgument("in_hi_dologin", true);<br>
              redirect.AddControlArgument("in_tx_username", "administrator");<br>
              redirect.AddControlArgument("in_pw_userpass", "");<br>
              redirect.AddControlArgument("in_se_authsource", "");<br>
              return redirect;<br>
    <br>If you'd like to use api constants instead of hard coding the input values, you can always do something like this:<br>
    redirect.AddControlArgument(LoginHTML.PARAM_USERPASS, "");

  • Activity space to change portal language

    Hello,
    I am trying to build an activity space that works as follows:
    In the page header I want to have a link that points to my custom activity space and that when clicked, will alternate the portal's locale between French and English and keep the user on his current page.
    This activity space will need to work for both guest users and logged in users.
    I have seen on previous posts that people have done this before but not enough details are ever provided to be able to figure out how to do it properly.
    Essentially I need an activity space without a view or display since the user is not taken to any page when they click on the link. It simply refreshes the page in the new language.
    Could someone provide me some guidance as to which Activity Space , Control and Model class I should be extending to be able to code this functionality since there are so many classes available and examples with most of them implementing a View class that I can't figure out what I need and how to setup the proper execution flow.
    No details are too much.
    Thank you from this confused newbie

    Hello DJ,
    When you get time would you mind provide short description (ideas) how to do this? I mean that may be useful for others if they need to do this in future.
    In aqualogic the same things can be done by different ways sometimes and you may have the best solution.
    Thank you.
    Dmitry

  • SPD2010 Custom activity asembly missing when wep app uses https (http works perfectly)

    Hello,
    For a while now, we've been working with a custom workflow activity (http://spdwfextensions.codeplex.com/) in our SharePoint system. Today, we changed our web application from http access
    to https. The change seemed to go without a hitch, until we checked our workflows and none which use the Custom activity will start (with status Failed to Start). If we opened the workflow in SPD2010, the lines with the custom action were replaced by
    lines that read "Could not deserialize object. 'Nivlag.SpdGenericInterfaceActivity' The type could not be resolved.
    The problem got weird when, while trying to debug it, we realized that if we used the old http connections the workflow worked perfectly once again (the workflows worked correctly as well as SPD 2010). As soon as we retried the https connection the
    same issues reappeared. 
    We want to move to using SSL with all our WebApps, but right now, this situation is a total show-stopper. 
    Any helped would be deeply appreciated.
    Technology is the curse of the blessed

    Hello Carlos,
    Please list detailed steps of how you changed web application from http access to https.
    Few things to try:
    1. Make sure AAM is set correctly for http and https sites.
    2. You may need to add root cert of your SSL certificate to Central Admin->Security->Manage Trusts.
    This link includes steps to add root cert -
    http://blog.brainlitter.com/2010/08/02/resolution-for-sharepoint-designer-2010-data-source-non-specific-error/.
     3. Clear client site proxy assembly cache for SPD workflow actions:
    Clear the proxy assembly
    cache on the machine where SharePoint Designer is installed. Delete all directories and files at %System Drive%\Documents and Settings\%user%\Local Settings\Application Data\Microsoft\WebSiteCache or for Vista %System Drive%\Users\%user%\AppData\Local\Microsoft\WebSiteCache.
     If above does not help resolved your issue, you may consider to open a support ticket with Microsoft -
    http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone
    However, other members of the community may still have encountered the issue you're seeing, and have a solution to offer!
    Regards,
    Jing Wang | Microsoft Online Community Support

  • I bought a 4G SIM activation kit on the advice of a CS rep, who said I could change out the SIM card on my Verizon Droid X (currently in use with a customer loyalty plan) and switch it to a prepaid plan. But now it appears there is no SIM card to switch o

    I bought a 4G SIM activation kit on the advice of a CS rep, who said I could change out the SIM card on my Verizon Droid X (currently in use with a customer loyalty plan) and switch it to a prepaid plan. But now it appears there is no SIM card to switch out. Google search finds several others have asked that question and the Droid X doesn't have a SIM card, apparently. But, the 4G SIM activation kit "Compatibility" tab claims that it is compatible with the Droid X, so what is the real story here? Do I have to send this kit back to you?

    No. Call Apple Care and give them the serial number. They may be able to tell you who it is locked to.

  • ALUI KD Activity Space Modification.

    Hi,
    I am seeking some input regarding to modifying the View/ActivitySpace for the Knowledge Directory. I am at a customer site, where the customer is eager to have us modifying the View & Activity Space for Knowledge Directory, Basic Search, and Advanced Search, as to only allow searches within KD folders and documents crawled into the KD server.
    I have tried modifying the UI Code, particularly the FolderBannerView.CS file. However, the end result is with limited success, because the portal automatically puts a form on top of another form and such breaking the javascript generated by the SearchFormFactory class.
    Can someone help me on this topic? Or, at least give me a ball-park figure on how much effort (# of hours) will be required to change those ActivitySpace & Views?
    Many Thanks,
    Ray

    One of the keys to understanding ALI development is knowing the difference between native (UI customization) and remote (portlet) development.
    AActivitySpace.getString is only available in native code. For remote code, my suggestion is to use the IDK to retrieve the locale and then roll your own I18N.
    Chris Bucchere | bdg | [email protected] | http://www.thebdgway.com

  • Secure Zone Customer Activity Tracking

    I'm new to Business Catalyst, so this may be obvious to some of you, but I have a question about tracking customer activity on my Business Catalyst site. I can track logins into Secure Zones, but only whether/not the customer has logged into the site.
    What I'd really like to do is track a customer's usage of the site - in other words, I'd like to see what a customer's activity looks like on the site. So if a customer goes from Home (secure zone login), to About, to whatever other page. I suppose how much time they spend is too granular, but if I could figure out how to track their site usage, it'd really help me with a client. The only way I can see how to do it on my own is to require users to log in to every single page, which compromises far too much usability.
    So, how about it? Is there anyone that can provide a suggestion, either using the BC interface, or using some other type of tracking mechanism?

    BC can't do that out of the box. You may want to use Google Analytics for that.
    Cheers,
    -m

  • How to use TAXBRJ with TAXBRA activated at core level for Brazil

    Hi Experts,
    I am supporting Brazil localization  customization in ECC 6.0 for our company. We activated TAXBRA for Brazil. We flagged off CBT for all SD pricing procedure knowing the value of RVABRA. But one process in brazil we presently using in 4.6C with TAXBRJ along with customized pricing procdure make use of formula based calculation.
    So we would like to follow the same method in ECC 6.0 also. However the condition based calculation RVABRA does not support this process as this process requires more formula based calculation.
    So we need to know is there any chance to use TAXBRJ with customized formula based SD price procedure for our requirement.
    I read through document (Condition based calculation in R/3 for Brazil version 3.1) the following steps to do alternate calculation procedure:
    "In R/3 Enterprise, an extension to the concept described in section 5.8 has been introduced. In the table J_1BMWSKZKALSM,
    alternative calculation procedures can be specified that are to be used for certain tax codes instead of the standard one. This is achieved by reading this table in a BAdI before the call to the pricing procedure and modifying the communication fields that contain the calculation procedure and the tax code.
    Thus the user could e.g. use the external tax calculation for some tax codes (by specifying TAXBRJ in the above mentioned table) or use several smaller calculation procedures, e.g. in case of performance problems or new requirements."
    We also would like to know what is the Badi mentioned in this document
    to acheive this ?
    Thanks
    Rajesh babu

    Do it as mentioned below:
    <?if:count(RECORD_TYPE)>0?>
    <?split-by-page-break:?>
    <?end if?>
    Copyright Statement
    Customer Disclaimer Notice
    The information contained in the First Databank(FDB)databases is intended to supplement the
    knowledge of physicians, pharmacists and other healthcare professional regarding drug therapy problems and patient counseling information. This information is advisory only and is not intended to replace sound clinical judgment in the delivery of healthcare services.
    FDB disclaims all warranties, whether expressed or implied, including any warranty as to the quality, accuracy and suitability of this information for any purpose.
    FOR IFRECORD_VALUEENDIFERER
    Call your doctor for medical advice about your side effects. You may report Side Effect to FDA at 1-800 FDA-1088
    Ask your Pharmacist for more information about this drug. You have the right to counseling from our Pharmacists. If you have any questions about this medication, please call the pharmacy
    By signing below, I acknowledge receipt of this document and my informed consent to accept this medication.
    Sig _________________________________________________
    Thanks - Bhanu

  • Problem refering to a custom activity in a SharePoint 2013 workflow

    I have created a few custom activities to handle common tasks in a workflow. The activities are deployed in a separate sandbox solution from the workflows referencing them.
    This has been working fine for a couple of months now, but suddenly I get an error when trying to activate the feature that provisions the workflow that refers to the custom activity (WriteMessage). The error is:
    Error 1
    Error occurred in deployment step 'Activate Features': Microsoft.Workflow.Client.ActivityValidationException: Workflow XAML failed validation due to the following errors:
    Cannot create unknown type '{wf://workflow.windows.net/default/f0b36ec0-d40f-4df8-a99b-39f6dc4854a8/09e1bc2d-1cc8-4cff-ae22-32a52f54b685/$Activities}WriteMessage'. HTTP headers received from the server - ActivityId: ac291077-6536-4c63-b7b0-7701b6d29268. NodeId:
    DKRDSSP15DEV03. Scope: /SharePoint/default/f0b36ec0-d40f-4df8-a99b-39f6dc4854a8/09e1bc2d-1cc8-4cff-ae22-32a52f54b685. Client ActivityId : e9d2bfd0-bb0e-4c28-bf55-8748368feb5b. ---> System.Net.WebException: The remote server returned an error: (400) Bad
    Request.
       at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result)
       at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)
       --- End of inner exception stack trace ---
       at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)
       at Microsoft.Workflow.Client.WorkflowManagementClient.SendRequest[T](HttpWebRequest request, T content)
       at Microsoft.Workflow.Client.ActivityManager.Publish(ActivityDescription description, Boolean overwriteXClassName, Boolean terminateDependentInstances)
       at Microsoft.SharePoint.WorkflowServices.FabricWorkflowManagementClient.PublishActivity(String serviceGroupName, ActivityDescription activity, Boolean overwriteXClass, Nullable`1 terminateInstances)
       at Microsoft.SharePoint.WorkflowServices.FabricWorkflowDeploymentProvider.PublishActivity(FabricWorkflowManagementClient client, ActivityDescription activityDefinition, String serviceGroupName)
       at Microsoft.SharePoint.WorkflowServices.FabricWorkflowDeploymentProvider.<>c__DisplayClass5.<PublishDefinition>b__4()
       at Microsoft.SharePoint.WorkflowServices.WorkflowServiceContextExtensions.InvokeWithEcosystemRetry(WorkflowServicesContext context, EcosystemRequiredMethod method)
       at Microsoft.SharePoint.WorkflowServices.FabricWorkflowDeploymentProvider.PublishDefinition(WorkflowDefinition workflowDefinition)
       at Microsoft.SharePoint.WorkflowServices.WorkflowDefinitionStorageEventReceiver.PublishDefinition(SPItemEventProperties properties)
    0 0
    Vestas.SP.CMS.AlarmReports
    I have tried creating a simple workflow using the custom activity, by referencing the sandbox solution. This works fine, if I create the simple workflow in a new project and deploys it and activate the workflow feature. However, if I create a similar simple
    workflow in the original solution and omit the original workflows. Then I still get the above error when deploying / activating the workflow feature. 
    How do I clean up my original project so it does not give me this error when deploying and activating the workflow feature?
    best regards
    Lars Kohsel
    Best regards Lars Kohsel

    Hi,
    As the error still occur when you create a simple workflow in the original project, maybe some configurations have been changed in the project.
    You can check with the new created project whether there are some difference configurations in the project.
    There is a similar article for your reference.
    http://blogs.msdn.com/b/cliffgreen/archive/2013/03/11/sharepoint-2013-workflow-deployment-errors.aspx
    What’s more, you can also copy your original project code to the new project, then check whether it works.
    If it works, the we can use the new project instead of the original project.
    Thanks,
    Jason
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Jason Guo
    TechNet Community Support

  • How to restrict transaction type in customized activity pop-up

    We have created a custom workcenter link for search enhancement of activities. We copied the work center link and are calling the same component as in std search but a different customized configuration with added and deleted fields in search criteria. This works fine. Now the requirement is to restrict the 'transaction types' available when we click on the 'new' button in the new custom activity search page. As this pop-up emanates from the std component, it can not be functionally configured (because that would restrict the 'transaction types' while creating new activity in std componnet) but should be technically handled. Please advise.

    Hi Amar,
    Solution here is to let the framework know who is caller ?
    That is, when pop up is opening, you have to put a code in this pop up view to understand who is invoking this pop up , Is it the search page of std. component configuration or is it the custom search page configuration ?
    So have a static attribute in some Z class, you can use your IMPL class also for that matter, Now whenever you know that its custom config i.e. in DO_CONFIG_DETERMINATION, read the role key( i assumed that you have a role key for your custom config)
    and if its custom role key, then set this static parameter say ZCUST_CONFIG = abap_true else abap_false (this is must to reset it using else as this is static attribute )
    Now, in your pop_up view, read this static attribute as XXXX_IMPL=>zcust_config , and if true, then you know that the pop up is invoking from custom config, so do the coding to remove the unwanted transaction types.
    and you are done !!
    Hope it helps you.
    Thanks & Regards,
    SUCHITA

  • Apps not opening in the assigned Space but in the active Space

    I'm not sure if this is normal behavior in Spaces or not:
    I have Acrobat assigned to Space 1, Chrome assigned to Space 2. When I download a PDF via Chrome and then click to launch it, Acrobat opens in Space 2, not where my other Acrobat files are located and assigned (Space 1).
    Is this the way Spaces is supposed to work? That an application or file opened via another application opens in the active Space rather than the assigned Space? With this behavior, I then need to drag the PDF document from the wrong Space to the right Space if I want to see it side by side with other PDF files. It seems to work this way for all of the different files as well as when I launch an application for the first time. It too opens in the active Space, not the assigned Space.
    I've tried this with the "When switching to an application, switch to a space with open windows for the application" checked and unchecked and it makes no difference.
    Am I missing something? Is this the way it's supposed to work?

    Sometimes if you open a PDF through a web browser it opens as a window in the browser rather than the app. I don't have Acrobat or use chrome but if I open a PDF from a web site in Safari it just opens as a page in Safari rather than in Preview. Therefore if I assign Preview to a certain space and open a PDF in Safari it will open in any space that I have assigned to Safari. Or the active space if I haven't assigned any.

  • Portal Development using JSF & Struts

    Can some one explain about the feasibility of developing portals using JSF and Struts? What are the advantages and disadvantages of doing so? Is it a right decision to develop portal servers using these?

    Yes I am familiar with all those links. Let me break down scenario and ask specific questions.
    Server version: Netweaver 7.0 (2004s) SP18
    1. Created External Library DC (i.e. ebuslib)
             - added 3rd party JARS (e.g. hibernate, Spring)
             - created two public parts - one for compilation, one for assembly (deploy)
             - activated activity
    2. Create J2EE Server Component - Library DC (i.e. ebuslib2)
              - added "ebuslib" assembly PP as Used DC (build only)
    3. Built "ebuslib2"
              - can see jars in the resulting sda file.
              - activated activity
              - confirmed on J2EE engine deployed library containing the jars.
    Scenarios
    A. EP Project DC
               - needs access to 3rd party jars
               - QUESTION: What do I need to reference? The External Library DC or the J2EE Server Component Library DC?
                             - I read that you should reference the J2EE Server Component BUT the jars are not available in the PP of that DC.
                             - One developer one talked to referenced the compilation PP of the External Library DC (i.e. "ebuslib").
                                     - this seemed to work but then I wondered how the project finds the JAR at runtime?
    QUESTION: Does SAP load all the classes that have been deployed via the J2EE Server Component Library DC method and hence those JARs are globally available at runtime hence no need to reference them during development except for compilation? What if > 1 J2EE library contain the same jar or same API but different versions (e.g. Hibernate 2 vs 3).
    Thanks for any clarifications. I want to understand the underlying technology and how it works. I have seen alot of information out there but some of it is confusing and conflicting.
    Dean Cyril Wood

  • Workflow Custom Activity deploy in multi server environment

    I have been working on a project that involves developing a custom workflow activity for SharePoint 2013. I am developing it in a single server environment working with http.
    My problem occurs when deploying to multi-server environment with https (WFE, APP). My question is how to deploy my solution to the new environment. 
    The steps:
    Create a project - c# activity library
    Add a workflow activity, add .xml
    Deploy the .dll and .xml of project to:
    "C:\Program Files\Workflow%20Manager\1.0\Workflow\Artifacts" "C:\Program Files\Workflow Manager\1.0\Workflow\WFWebRoot\bin"
    net sotp "Workflow Manager Backend"
    net start "Workflow Manager Backend"
    Deploy .DLL to GAC
        - Created MSI using install shield in VS2010 to add .DLL to GAC
        - Verify .DLL in GAC by going to c:\windows\assembly and %windir%\Microsoft.NET\assembly
    iisrest
    Deploy WSP to SharePoint, activate feature, open SharePoint Designer 2013 and choose the custom action that now appears when creating a 2013 workflow
    To recap we have workflow manager on the APP server and and the workflow client on the WFE. We deployed the .DLL and .XML to the workflow manager (APP) only. The .DLL is deployed
    to/in the GAC on the WFE and the APP. We are able to see and create the activity in Designer 2013 and we deploy the workflow to a normal SharePoint list. When we run the workflow we do not get any errors in the ULS logs, event viewer or Workflow Manager Debug
    Logs (event viewer also). The site is not created though. We believe the issue is that the custom C# (.DLL) is not being ran. 
    This all works fine and dandy on my single server environment. Workflow is working like a charm. How can we trouble shoot what the issue is if we are not finding any errors?
    Is there a step that we missed or some other place we need to look for logs? Would the ULS logs show the site creation or show running our custom code? Currently it does not show anything when we run the workflow.
    Let me know if this is unclear or if anyone needs more information. Thanks

    Hi,
    Here is a workaround for your reference:
    We can develop a custom WCF service instead of the Custom Activity in SharePoint. And then use the service from workflow. It use a separate dedicated server for workflow without having any reference to SharePoint DLLs from inside workflow.
    Here is a similar thread for your reference:
    https://social.technet.microsoft.com/Forums/systemcenter/en-US/d462ca07-9861-4133-948a-fc9771306cb1/custom-workflow-how-to-go-from-single-server-to-multiple?forum=sharepointdevelopment
    Thanks,
    Dennis Guo
    TechNet Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Dennis Guo
    TechNet Community Support

Maybe you are looking for