Problem/Opportunity: Missed Components in Packages
This would be a job aid for deployment accuracy by tracking components as they are changed for inclusion in packages.
Blue Prism has a configuration option that prompts for Save Comment.
Add in the Save Prompt: Change ID
When creating packages if Save Comment/Change ID turned on prompt for Change ID and create a distinct list of components saved with the Change ID that can be dragged to the package.
This will help identify components as they are changed.
An extended suggestion would be to allow multiple Change IDs when creating a Package.
... View more
Status:
Under Consideration
Submitted on
13-07-23
07:35 PM
Submitted by
bmurali007
on
13-07-23
07:35 PM
Hi Blue Prism Support Team,
We at Best Buy, Canada use CITRIX environment to access our Corporate Applications. Recently, we have deployed Capture 3.2 in our CITRIX Environment and tried to record our business process automations. We noticed that the Process Definition Document (PDD) extracted from Capture was skewed and was missing several steps and descriptions. Also the Blue Prism Release file did not capture all the steps and required several modifications.
We would like to submit an idea to make Capture tool compatible in a CITRIX environment. A lot of clients use CITRIX environment to access Corporate applications and host RPA solutions. Hence it would be a great idea to make Capture tool compatible with CITRIX so that a lot of clients can benefit from Capture tool.
Thanks,
Bharath Murali
... View more
When using Chorus we want to label the new UI screens like Design with a label to indicate that we are in a test environment and which environment level. Something like "21.2 UAT" in a bold color so that it stands out. This is for safety so that users will not accidently enter Prod data into test or test data into Prod.
... View more
In the add to queue action where you place a collection into the work queue there could be a flag option to write only those that dont already exist in the queue. At the moment we need to check each row if it exists in the queue already and if so then remove it and with a few thousand rows this takes a while. If the option existing in the Add to queue action it could add and check simultaneously removing the need for a time consuming loop.
... View more
During a presentation of the ROM2, the importance of good process construction, proper testing and continuous service improvements was frequently highlighted without going into the detail of how this was achieved.
Thus, when developing BluePrism processes, it is critical to invest in increasing process quality and an efficient testing process in terms of both cost and time investment.
When it comes to process development, there are a number of important factors to consider. One of the most important factors is process quality. This refers to the extent to which the process meets the specified requirements and has the ability to function safely and reliably. Another important factor is process complexity. The more complex the process, the more chance of errors and problems and the more difficult to test. When complexity increases the possibility for introducing errors and the difficulty to test escalates. It is important to reduce implementation complexity by choosing simple workflows, using business logic and reducing redundant actions. A general rule adopted is that the more paths through a piece of code, the more complex it is.
To my opinion, BluePrism implementations also have cyclomatic complexity that depend on the size and complexity of the processes, sub-processes and object actions and the amount of decision points in these components. A BluePrism implementation with high cyclomatic complexity can lead to problems such as poor performance, higher costs and errors. That is why It is important to reduce cyclomatic complexity to ensure the quality of the implementation. Several scientific papers have shown that there is a positive correlation between cyclomatic complexity and the probability of errors in software programs (e.g., Jones, 1986). Another study has shown that reduced cyclomatic complexity contributes to improved readability, maintainability and testability of software programs (e.g., McCabe, 1976). Cyclomatic complexity is a also an important factor in the quality of a BluePrism RPA implementation. Reducing complexity can prevent problems and ensure the quality of the implementation.
Cyclomatic complexity could be an indicator of the quality of BluePrism process / object implementations. This indicator aims to measure and quantify the complexity of a process. The higher the cyclomatic complexity, the more difficult it is to understand and maintain the process. McCabe's Cyclomatic Complexity can also identify the points that generate the complexity. These points are also called "cyclomatic paths" and can be found by analyzing the graphical representation. Each decision point (decision stage, choice stage, loops, etc.) potentially generates a new cyclomatic path, increasing the complexity of the flow in the process and/or object. By identifying these cyclomatic paths, the flow can be optimized to reduce complexity and improve readability and maintainability.
Some studies that can help in this regard are the following:
"Cyclomatic Complexity and Software Maintenance" by Thomas J. McCabe - This 1976 article introduced cyclomatic complexity as a measure of software complexity.
"An Empirical Study of the Relationship Between Cyclomatic Complexity and Software Maintenance" by Jaroslav Pokorný and Petr Baudiš - This 2014 article presents a study examining the relationship between cyclomatic complexity and software maintenance.
"An Efficient Algorithm for Computing Cyclomatic Complexity of Programs in java" by Surya Narayan Sharma and Suresh Kumar - This 2017 article describes an efficient algorithm for computing the cyclomatic complexity of Java programs.
In addition to cyclomatic complexity, there are other measurable factors that can affect the quality of BluePrism RPA implementations.
Some important factors are:
Duplication in processes and objects: When a piece of implementation is used in multiple places, it can lead to problems in maintaining and extending processes and/or objects. Duplication should therefore be minimized.
Test coverage: To ensure that the BluePrism RPA implementation works properly, it is important to write tests that cover all functionality of the process/object flows. The more tests that are written, the better the quality of the implementation. Test coverage is the extent to which a test suite covers all possible paths in the process /object under test. A cyclomatic path is a sequence of steps through a process /object flow that touch each logical path or decision point in the program once. To determine test coverage based on the given test suite and cyclomatic paths, each path in the test suite must be analyzed to determine if it corresponds to a cyclomatic path. If a given cyclomatic path is not covered by the test suite, more test cases must be added to the suite to cover the path. Test coverage can then be calculated as the percentage of all possible cyclomatic paths in the program that are covered by the test suite. The ultimate goal is to achieve high test coverage so that there is sufficient assurance that the software program is functioning correctly and meeting customer expectations. So if we know the cyclomatic paths of a process/object, we can derive a desired dataset that maximizes test coverage. This dataset is often referred to as a "test suite." The purpose of a test suite is to ensure that each test performed contributes to testing a unique path in the flows. The process of deriving a test suite is quite cumbersome and can be done manually or automated. It involves going through each path in the flow and identifying the requirements for the inputs of each function and each condition to be considered. This requires in-depth knowledge of the flows in the process/object and the ability to identify "corner cases" that may lead to errors in the flows. In addition to manually deriving a test suite, tools can also be used to automate the testing process. These tools could take the cyclomatic complexity of the flow as input and generate the test cases that test each line and branch of the flow. This results in a test suite that comprehensively tests the flows and would provide maximum coverage. In short, knowing the cyclomatic paths of a process/object can lead to deriving a test suite that maximises test coverage. This can be done manually, but should also be possible with tools to automate the process. The purpose of a test suite is to ensure that each test performed contributes to testing a unique path in the flows, which is important to ensure software quality.
Readability: A good implementation is easy to understand, even for people who are not directly involved. Readability can be improved by using meaningful variable names and clear process/object formatting.
Process testing does not stop at one test. It is important to conduct regular regression testing to ensure that any changes to the process and environment do not have unexpected side effects. Test suites with associated test data that ensure high coverage can be used to detect regressions in advance. This also helps to detect any errors and problems quickly and efficiently.
There is also the continuous service improvement component which is an important aspect of process development. This means that continuous improvements are made to increase efficiency and improve quality. This is achieved by constantly monitoring the performance of the process and addressing problems immediately. Efficiency is essential in process testing. Efficiency means using minimal time and resources to complete the testing process without compromising the quality of the tests. By having proper test suites, test coverage, regression testing and continuous improvement, you can ensure that the processes and objects are of high quality and tested efficiently.
It is important to consider these factors when designing and implementing BluePrism processes and/or objects. Scientific articles that offer more information on these topics include "The Relationship Between Cyclomatic Complexity Metrics and Software Quality: A Controlled Experiment" by D.R. Kuhn and "Agile vs Traditional Methods: A Meta-Analysis of The State of The Art" by A. Subramanian et al.
Perhaps a study topic for a graduate student to measure the quality of BluePrism processes and objects?
... View more
Status:
Under Consideration
Submitted on
08-06-23
07:00 AM
Submitted by
ManishRaw
on
08-06-23
07:00 AM
Hi Team,
When a BOT is used to call an API endpoint, the BOT machine details are send as an incoming requestor to the endpoint.
In case the authentication mechanism requires the creation of certificates to allow only the needed traffic, then all the BOT machines needs to be added to the certificate.
Moreover if there are any deletion or addition of BOT machines as per the requirement, then we need to create new certificates.
I want to propose to create an internal API gateway in Blue Prism using which we can redirect all the BOT API calls to BP Server and then BP server will in turn make the calls on BOTs behalf, this way we only have to create the certificates once that too with just the BP server details
If you like the Idea, please upvote so the SSC team can put that to their review list.
... View more
Additional options when creating a rule would be very helpful and reduce the volume of rules required for a form. My highest priority would be to have AND / OR settings (for example, field2 state is mandatory if field1 has a value of 'A', 'B' or 'C'). A While option would also be very useful as this would prevent the need to create 2+ rules in case a user changes something on the form (for example, field2 state is hidden while field1 = 'no'). Other suggestions include rules based on more than one field and any other basic functions. We currently have a very simple form which usually displays 7 fields on 1 page which uses 130 rules, the above changes would reduce that to under 10 rules.
... View more
Many security policies these days do not allow the same set of credentials to be used concurrently. ie. different sessions, same credentials. We need a configure so that the number of concurrent login sessions can be controlled or disabled to comply with security.
... View more
We tend to lose a lot of work when locks are released accidentally from all the locked process and business objects. This needs to be further improvised in the upcoming feature where admin (or superuser) can only release locks if required from all the process and objects. Developers would have restricted access to unlock either the process and objects that they have created or only one at a time.
... View more
Status:
Planned-Now
Submitted on
09-05-23
09:36 PM
Submitted by
CarolineChriste
on
09-05-23
09:36 PM
In Communications, we have an enclosure template that uses variables such as the broker on record and the shareholder on the account. When you choose to include either of these when writing a letter you cannot modify the enclosure to change an address or a name or any other information. You also cannot add an enclosure to a letter if you forgot to do so in the process flow steps - you'd have to cancel your letter and start again. Invesco would like to see more flexibility in handling enclosures where the processor does not have to cancel out of their current letter and start over. This is wasteful for the reps creating client letters.
... View more
Status:
Reviewed
Submitted on
26-04-23
02:55 PM
Submitted by
Tejaskumar_Darji
on
26-04-23
02:55 PM
It would be beneficial to have an option to export session details from Control Room, similar to the option available for exporting queue details. This would allow for easier tracking and analysis of session data. Therefore, it is recommended to add an export option for sessions in Control Room. To my understanding, currently, there does not seem to be a manual export option or an automated solution available to export all session management console details. This can potentially create a hindrance in efficiently managing and analyzing session data for business purposes. Therefore, it may be beneficial to explore options for implementing an export feature for the session management console.
... View more
Actually looking for a more effective way in searching for objects together with its actions. Ideally we can filter for the object name in the studio then have to open it manually and look at all the actions.
Another way is maybe keep a tracker of all objects via Excel or SharePoint. Is there an existing solution to this?
... View more
Idea: I'd like to suggest the customization / expansion of the code-linting (aka Design Controls in design studio) capabilities that design studio currently has by allowing users to create and add their own rules. An organization should be able to customize design controls that fit their own organization's best practices (eg. verify that spied elements follow a specific naming convention) and code styles (eg. all START stages have to be font color = green) background: Most modern IDEs (eg. vscode or vs) have the capabilities to allow developers to create custom code-linting rules that fit their organization's best practice and coding styles. These rules help standardize code within an organization which can lead to improved code maintainability, improved performance, and minimize bottlenecks development (eg. code reviews). other information:
Currently, it is possible to export Design Control settings to an XML file and share it with anyone. So, it should make it possible for organizations to share their best practices with anyone, allowing new developers to benefit from the knowledge of more experienced developers. Essentially, making it possible for new organizations adopting Blue Prism to copy design controls from experienced organizations who have been using Blue Prism for years.
... View more
For out-of-the-box functionality there should be no excuse for missing descriptions. The Work Queues:Set Data action (image below) is a perfect example. This is a highly useful function but even if you've been using BP for a while, who knows what it does? Frankly, it is lazy product development not to have descriptions for standard functions when the facility to display descriptions is right there. Importantly, they should be useful - not just the obvious "This action sets data in a queue" but detail of how you do it, so someone developing their skills can understand. For example "On Get Next Item this action writes the data in the output Queue Data Collection back to the queue..." or whatever. Perhaps you provide a facility to crowd source the descriptions and have a panel choose the best?
... View more
We can add a new stage named like Dialogue box or something which will pop up a window and ask the user to enter the value of a specific data item. Such a stage can come in handy for attended automation where the user is expected to enter some value during the run time.
... View more
Situation for BP v6.9 After each release import the information of exposed processes as web service gets lost and it is necessary to manually expose the processes again. The release file should contain the information if and how a process is exposed as web service. Similar information is already considered in release files: like Web API, SOAP Web Services, ... which reflects the consumer part of services but the provider part (expose as WS) is missing.
... View more
A client wants to calculate the savings which the automated process brings. As Interact is part of the end to end automation the client asked whether it is possible to measure how much time a user spends on an Interact form activities. At this moment there is no way how to get this information. It would be useful for reporting purposes to have something like that available.
The closest solution could be taken from AuditDB database and table Audit. There is a timestamp when the form is created (by the robot) and when the form is submitted by a user but if the user does not work on the form immediately when the robot creates it there is a time gap which can't be identified.
Thanks.
Regards
Zdenek
... View more
We require an application modeler based on active windows, which automatically identifies the types of windows and applications for example: JAVA (automatically identifies or allows testing with the different versions of Java Bridge) and all other SAP, Windows and automatically identifies the type browser (firefox, edge, chrome, opera).
... View more
Dear Blueprism,
I am working as a process controller, not able to clone the calendar. Could you please add the cloning calendar option in the system tab. It would be better helpful. System tab -> System -> Calendar.
Best Regards,
Srinivas Goud Surakarapu.
... View more
When trying to install the ROS or Communications Add-in for Word, the install results in an error if the user has Word Version 2211. The Add-ins need to be compatible for Word Version 2211. This is the version that our entire enterprise is using so we cannot roll back to a previous version of Word.
... View more