Skip to main content

How to discard and clean up rules that another developer has checked out?

In certain situations, you might come across scenarios where a fellow developer has checked out rules but is unable to check them in or discard for various reasons. This could be due to issues such as a corrupted operator ID, preventing them from logging in, or unexpected departures from the project. Having rules checked out can impede the ability to lock the ruleset for release to a production system. This post details the process of discarding and cleaning up rules checked out by other operators in such instances.

1.Initially, identify a checked-out rule. In this illustration, the operator "chota.bheem" has checked out an activity rule named "MyActivity."


2. Log in to Dev Studio using another operator ID and select "Release Lock" from the Actions menu on the rule form.


3. At this stage, the checked-out status appears to be resolved. If needed, you can proceed to check out the rule or lock the ruleset.


4. Nevertheless, this alone is insufficient. Residual data persists in the database, and it is recommended to perform a cleanup.

4-1. Actual Rule Table

Identify the physical table corresponding to the rule type. Numerous derived rules tables are available, and you can verify them by using the "Test Connection" button on the class form. For instance, Rule-Obj-Activity is mapped to pr4_rule. Look for a rule where the pyruleset value is <OperatorID> + @, such as "chota.bheem@."


This rule is currently checked out. Deleting it has the same effect as performing a discard operation.

delete from rules.pr4_rule

where pyrulename = 'MyActivity' and pyruleset = 'chota,bheem@'

4-2. Data-Rule-Summary (pr4_rule_vw table)


You can also delete this record.

delete from rules.pr4_rule_vw

where pyrulename = 'MyActivity' and pyruleset = 'chota.bheem@'

Comments

Popular posts from this blog

Understanding the Lock Mechanism in Pega

Now, let's delve into the Pega lock mechanism. To begin, Pega employs both database-level locks, which are of shorter durations (usually in milliseconds), and Pega-level locks, which extend over more extended periods (determined by user operations, often a few minutes). While you have the option to disable Pega-level locks using the Optimistic locking strategy (discussed later), database-level locks cannot be turned off; they are an integral part of the infrastructure layer. Moving forward, I'll elaborate on Pega-level locks. 1. Fundamentals of Pega-Level Locks When an individual initiates an assignment, the system transitions the state to "Perform" mode and acquires a lock. This lock data is then added to the "PR_SYS_LOCKS" table in the database, where it is systematically managed. Throughout this phase, no other user can access the same assignment. Upon the user's submission or cancellation of the assignment, the state shifts to "Review" mode...

How to set up JFrog Artifactory as a Repository in Pega.

Before delving into the topic, let's gain some understanding of what a repository is........... What is a repository? A repository is a centralized storage location where data, files, documents, or other digital assets are stored and managed. It serves as a single source of truth for organizing, versioning, and accessing these assets.  In the context of software development, a repository typically refers to a version control system, where developers store and manage source code, configuration files, documentation, and other project-related files. Version control systems like Git, Subversion (SVN), and Mercurial are commonly used repositories in software development. In addition to version control systems, repositories can also refer to databases, file systems, content management systems (CMS), or any other structured storage system used to manage digital assets. Overall, a repository provides a structured and organized way to store and manage digital assets, facilitating collaborat...

Building a CSV File Download Function from a Page List

Consider a scenario where we want to download recently added table data from the screen into a CSV format for analysis. Today, we will explore how to accomplish this in Pega. An existing out-of-the-box activity named "pxConvertResultsToCSV" is available in the @baseclass, and you can utilize it without the need to create it from the ground up. The following example illustrates a sample screen: when the button is clicked, the Page List data on the screen is downloaded as a CSV file to the end user's local machine. 1.To begin, establish a Page List property. In this instance, I defined a Data class, "MyCo-Data-Item," and subsequently generated a Page List named "ItemList" in the Work class, referencing the Item class. 2.Position a table that references the Page List, and configure it to be inline-editable, allowing the addition of records directly from the screen. Additionally, position a button in close proximity to the table. 3.Configure the button by ...