Enhancing Performance in Pattern Applications by Disabling Dynamic Pattern Update

When building a Knowledge Base (KB), the pattern engine checks all instances to determine if any are pending application. This comprehensive check is necessary because a change in a global configuration, such as K2BEntityServices settings, might require all instances to be reapplied, even if only one was modified. However, this process can be time-consuming and may become inconvenient during prototyping in large Knowledge Bases. To address this, the Dynamic Pattern Update feature allows for more efficient builds. This is a GeneXus version property.

DynamicPatternUpdateProperties
Dynamic Pattern Update Properties

Simplified Managment with K2BTools

To simplify the management of this property, K2BTools includes enable and disable actions in the K2BTools menu.

ApplicationActions
Enable / Disable actions

How it works

  • When Disabled: Only instances that have been directly modified are applied during a build. This is ideal for prototyping, as it reduces build time by focusing only on changes made.

  • When Enabled: All instances are checked and applied, ensuring that any global configuration changes are accounted for. This is necessary for maintaining consistency across the KB.

Recommendations

  • Disable Dynamic Pattern Update:
    • Use this setting during daily development and prototyping to streamline the process and focus on immediate changes.
  • Enable Dynamic Pattern Update:
    • Before performing the following actions, enable this feature to ensure all generated objects are based on the current state of the KB:
      • Performing a "Rebuild All"
      • Building in a production environment
      • Each time a change is made in the global configuration (e.g., K2BEntityServices settings) and there is a need to see the impact at runtime or in GXServer(*)

Enabling the Dynamic Pattern Update before these actions ensures that all instances are up-to-date and consistent with the latest configurations, which is crucial for production builds.

(*) When there is a need to impact this global change in GXServer, our recommendation is to enable Dynamic Pattern Update, perform a build, and then commit to GXServer to keep consistency between the local Knowledge Base and GXServer.