Trap in Structure Automated Generation

  1. OutSystems look through each existing Structure.
  2. If there is familiar Structure with missing current Structure attribute
  3. It will add new attribute into existing Structure and may change the name
  4. So, we need to check merge to make sure automated generation is working as our architecture design

Consumer vs Producer module

  1. The module that implements and exposes functionality is the producer module. When you expose functionality to other modules of the environment, your module is the producer module.
  2. On the other hand, the module that reuses the exposed functionality is the consumer module. When you reuse functionality from other modules of the environment, your module is the consumer module.

Core module naming conventions

  1. _CS
    • Reusable Core Service
    • with
      • public entities
      • actions
      • web blocks
  2. _BL, _CW :
    • Isolated Business Logic (Actions)
    • or Core Widgets (Web blocks),
    • to manage complexity, composition or
    • to have its own lifecycle
  3. _Eng:
    • A BL becomes a Calculation Engine if it performs complex calculations, (e.g. an invoice calculation engine or an insurance simulator).
    • Engines are usually subject to versions
  4. _Sync:
    • Logic to Synchronize data in CSs with an external system.
    • Isolating this logic makes the CS completely system agnostic and
    • it’s easier to decouple or replace the external system.
  5. _API:
    • Technical wrapper to expose an API to External consumers
    • keeping core services system agnostic and
    • supporting multiple versions of the API
  6. Add a “M” for a Mobile only module, like _MCS, _MBL or _MCW