Categories
Automated Testing Python Selenium

Introduction to Automation Testing

Automation testing has become a cornerstone of modern software development, enabling faster release cycles, improved accuracy, and reduced manual effort. In this chapter, we’ll dive into the fundamentals of automation testing, its benefits, and why Python Selenium Framework combined with Pytest is a powerful choice for web testing.

Categories
API Bizagi

Working with Bizagi APIs

Authentication

Go to OAuth2 Applications option under the Admin>Security and register a new application:

Categories
Bizagi Tips and Tricks

How to update an entity not related to the data model

An easy way to update an entity which is not related to the data model is to use the CEntityManager method called GetEntity. This comes in handy when the SOA layer is not accessible as this is the only way you can perform this operation.

Categories
Best Practices Bizagi

How to Keep Track of Deployments (Bizagi)

Bizagi is a very peculiar tool when it comes to deployments and if you are not well organized, things can go south pretty quickly.

In my current project, the production environment is in use 24/7 and the opportunities for a new release window are slim to none. So, imagine having issues in production just because you forgot to import the values of a new parameter entity.

Categories
Bizagi Tips and Tricks

Date, DateTime data types

Convert Date or DateTime to String data type

var sDateTimeFormatted = dDateTime.ToString("MM/dd/yyyy hh:mm");
var sDateFormatted = dDate.ToString("MM/dd/yyyy");

Or you could use String.Format

var sDateFormatted = System.String.Format("{0:d}",DateTime.Now);

Use this to convert it for XML

var dTransactionDate = DateTime.Now;
var sTransactionDate = XmlConvert.ToString(dTransactionDate, XmlDateTimeSerializationMode.Unspecified);

Dates as filters for entities

[dDateDelivered != null AND dDateDelivered >= '08/22/2019 12:00:00 AM']

Bizagi’s way

<format-date(<XPath>,"format")>
Categories
Bizagi Tips and Tricks

Escape Character in Bizagi

Use backslash (\) for string escape. See the following examples:

var sAttribute = "test";
var xCollection= Me.getXPath("entity-list(\"mEntity\", \"sAttribute = '"+ sAttribute +"' AND bActive = 1\")");
var xCollection= Me.getXPath("entity-list('mEntity','sAttribute = \"test\" ')");
Categories
Excel

Working with Excel

Conditional formatting

This can be found on the Home > Style > Conditional Formatting.

Excel Conditional Formatting

Whenever you want to want to use a formula, I found it easier to do this trick. Create the formula next to the column you want to apply the formatting. In the case below, I want to check if the value is greater than 100 (=A2>100, =A2>100 etc)

Categories
AI Resources

Free AI Training Course (Microsoft)

Introduction

Microsoft and LinkedIn have joined forces to address the increasing demand for artificial intelligence (AI) skills in the workforce. With the launch of the AI Skills Initiative, Microsoft aims to provide individuals with the necessary knowledge and tools to effectively leverage AI technology. Emphasizing the importance of responsible and ethical AI use, this initiative is designed to equip participants with the skills needed for the future of work.

Categories
Bizagi Tips and Tricks

Error Could not generate assembly for

Web portal error in Bizagi

Error Type: BaseException

Error Message: Unable to process control: _. Control type: ContentPanel. Unable to process property: _. Error processing Rule = _; Error: Error Evaluating Rule _ -Error Could not generate assembly for [C:\home\site\wwwroot\App_Data\Temporary\ComponentLibrary\BizAgi.ComponentLibrary.CRuleContextJS.js]: Errors: Error Line,Column:596,26 Error Description: ‘get’ is a new reserved word and should not be used as an identifier

Categories
Best Practices Bizagi Tips and Tricks

Avoid private processes in Bizagi

Why private processes are not good?

I present two important reasons why you should not use private processes within Bizagi:

  1. Reporting Challenges: One significant problem I have encountered is related to reporting. When cases are marked as private, the information displayed in reports depends on the user running the report. If the user has access to the case, the related information will be included in the report. However, if the user does not have access, the information will be excluded. This can create complications when you have a Manager role specifically designated for reporting purposes only. In such cases, the manager needs to be granted permission to view case details in the reports using commands like “CHelper.GrantCaseAccess(Me.Case.Id, iUserId).” But what happens when a new manager is added to the role? Do you have to run the same command for all the existing cases? While it is technically possible, it would be more convenient if this process was simplified.
  2. Access Management Challenges: The second issue with private processes is related to the constant changes in personnel who require access to the cases. As roles change or new people are assigned to a particular role, the access to cases should be dynamic. However, when using private processes, manually managing these access changes can become cumbersome. It becomes necessary to constantly update permissions and ensure that the right individuals have access to the appropriate cases. This can be time-consuming and prone to errors.

Considering these challenges, I strongly recommend avoiding the use of private processes in Bizagi. Instead, it is advisable to explore the following alternative approach that offers more efficient and dynamic ways of managing reporting and access permissions within the system.

What should I use instead?

I strongly recommend utilizing visibility rules on the summary form instead. By implementing simple expressions that evaluate whether a user’s role matches certain criteria, you can determine whether they should have access to the summary page. For example, if a user has the role of Manager, you can allow access to the summary page. On the other hand, if the user has a different role that shouldn’t have access to the case, you can restrict their access.

Visibility rules based on user roles are straightforward to manage and modify in the future if needed. If there are changes to the roles or access requirements, you can easily update the expressions without extensive manual adjustments. This flexibility ensures that the access permissions remain aligned with the evolving needs of your organization.

By utilizing visibility rules, you can simplify the process of controlling access to the summary page in Bizagi. It provides a more efficient and dynamic approach compared to using private processes.