Showing ideas with status New.
Show all ideas
We're running into an issue where Hub is failing to handshake with our SQL instance due to a discrepancy in the expected type of encryption. We are able to successfully connect to the SQL instance from the Application Server using connection string arguments. Please allow for the same functionality when asking for information to connect to SQL where required in the installation of other components as well. Edit: This problem is currently specific to Hub 4.7. We are installing it alongside a 7.2.0 x64 environment.
... View more
Prior to deploying a new version of a changed process or object, we are obliged to go over the changes with a colleague. To do so, we use the Studio Compare functionality.
This Compare highlights att changes in green, yellow or red for new, changed and deleted functionality. You use the hop to next or hop to previous buttons to navigate.
When there are a lot of changes on one particular page, they are all highlighted in yellow. Again, the hop to next or previous buttons are used to show what was changed to my colleague.
Unfortunately, the current stage is not indicated in any way and the screen just shows the yellow stages that were changed. This makes it quite hard to explain where we are.
This is what it looks today:
Wouldn't it be nice if the current stage would be marked in some manner? Something as simple as this perhaps:
Happy coding! --------------- Paul Sweden
... View more
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
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
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
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
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
Ability to identify the browser elements using dynamic DOM XPath( not the HTML path) by node level identification via selenium functions for browser automations inside Application Modeler
... View more
Hello,
When using Capture during recording of actions in SAP, we have noticed that the tool does not catch all the values properly or some are not caught at all.
I found out from Blue Prism support that currently there is no SAP Spy mode for Capture, it relies on OCR or CV.
I would be great, if we SAP spy mode was added there to improve the quality of documentation from SAP (especially for companies which work a lot with SAP)
BR Martyna
... View more
please refer the image and community discussion link.
the idea is on having a checkbox instead of radio button on login method for application. as application can be login via SSO, with UN, PW, with API etc.
https://community.blueprism.com/discussion/pat-clarification-on-process-and-its-authentication-questions?ReturnUrl=%2fcontent%2fallrecentposts
... View more
Columns in the Available Processes, Resources, and Environment sections of the Control room seem to have a default width setting. These columns can be manually resized, but clicking away to Design Studio or another tab will cause them to go back to their default width. I propose that the resized width of these columns should be saved as columns like Name in Available Processes can be similar and the column needs to be resized to see the ends of the names. Also, the Connection column in the Resources section can often be outside of the window if the window is not full screen. I also feel that if a column has no information in it, it should only be as wide as the heading. For instance, the Members column under Resources in our environment contains no information, yet it's almost twice as wide as the header.
... View more
A Quality of Life suggestion. Take, for example, the humble 'Item Data' collection, after getting an item from the queue. There could be any number of fields in this collection that will be referred to constantly throughout the rest of the process. Each time you need to refer to one of them, you have to type [Item Data.Field Name], being very careful with your typing. It would be much simpler to instead co-opt the fields that are returned from the queue and have them going forward as pre-defined fields that you can click on via the expression editor.
... View more
Currently tasks only provide the status: completed / failed that can be used in Schedules to control the process flow. Branching the execution path can only be achieved by creating artificial termination / fail status. It would be nice if the Scheduler can fetch the process return value (output variable) and then apply simple comparison.
... View more
While working on a process and object, when a user puts any new item onto a page, the stage font and size always is set to be Segoe UI with 10 pts. Typically, to change this you could select all and set a new font and size. What would be GREAT is to be able to set this default font and size somewhere in studio settings so that you would not have to constantly set it within a process or object when working.
... View more
Currently, for some elements spied in Web mode, the "Element Type" combo box only allows a selection limited to the type spied: This proves to be particularly troublesome when re-spying elements using "Application Navigator", as then the type selected remains the same as it was spied initially, even though the Attributes will be changed correctly. This bug is problematic especially when trying to read the contents of such elements - for example a table. Being unable to change the element type, reduces the actions available for a Read stage... and in the case of tables, does not show the "Read rows" action, unless the element was previously spied as a table. Can this please be amended, so that the "Element Type" combo box allows selecting all of the types available for the spying mode used.
... View more