Deprecated. This material represents early efforts and may be of interest to historians. It doe not describe current VIVO efforts.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Introduction

Are you developing code for VIVO? Are you doing some extreme customization? You might benefit from VIVO's set of built-in diagnostic tools.

These tools help to reveal how VIVO operates behind the scenes. In general, they are only used during development, because they may have serious negative effects on the performance of the VIVO application. However, they may also be used (carefully) in production, to diagnose a particularly difficult problem.

The diagnostic tools are enabled and controlled by settings within VIVO. These settings may be changed interactively, without restarting VIVO. The settings may also be read from a file, so they will be in effect as VIVO is starting up.

Terms

Developer Mode

When the diagnostic tools are enabled, VIVO is said to be running in "Developer Mode".  This reflects the fact that all of the developer settings are ignored unless the tools as a whole are enabled.

Developer Settings

These are parameters that control the diagnostic tools. They may be set interactively, using the Developer Panel, or read from the developer.settings file at startup.

The Developer Panel

When VIVO is in developer mode, the Developer Panel appears on every page. This serves two purposes:

  1. It enables you to change the Developer Settings without navigating away from your current page.
  2. It provides a visual reminder that VIVO is in Developer Mode. If a production instance were accidentally configured to run in Developer Mode, it would be easily noticed.

 

Since release 1.6, the VIVO application includes the concept of a "Developer Mode". When VIVO runs in Developer Mode, it permits

 

  • Display an obvious indicator when these features are enabled.
    • These features can cause VIVO to run slowly, and there is no obvious indication that they are enabled.
    • It would be possible for a production instance to accidentally run with these features, and no one would know the cause of the slowness.
  • Create additional features to provide even more assistance to developers.
    • The features I have in mind would be even more costly in CPU, so the improvements in control become even more important.
  • Make it possible to dynamically enable or disable these features
    • Currently, these features are enabled at startup. It would be helpful if they could be enabled or disabled while VIVO was running.
  • No labels