Deign Manager Technical Information

Scheme Information

swg_dsn_admin_engine is the singleton exemplar that allows you to interact with schemes (aka designs) and projects (aka jobs - not Job Server jobs…)

  • swg_dsn_admin_engine.active_scheme - current design (this is a dataset record)
  • swg_dsn_admin_engine.active_scheme.project - current project (this is a dataset record)
  • swg_dsn_admin_engine.da_dataset_manager - the swg_dsn_design_manager that holds the guis for design manager interactions

Alternative Structure

The user defines the Design Manager Top (DM Top) alternative which is below the top alternative. DM Top is user defined and sometimes called Engineering Design. Under DM Top are PLAN_#### child alternatives. These are the actual project/design alternatives. This will be true for all views that are under Design Manager control.

You can use swg_dsn_alt_pool_manager.design_for_alternative(:gis,"PLAN_967") to get the scheme ID which can be used by swg_dsn_admin_engine.scheme_for_id(scheme_ID) which will return the scheme dataset record.


Projects can have multiple schemes/designs. Each scheme/design can have sub-designs. Only one scheme/design will become "official" and eventually posted

Construction View

Construction View is a methodology to see work being done on your system before being posted to Engineering Design. Others have better info on this and should feel free to add

VBASE checkpoints

When you look at the checkpoints in the PLAN_ alternatives, you may see some with the naming convention of {VBASE_###}. These are check points when the last time the Construction View was updated. The Number represented by the checkpoint name is that of the scheme (aka design) internal ID of the Construction View.

I have seen where people use the combining of designs to produce new designs that implement the functionality of the Construction View. So you would have multiple {VBASE_###} checkpoints. This caused issues when doing the multi_merge job with the multiple checkpoints.

State Model


Define the State Model using State Model tab of Design Administration GUI.

Job Types/Project Types

Job (aka Project) Types are defined using the Project Types tab of the Design Administration GUI. But that is not all! you need to also add an entry to the job_type.cfg. I suggest creating a customisation product/directory and make changes there. To ensure right location & file lookup, use smallworld_product.pni_get_resource("dm_glue", "config", "job_type.cfg").

State Transitions

Note that if the state transition method fails, it will give you the message you have for the transition. It won't give you a traceback if for general problems like "does not understand." Below is an example traceback that is not displayed; one of the calling methods captures the error….

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License