BPM Workspace Customization & User Interface: Best Practice Question

Hi All,
This is our first BPM Project in house and we are on Oracle BPM 11g.
The business process involves request for approval for a permit from a public user and internal users need to approve/reject the same. Pretty simple and straightforward so far.
But we are now having lots of questions wrt to user interface.
1. Work Space Changes.
If we develop this application completely in Oracle BPM, the outside user (general public) will also see the 'workspace' with its current interface. It would be impossible to handle user training on this interface for a simple Joe Bloe, who may not be computer savvy) So the requirement documents demand that the look and feel of the outside users should be totally different than what the workspace provides. They want this to be customized in such a way that iit would strip all of the default lay out (left navigation bar, and get rid of the upper section completely. with its list of tabs) and also to modify the task list that appears below).
We have figured out how to achieve this (by modifying the workspace .jar files and recompiling the same), but is this a good approach? What happens if we are developing a brand new application on the BPM in our shop? This change will affect that application as well, as the workspace is shared and common to all the apps? I want some of you experts to let us know, your thoughts on this. If this is not a recommended practice, what would be best way to achieve what we want using Oracle BPM? (Where we want a simple intuitive user interface, without the default add ons that comes with the work space)...
2. What would be the best method to create a user registration page (where a user creates his own login and password and maintains his account) for an application using the BPM ? Right now we are thinking this should be in either a ADF page/ JSP page or (worst case a PL SQL cartridge) that can be launched on the browser, which will be open and does not require any kind of authentication to access. Is this a good practice or recommended one? Or are we missing out on something within BPM application itself, that we are not aware of and that would let us do this?
3. Also, if we go with an external ADF application for the 'public' user interface developement, then how can we (or can we) leverage the BPM's internal storage for the submitted data from the payload? I understand that it stores this information currently on the server 'soa infra' tables some where? Thru an external ADF app, can we write into these tables (Is this recommended or just sounds plain ridiculous)???
Knowing answers to these questions will help us decide, if this is the right tool for the job at hand.
Appreciate your time and xpertise.
Thanks
SR

Hi All,
This is our first BPM Project in house and we are on Oracle BPM 11g.
The business process involves request for approval for a permit from a public user and internal users need to approve/reject the same. Pretty simple and straightforward so far.
But we are now having lots of questions wrt to user interface.
1. Work Space Changes.
If we develop this application completely in Oracle BPM, the outside user (general public) will also see the 'workspace' with its current interface. It would be impossible to handle user training on this interface for a simple Joe Bloe, who may not be computer savvy) So the requirement documents demand that the look and feel of the outside users should be totally different than what the workspace provides. They want this to be customized in such a way that iit would strip all of the default lay out (left navigation bar, and get rid of the upper section completely. with its list of tabs) and also to modify the task list that appears below).
We have figured out how to achieve this (by modifying the workspace .jar files and recompiling the same), but is this a good approach? What happens if we are developing a brand new application on the BPM in our shop? This change will affect that application as well, as the workspace is shared and common to all the apps? I want some of you experts to let us know, your thoughts on this. If this is not a recommended practice, what would be best way to achieve what we want using Oracle BPM? (Where we want a simple intuitive user interface, without the default add ons that comes with the work space)...
2. What would be the best method to create a user registration page (where a user creates his own login and password and maintains his account) for an application using the BPM ? Right now we are thinking this should be in either a ADF page/ JSP page or (worst case a PL SQL cartridge) that can be launched on the browser, which will be open and does not require any kind of authentication to access. Is this a good practice or recommended one? Or are we missing out on something within BPM application itself, that we are not aware of and that would let us do this?
3. Also, if we go with an external ADF application for the 'public' user interface developement, then how can we (or can we) leverage the BPM's internal storage for the submitted data from the payload? I understand that it stores this information currently on the server 'soa infra' tables some where? Thru an external ADF app, can we write into these tables (Is this recommended or just sounds plain ridiculous)???
Knowing answers to these questions will help us decide, if this is the right tool for the job at hand.
Appreciate your time and xpertise.
Thanks
SR

