Question
Pegasystems Inc.
JP
Last activity: 16 Oct 2018 12:03 EDT
[PEGA 7.1.6] Questions on Import Process
Hello,
What is the content of the Product JAR file? I extracted the JAR and found the rules to be in a BIN file, but was unable to read it. Please assist.
When importing a Product JAR file from one environment to another, will re-compilation of the rules occur? Or is the XML simply transferred to the DB? Is any additional validation triggered? I ask this question because we had a scenario where an inappropriate ruleset prerequisite update was made in DEV after a rule was compiled. It worked fine in DEV, but after import to a higher environment, it failed to execute properly due to the ruleset prerequisite issue. Why do prerequisites matter in higher environments? It seems that only runtime should matter.
I appreciate your assistance with these questions.
Thank you!
Fran
**Moderation Team has archived post**
This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
Pegasystems Inc.
US
Your process should probably revalidate and save the ruleset before you lock it and export it. This will catch this type of problem. The import has to save the rules. It is not saving generated code but the rules and then the rules need to be generated in the context of the new environment.
Pegasystems Inc.
IN
Hello Fran,
How are you?
Thanks for posting your query in PSC :)
While I am looking into the query raised(contents of RAP), could you let me know if you did lock the RuleSet Versions and the application rules to prevent unexpected changes before carrying out the packaging.
Regards,
Rincy
Pegasystems Inc.
JP
Hi Rincy,
We made sure to lock the ruleset versions prior to export and import to another environment.
Thank you!
Fran
Pegasystems Inc.
JP
Hello,
Can someone please assist with my questions?
Thank you!
- Fran
Pegasystems Inc.
IN
Hello Fran,
Apologies for the delay in response.
The contents of the RAP(Rule-Admin-Product) has the information consists entirely of XML documents in Unicode characters. When you import the RAP into a new environment, only the files are imported. If you import rules in a ruleset that users already can access, the rules may begin executing
immediately. These rules may execute before all the rules in the same archive have been imported.
Similarly, declarative rules begin executing immediately. This means that the declarative processes might fail if the elements or properties they reference have not been uploaded yet. This needs to be planned for when an archive is imported on a system with active users.
From your post, I understand that in the development environment, the prerequisite was updated. So, was the ruleset validation mode changes were done here? If yes, Ruleset validation is performed every time a rule is saved. It guarantees that referenced rules are available on the target system when the ruleset is promoted. Ruleset validation does not affect rule resolution at run time, but is only applied at design time. So, did you observe the issue(while executing the imported rule) at runtime or design time?
Regards,
Rincy
-
Benny Vinoth S
Pegasystems Inc.
JP
Hi Rincy,
The ruleset prerequisite update was made in DEV after compilation of the rule at design time. Therefore, there was no perceived issue in DEV. However, after import to TEST, without performing any save of the rule in TEST, the issue manifested at run time. Given this information, it would seem that re-save of the rule occurred on import of the rules to TEST. Is my hypothesis correct?
Please let me know your feedback.
Thank you!
Fran
Pegasystems Inc.
IN
Hello Fran,
Yes, it your case. I too think that while the import was in progress, re-save of the rule occurred and this could have resulted in the behavior at runtime for the TEST(environment).
Regards,
Rincy
Pegasystems Inc.
JP
Thank you very much for your assistance Rincy!
My last question is, why does the OOTB import process re-save all rules on import? What is the purpose of this, if it only matters during design time, and not run time?
I look forward to your feedback!
- Fran
Pegasystems Inc.
IN
Hello Fran,
It would be appropriate for the subject matter expert of this module to answer on the queries raised regarding the OOTB behavior. I will inform PSC moderator to reach out to concerned team.
Regards,
Rincy
Pegasystems Inc.
JP
I understand. Thank you for your support Rincy! I look forward to the feedback of the SME for my one remaining question.
Pegasystems Inc.
IN
Hello Fran,
While you are awaiting answer to the queries raised from SME, in order to avert similar issue for future, how about once the changes are made in development and found to be working, set the rule to Not Available. This allows you to save a rule without validation. Post import process is completed in another environment, you can change the availability status of the rule. Its just a thought.
Regards,
Rincy
Pegasystems Inc.
JP
Hi Rincy,
I appreciate the idea. It is technically feasible. However, this is a lot of additional overhead to the normal deployment process. It also requires to update the rules in our testing environment, which is against best practice. Therefore, unfortunately, we will not be able to use this approach.
Please let me know when we expect to hear from the SME on my last question.
Thank you for your assistance!
- Fran
Accepted Solution
Pegasystems Inc.
US
Your process should probably revalidate and save the ruleset before you lock it and export it. This will catch this type of problem. The import has to save the rules. It is not saving generated code but the rules and then the rules need to be generated in the context of the new environment.