Article
Dmitry Maslennikov · Dec 4, 2015 1m read

CacheBlocksExplorer

Database Blocks Explorer for InterSystems Caché

Key features

Tree explorer
  • Shows tree of database blocks;
  • Export tree as SVG or PNG image;
  • Shows every node in the block;
  • Open any block just by clicking on node in parent block;
  • Reload block info by clicking at the same node second time;
  • Zoom in and out, fit and navigator;
  • Easy way to switch between view modes (tree/map);
Fragmentation map
  • Shows every block with the same colour for every globals;
  • Legend for globals;

Installation

Minimal supported version is 2015.3 or 2016.1.

Just import xml file, in any of your namespaces by Studio or in any other way, with compilation, user should have an access for creating web applications. And then you can open that application by link http://localhost:57772/blocks/ (just check your host and port).

Last releases you can find here on github.

And on github available standalone installer, which create namespace named BLOCKS with the same name database, and web application "/blocks/".

7
0 381
Discussion (8)1
Log in or sign up to continue

Before I load this code package, I wanted to ask if it will work with any version of Cache.  If not, then what versions does it work with.   Thanks.

Sorry, I forgot to mention it. It works only with versions where added native JSON, so, 2015.3FT and 2016.1FT

I now working on backporting this project to versions less then 2016.1. (2014.1 or 2015.1). But unfortunately can't test test it yet. Unfortunately, I don't have an access to any versions except FieldTest. When I will get such version I'll test my project on it.

do you plan an update for changes to JSON syntax   
- .%To... instead of .$to...  and so on
- local Caché variables and expressions in parenthesis. (  var )

I tried and it finally compiled.  Could run the page just never saw a result.  

Robert, yes, I have the plan to upgrade support to the newest versions, but unfortunately the problem with time, yet.

Update: 

Blocks.Router uses $toJSONFormat() {CR/LF formatedOutput }
this hidden function hasn't been ported. replacement with %ToJSON()  does it as well.
So TREE view works nice.

Map view gets no content (and no colored dots  crying ).
Reason:  Block Count=0 and also %Fill -> nothing to display (makes sense somehow). 
This is also with the original classes in 2016.1.4 ;
Looks like an privilege issue.

replacement with %ToJSON()  does it as well.

Is there a way to call %ToJSON, so it would return formatted output?

I 'm not aware of such option.
I ran also the original class (with .$toJSOMFormat) in 2016.4  with the same effect.
JSON output (trapped over I/O redirection) looks also good.
I fear the huge XDATA block (HTML, JS, CSS) didn't make it correctly via the Studio import.
It looked very strange with many empty lines inserted.