Interaction with Operational Environment

Applications built from the deployment template interact with static pipeline files, the EAC, the emanager, and Web Studio. It can be tricky to figure out which changes end up where.

Operation
Program
What it does
Get instance configuration
Dev Studio
Pulls all pipeline files from Web Studio (really from $ENDECA_CONF/state/emanager/instances/APPNAME/resources) This has the same effect as running emgr_update --action get_all_settings
Set instance configuration
Dev Studio
Pushes all pipeline files that you're working on to Web Studio (overwriting anything under $ENDECA_CONF/state/emanager/instances/APPNAME/resources). This has the same effect as running emgr_update --action update_mgr_settings
update_mgr_settings
emgr_update
Pushes all pipeline files from the specified directory into Web Studio. This will overwrite any edits that may have been made in Web Studio.
update_web_studio_config.(bat|sh)
Default deployment template script
Calls runcommand.(bat|sh) ConfigManager updateWsConfig:
  1. Cleans /data/web_studio/config
  2. Pulls down Web Studio files to /data/web_studio/config.
  3. Cleans /data/complete_index_config
  4. Copies /config/pipeline to /data/complete_index_config
  5. Copies any Web Studio-maintained files from /data/web_studio/config to /data/complete_index_config overwriting those same files that were copied from /config/pipeline
  6. Pushes this configuration to WebStudio ($ENDECA_CONF/state/emanager/instances/APPNAME/resources)
    Effectively, this means that all of the files that are not maintained by Web Studio are updated to match the most recent files in the Dev Studio config directory.
baseline_update.(bat|sh)
Default deployment template script
Calls runcommand.(bat|sh) BaselineUpdate run and pipes through tee for logging:
  1. emgr_update get_ws_settings pulls files into data/web_studio/config
  2. Copies config/pipeline/* to data/complete_index_config
  3. Merges Web Studio-maintained files from data/web_studio/config into data/complete_index_config
  4. Moves files from data/incoming to data/processing
  5. Copies files from data/complete_index_config to data/processing
  6. Runs forge and continues with the baseline update.
  7. After Distribute and apply has completed successfully; the post forge dimensions file is updated in web studio's instance configuration ($ENDECA_CONF/state/emanager/instances/APPNAME/resources). 
Save changes
Web Studio
Saving any changes in Web Studio writes to the relevant file(s) in $ENDECA_CONF/state/emanager/instances/APPNAME/resources (these files are all gzipped, despite their suffixes) and updates any provisioned, running dgraphs. When updating dgraphs, Web Studio uses the EAC to invoke emgr_update's "get_mdex_settings" operation, which downloads the latest merch rules, keyword redirects, thesaurus entries and automatic phrases from Web Studio to each dgraph. Once downloaded, Web Studio calls the dgraphs "config?op=update" URL to instruct the dgraph to reload its configuration files. By default, all dgraphs provisioned for the application in the EAC are updated, but users can override this default behavior by provisioning a script named EndecaMDEXUpdateScript, which Web Studio will call when the "save" button is pressed. Note that the update action is not invoked when saving dim ordering or stop words, as both of these require re-indexing and can't be hot-updated in the MDEX engine.

When we investigated the movement of files through the EAC, we also came up with some rules of thumb for when you need to run a baseline after making edits in Web Studio.

Requires baseline
Doesn't require baseline
  • Stop words
  • Dimension ordering
  • Thesaurus entries
  • Business rule changes (within existing zones and styles)
  • Keyword redirects
  • Automatic phrases

One caveat: when you add new zones or styles, you can avoid a baseline by copying the new XML file to the dgraph_input directory of any live dgraph and restarting that dgraph.

+ Recent posts