Similar Messages

  • Best Practices Question: How to send error message to SSHR web page.

    Best Practices Question: How to send error message to SSHR web page from custom PL\SQL procedure called by SSHR workflow.
    For the Manager Self-Service application we’ve copied various workflows which were modified to meet business needs. Part of this exercise was creating custom PL\SQL Package Procedures that would gather details on the WF using them on custom notification sent by the WF.
    What I’m looking for is if/when the PL\SQL procedure errors, how does one send an failure message back and display it on the SS Page?
    Writing information into a log or table at the database level works for trouble-shooting, but we’re looking for something that will provide the end-user with an intelligent message that the workflow has failed.
    Thanks ahead of time for your responses.
    Rich

    We have implemented the same kind of requirement long back.
    We have defined our PL/SQL procedures with two OUT parameters
    1) Result Type (S:Success, E:Error)
    2) Result Message
    In the PL/SQL procedure we always use below construct when we want to raise any message
    hr_utility.set_message(APPL_NO, 'FND_MESSAGE_NAME');
    hr_utility.raise_error;
    In Exception block we write below( in successful case we just set the p_result_flag := 'S';)
    EXCEPTION
    WHEN APP_EXCEPTION.APPLICATION_EXCEPTION THEN
    p_result_flag := 'E';
    p_result_message := hr_utility.get_message;
    WHEN OTHERS THEN
    p_result_flag := 'E';
    p_result_message := hr_utility.get_message;
    fnd_message.set_name('PER','FFU10_GENERAL_ORACLE_ERROR');
    fnd_message.set_token('2',substr(sqlerrm,1,200));
    fnd_msg_pub.add;
    p_result_message := fnd_msg_pub.get_detail;
    After executing the PL/SQL in java
    We have written some thing similar to
    orclStmt.execute();
    OAExceptionUtils.checkErrors (txn);
    String resultFlag = orclStmt.getString(provide the resultflag bind no);
    if ("E".equalsIgnoreCase(resultFlag)){
    String resultMessage = orclStmt.getString(provide the resultMessage bind no);
    orclStmt.close();
    throw new OAException(resultMessage, OAException.ERROR);
    It safely shows the message to the user with all the data in the page.
    We have been using this construct for a long time for all our projects. They are all working as expected.
    Regards,
    Peddi.

  • SAP Adapter Best Practice Question for Deployment to Clustered Environment

    I have a best practices question on the iway Adapters around deployment into a clustered environment.
    According to the documentation, you are supposed to run the installer on both nodes in the cluster but configure on just the first node. See below:
    Install Oracle Application Adapters 11g Release 1 (11.1.1.3.0) on both machines.
    Configure a J2CA configuration as a database repository on the first machine.
    Perform the required changes to the ra.xml and weblogic-ra.xml files before deployment.
    This makes sense to me because once you deploy the adapter rar in the next step it the appropriate rar will get staged and deployed on both nodes in the cluster.
    What is the best practice for the 3rdParty adapter directory on the second node? The installer lays it down with the adapter rar and all. Since we only configure the adapter on node 1, the directory on node 2 will remain with the default installation files/values not the configured ones. Is it best practice to copy node 1's 3rdParty directory to node 2 once configured? If we leave node 2 with the default files/values, I suspect this will lead to confusion to someone later on who is troubleshooting because it will appear it was never configured correctly.
    What do folks typically do in this situation? Obviously everything works to leave it as is, but it seems strange to have the two nodes differ.

    What is the version of operating system. If you are any OS version lower than Windows 2012 then you need to add one more voter for quorum.
    Balmukund Lakhani
    Please mark solved if I've answered your question, vote for it as helpful to help other users find a solution quicker
    This posting is provided "AS IS" with no warranties, and confers no rights.
    My Blog |
    Team Blog | @Twitter
    | Facebook
    Author: SQL Server 2012 AlwaysOn -
    Paperback, Kindle

  • Best practice question -- copy container, assemble it, build execution plan

    So, this is a design / best practice question:
    I usually copy containers as instructed by docs
    I then set the source system parameters
    I then generate needed parameters / assemble the copied container for ALL subject areas present in the container
    I then build an execution plan JUST FOR THE 4 SUBJECT AREAS and build the execution plan and set whatever is needed before running it.
    QUESTION - When i copy the container, should i delete all not needed subject areas out of it or is it best to do this when building the execution plan? I am basically trying to simplify the container for my own sake and have the container just have few subject areas rather than wait till i build the execution plan and then focus on few subject areas.
    Your thoughts / clarifications are appreciated.
    Regards,

    Hi,
    I would suggest that you leave the subject areas and then just don't include them in the execution plan. Otherwise you have the possibility of running into the situation where you need to include another subject area in the future and you will have to go through the hassle of recreating it in your SSC.
    Regards,
    Matt

  • SAP Adapter Best Practice Question for Migration of Channels

    I have a best practice question on the SAP adapter when migrating an OSB project from one environment (DEV) to another (QA).
    If my project includes an adapter channel that (e.g., Inbound SAP Proxy listening on a channel), how do I migrate that project to another environment if the channel in the target environment is different.
    I tried using the search and replace mechanism in the sbconsole, but it doesn't find the channel name in the jca and wsdl files.
    What is the recommended way to migrate from one environment to the other when the channel name changes?

    I have a best practice question on the SAP adapter when migrating an OSB project from one environment (DEV) to another (QA).
    If my project includes an adapter channel that (e.g., Inbound SAP Proxy listening on a channel), how do I migrate that project to another environment if the channel in the target environment is different.
    I tried using the search and replace mechanism in the sbconsole, but it doesn't find the channel name in the jca and wsdl files.
    What is the recommended way to migrate from one environment to the other when the channel name changes?

  • Informatica and Essbase Best Practice questions

    We now have the Informatica adapter for Essbase installed and working. We have been able to get Informatica to upload data successfully. Now I have a few questions that I have not been able to find answers to in any documentation or forums for Informatica or Essbase. I have submitted these same questions to the Informatica Support but thought I would also post the questions here to see if many folks are using Informatica against Essbase.
    We are using:
    Informatica 8.6.1 (Linux)
    Essbase 11.1.1.3 (Windows 2003)
    1) I can see in Informtica that when we load data to Essbase (Target) it gives me the option to run a calc script AFTER it loads the data. However, if I need to run a Calc script BEFORE the load to Essbase (Target) what is the best practice? The work around I have found was to add the same session twice and for the 1st instance select the option to 'ONLY RUN THE CALC SCRIPT' on the mapping tab. The problem with this is the log shows that it will still run the query against the Source tables. This will impact run times and double to querying against the Source database. What is the Best Practice and proper way to build the workflow to Run a Calc Script BEFORE the load?
    2)Since you do not see the list of Calc Scripts for Essbase in Informatica (you have to manually type the Calc name), If I want to run the 'Default' calc for Essbase what is the syntax to run the 'Default' Calc Script? Tried 'Default' but didn't seem to work.
    3)I have other tasks in Essbase I want to do before actually having Informatica load the data. I would like to run the MAXL commands via a Command task. What is the Best Practice for doing this and the syntax to run MAXL commands in a Command Task in Informatica? I previously had Shell scripts built on the Informatica server that would be kicked off within Informatica, but we are trying to move away from shell scripts and instead have the scripting codes IN the workflows/sessions to make it easier to review the code and follow the logic, rather than having to find the scripts and open each of them.
    Any assistance you have with the two products working together I would GREATLY appreciate it!
    Robert

    AS i know addUser(User user){ ... } is much more useful for several reasons:
    1.Its object oriented
    2.its easy to write , because if Object has many parameters its very painful to write method with comma seperated parameters

  • Bean best practice question

    Simple questions (hopefully), I know how to code this but just want some advice on the best way to do the following:
    1. User enters data into HTML form and submits
    2. Some Java at the backend grabs these details and emails them off somewhere
    I am thinking of doing the following, but what’s the best way?
    1. HTML form submits and data is sent directly to a JavaBean (FormBean.java)
    2. FormBean.java contains standard getters/setters but also contains a method called sendMail(), is this bad practice? Do I need a second Bean sendMail.java? Or is this completely the wrong way to do things i.e. should I do this entirely in a servlet with only 1 bean to grab the data (FormBean) and then access from servlet?
    Just a bit confused on what’s best practice for this stuff?
    Thanks!

    2. FormBean.java contains standard getters/setters but also contains a method called sendMail(), is this bad practice? Do I need a second Bean sendMail.java? A better approach is this way
    a) Have all the form data in the form bean
    b) Write sendMail in a all together different class, as action.
    c) Send the form bean as a parameter to sendMail for processing and sending an email
    This way your sendMail() will become a kind of a service. Tomorrow you might have some other data, which you will have to send it in an email. In that case, you just reuse sendMail() method. Otherwise, if you have sendMail() in form bean itself, then if there are many form beans, then you would have to write sendMail() in every form bean, which is a bad practice. One principle of OOAD is to separate the functionality, which is redundant in your classes and make it as a separate module. If there are changes to the sendMail() functionality then, by having it in one module, you only have to change it at one place.
    Or is this completely the wrong way to do things i.e. should I do this entirely in a servlet with only 1 bean to grab the data (FormBean) and then access from servlet?You can have a servlet which acts like a controller, which receives the request parameters, constructs the form bean and invokes appropriate Action (in your case sendMail()). This is same as an MVC framework. Instead of you re-inventing the wheel to create a servlet controller, form bean, action etc. You could use one of the several MVC frameworks available in the market, such as Struts or Spring MVC.

  • Anywhere Access interface best practice

    Hello,
    We are setting up Anywhere Access on Windows 2012 AD/DNS with the following configuration;
    Ethernet 1:
    IP: private
    Subnet: 255.255.255.0
    Gateway: Firewall/Router with private IP address 
    DNS: Ethernet 1 IP address
    Ethernet 2:
    IP: public (remote.domain.com - Anywhere 
    Subnet 255.255.255.248
    Gateway: DSL modem with public IP address
    DNS: Ethernet 1 IP address
    Questions:
    1. Considering only one gateway can be defined for multiple interfaces, from the best practices point of view please advise which one should be the gateway out of two underlined gateways:
    Firewall/Router with private IP address or
    DSL modem with public IP address
    2. Considering Ethernet 2 is configured with public IP addresses, please also advise if DNS for Ethernet 2 is correct or it should be public DNS. 
    Thanks.

    Generally the private interface. This one may help.
    Configuring and Customizing Remote Web Access on Windows
    Server 2012 R2 Essentials
    or try them over here.
    https://social.technet.microsoft.com/Forums/windowsserver/en-US/home?forum=winserveressentials&filter=alltypes%2Cnoreplies&sort=lastpostdesc
    Regards, Dave Patrick ....
    Microsoft Certified Professional
    Microsoft MVP [Windows]
    Disclaimer: This posting is provided "AS IS" with no warranties or guarantees , and confers no rights.

  • BEST PRACTICE QUESTION: XI or direct R/3 RFC?

    We are creating an interface from R/3 to an externally facing (internally built) website.
    Question: What is the best practice defining whether or not we should pivot thru XI? This is a single interface that will not be reused; there would be no mapping within XI; and the call must be real-time and syncronous.
    Thanks much for your knowledge/assistance.

    Hi,
    the best practice is :
    don't use XI for sync interfaces
    but if the flow from RFC to this website will be very ocasional
    and you don't want to play with receving RFC data on the website
    then you can use it just to help yourself with an adapter
    Regards,
    Michal Krawczyk

  • SRM EBP User management - best practice followed for your customer.

    Hello All,
    What are the best practices followed on SRM User manageemnt  followed for your customers.
    (1)When employee/ buyer  leave the organisation  ? what actions you do ? do you lock the users?
    (2) If any thing interested share your experiences.
    (3) What exactly customer expects from SRM systems on SRM user management?
    (4) SAP audit/ customer audit practice on USER management ?
    Any piece of information on your experiece/ best practice  is appreciated.
    regards
    Muthu

    Thanks Peter .
    it is happening only in SRM right.
    Is any work around for this issue.
    In future SRM any planing to take care of this.
    in ECC i can delete the user whenever the user moves .
    All SRM customers will be very happy if SRM gives some workaround for this issue.
    Every customer wants to reduce cost .
    How can I find what are the opening documents for this user in one shot ?
    thanks for answering this question.
    I have seen our Eden Kelly report helps for shopping cart and other BO.
    You are doing good job on our SRM  WIKI innovative topics and discussons. I appreciate.
    why i am raising this concern is that one user left the organisation and again we want to edit the data whch entered by the left user . system will not allow us to do after deleting the user.
    so we are approaching SAP for ths help.
    It is very difficult to convice the customers on this issues.
    br
    muthu

  • IVR (Inter-VSAN Routing) - Best practices questions

    Hi there,
    We have a situation where we will have multiple customers hosted on a 9513 and sharing a single storage array.
    We want to keep the logically seperated in their own VSANs, but of course the storage array will need to be zoned to all the customers hosts.
    Now IVR should be the thing to use, but I'm getting resistance from the local team (screams of "Nooooo!!! They're EVILLLLL!!!") ... so I want to find out if there are some best practices around IVR use ?
    Should they be used only for light duty stuff ? (though at present we use them with tape backup, which isn't exactly "light")
    Do they impact performance to a measurable degree ?
    Are they stable ?
    What can go wrong with them ? And does it happen often ?
    Thanks!

    IVR does not impact application I/O performance because all the vsan rewrite and fcid rewrite actions are done in hardware asics. The IVR process on supervisor is responsible for managing the configuration and ensuring the rewrite tables are programmed in the linecards. The process is stable.
    Most of the issues I have seen are in environments with multiple IVR enabled MDS switches ISL'd together or an MDS IVR enabled switch connected to a McData/Brocade in an interop mode.
    Like any feature there have been bugs and it pays to check the SAN-OS release notes when planning installs. For example, a config change on one switch does not get properly pushed to another IVR switch or a forwarding table for an ISL interface does not get correctly programmed. There have also been a fair share of user misconfigurations which could have been avoided if Cisco Fabric Services (CFS) was enabled for IVR. This is done with the 'ivr distribute' command. Without this it is very difficult in large topologies of multiple IVR switches to ensure they have a consistent IVR config. In other cases there have been problems from a mix of IVR enabled switches running different releases of SAN-OS, e.g. mixing 3.0 with 3.2.
    Best practice is to have dual physical fabrics, upgrade one fabric at a time ensuring all IVR switches in a fabric run same SAN-OS release.
    A single IVR switch is much easier to implement. The MDS Configuration Guide has a list of best practices for IVR and one of those is to use the NAT option. Personally I would avoid NAT option where you can as NAT makes any troubleshooting harder trying to figure out the domain ID translations. You would also minimize risk of hitting some NAT related bugs, but you could also avoid most of these by checking the workarounds documented in the Release Notes. And with NAT you need to also configure persistent virtual domains and fcids to cater for AIX and HP-UX systems that cannot handle the FCID of the target changing whenever the exported virtual domain ID changes. To give NAT credit, each vsan is represented by a single virtual domain. In regular non-NAT mode, each switch in a vsan is represented by a virtual domain, meaning you eat up more virtual domain IDs. So in large topologies with many domain IDs there are scalability advantages to using NAT and the IVR updates between switches are more efficient with fewer virtual domain IDs to advertize. Of course, NAT must be used if merging physical fabrics with same domain ID and you cannot afford the downtime to change one of the switch domain IDs.
    However if it is just a single IVR switch I would avoid NAT. To do this all your domain IDs should be statically defined and there must be no overlapping domain IDs between IVR'd vsans. If it is a brand new install you can easily achieve this by specifying unique allowed domain ID ranges per vsan.
    For example, each customer can have their own vsan with say 10 domain IDs and the storage can be in vsan 2. You will only use one domain ID per vsan on day 1. Allowing 10 domain ids per vsan means you can add up to 9 other switches per vsan should you need to in the future. There is a maximum 239 domains per vsan so you could have up to 23 customers on your 9513 working with a range of 10 domain IDs per vsan.
    fcdomain domain 2 static vsan 2
    fcdomain domain 10 static vsan 10
    fcdomain domain 20 static vsan 20
    fcdomain domain 30 static vsan 30
    ..and so on..
    fcdomain domain 230 static vsan 230
    fcdomain allowed 01-09 vsan 2
    fcdomain allowed 10-19 vsan 10
    fcdomain allowed 20-29 vsan 20
    fcdomain allowed 30-39 vsan 30
    ..and so on..
    fcdomain allowed 230-239 vsan 230
    With or without IVR you should still run dual fabrics (e.g. 95xx in each fabric) and host based multipathing for redundancy.
    And don't forget IVR will require an Enterprise license. I have even seen a large outage because the customer forgot to install the license before the 120 day grace period expired.

  • Best Practice question - null or empty object?

    Given a collection of objects where each object in the collection is an aggregation, is it better to leave references in the object as null or to instantiate an empty object? Now I'll clarify this a bit more.....
    I have an object, MyCollection, that extends Collection and implements Serializable(work requirement). MyCollection is sent as a return from an EJB search method. The search method looks up data in a database and creates MyItem objects for each row in the database. If there are 10 rows, MyCollection would contain 10 MyItem objects (references, of course).
    MyItem has three attributes:
    public class MyItem implements Serializable {
        String name;
        String description;
        MyItemDetail detail;
    }When creating MyItem, let's say that this item didn't have any details so there is no reason to create MyitemDetail. Is it better to leave detail as a null reference or should a MyItemdetail object be created? I know this sounds like a specific app requirement, but I'm looking for a best practice - what most people do in this case. There are reasons for both approaches. Obviously, a bunch of empty objects going over RMI is a strain on resources whereas a bunch of null references is not. But on the receiving end, you have to account for the MyItemDetail reference to be null or not - is this a hassle or not?
    I looked for this at [url http://www.javapractices.com]Java Practices but found nothing.

    I know this sounds like a specific apprequirement,
    , but I'm looking for a best practice - what most
    people do in this case. It depends but in general I use null.Stupid.Thanks for that insightful comment.
    >
    I do a lot of database work though. And for that
    null means something specific.Sure, return null if you have a context where null
    means something. Like for example that you got no
    result at all. But as I said before its's best to
    keep the nulls at the perimeter of your design. Don't
    let nulls slip through.As I said, I do a lot of database work. And it does mean something specific. Thus (in conclusion) that means that, in "general", I use null most of the time.
    Exactly what part of that didn't you follow?
    And exactly what sort of value do you use for a Date when it is undefined? What non-null value do you use such that your users do not have to write exactly the same code that they would to check for null anyways?

  • Best Practice Question

    I have 3 Areas for my DWH
    The first area is Staging then validation and core
    Staging is just do load date from the source systems
    validation is to validate data (every city has to have a countrie ....)
    core is my DWH shema.
    The First step in ETL is to load the data from core to validation, let's say my GEO_DIM Dimension goes to Countries, Cities and Regions in core. Additionaly I build a CRC SUM when I downlaod from Core to Validation and store the CRC Checksum in a Staging table.
    The second step is to load target from the source systems to staging, but only those date that are non equal to the previous downloadet CRC schecksum, so only changed or new data going to staging.
    The third step is do load that new/changed data from staging to core and proof some dependences. It's just validation.
    My Question is, what is the best practic to bring three tables (Countries, cities and region) to one Dimension
    thanks and regards
    Andreas

    Andreas,
    I guess the correct is depends... Without kidding, are you planning to use a flat star table for this dimension? If that is the case you would be joining the sources together and loading this into the table.
    Now this sounds way to simple, so I guess there is something more to the question...
    Jean-Pierre

  • Best Practice Question - Business Logic in Value Objects?

    Just wondering what people's thoughts on best practices for setting properties of Value Objects.
    For instance, I have several getter/setters in one of my Value Objects with logic in the setter that uses the value to set values of other properties.
    For example, I have a Value Object that has the following properties:
    category (of type Category, which is another Value Object with properties "name" and "id")
    categoryId (of type int)
    categoryUpdated (of type Boolean)
    I have a collection of Category Objects in the Model. When I set the categoryId of this class, I set the "categoryUpdated" to true, and dispatch an CairngormEvent to that find the "category" with the specified "categoryId" and set the "category" property to this item.
    So what is the best practice? To simply make the "categoryId" a public variable, and create a new Event/Command to perform all this logic? Or is it ok to do it all in the Value Object setter?
    Thanks.

    Hi Eric,
    I can't speak for best practices, but the only logic I've ever added to a VO were getters: an example was a set of getters on an airline flight VO to get overall flight departure/arrival times/cities from an array of flight segments in a property of the VO.
    I feel uneasy (in the nicest possible way) about your VO for two reasons: firstly it has a strong dependency on bits of the Cairngorm framework to look up the category (and VOs normally don't need to depend on anything), and secondly the intent of Commands in Cairngorm is more to represent user gestures than to wire up VO properties (I often see people shoehorning stuff into Commands that might be better of as plain old business utility classes). I would rather see an UpdateCategoryCommand (that's what the user is trying to do?) that updates categoryId and hits a delegate to populate the category property.
    That said you might have a very good reason for doing this. Could you tell us where the code is that's setting categoryId, and if anything is using categoryUpdated?
    Cheers,
    Robin

  • Best Practice Question: Portal Sync Rules

    Hi,
    Is there any benefit in combining Inbound and Outbound Flows in a single Sync Rule?
    Or does it not matter if Inbound flows have their own Sync Rule and Outbound flows have their own Sync Rules?
    Does either option generate more/less EREs/DREs?
    Is either option better for performance reasons?
    look forward to your comments, thank you
    sk

    1:
    Only the OSR's create EREs, so if you have 4 outbound 3 inbound (assuming a user gets all 4 outbound SR's) the user should have 4 EREs. If the rules were combined into 3 outbound/inbound and 1 outbound, the user still gets 4 EREs.
    2:
    If my source was AD, I would create a new MV attribute called inAD. Then import a constant "true" from the target, AD for example. Then from my source, HR for example,  ill flow in a constant "false". Lastly update the MV attribute precedence for the
    inAD attribute to be AD then HR. From there i'd create a custom attribute in the portal so I can use the flag for set criteria.
    This might be a long winded way of getting it done, but say you have 10k users in AD and used DRE's. It means 10k more objects in the MV and in the portal. 
    Disclaimer: Not saying this is best practice, it's just what I do :) 

Maybe you are looking for