One of the most requested features from Metacoda customers has been a way to review all SAS® libraries registered in metadata, to see if they have been specifically protected with access controls, and to filter the list by various attributes like libref, engine, pre-assigned status, assigned server etc. Of course, to also be able to export to CSV and HTML as with the other plug-ins. The recent Metacoda Plug-ins 6.1 R8 release adds a new Library Reviewer plug-in to assist with this.
The list of libraries is presented at the top of the screen and selecting a library will populate the tabs below with a list of tables registered for that library and any ACTs and/or ACEs that have been applied to protect that library. In most cases you would expect the ACTs and ACEs tabs to be empty as libraries are typically protected using access controls on a parent folder, but sometimes we are specifically looking for wayward quick-fix access controls to tidy up.
If you are searching for a specific library you can type simple text into the filter bar which will show only those libraries where that text can be found in the following key library attributes:
- Library name
- Library description
- Libref
- Physical Data Source Info – directory path, database connection properties etc.
Beyond simple filtering, if you need more control, then just like the other plug-ins, the Library Reviewer also supports Advanced Expression-Based Filters. Most of the columns available in the table are available as attributes for use in expressions. You can see the name of the attribute in square brackets in the tooltip if you hover the mouse pointer over a table column header. Here are a few examples of some Advanced Expression-Based Filters for the Library Reviewer plug-in:
Show BASE engine libraries only:
#@ engine.equals("BASE")
Shows only libraries with wrs in the libref (case-insensitive):
#@ libref.toLowerCase().contains("wrs")
Show only database-backed libraries:
#@ isDBMSLibrary
Show only libraries not yet assigned to any SAS Application Server:
#@ !hasAssignedServer
Show libraries assigned to the SASApp server only:
#@ assignedServers.equals("SASApp")
Show libraries with an assign-mode value of zero:
#@ assignMode.equals("0")
Show libraries with a datasrc attribute:
#@ dataSourceInfo.toLowerCase().contains("datasrc=")
You can also filter on multiple attributes with and’s (&&) and ors (||):
Show Database-backed libraries not assigned to any application server:
#@ isDBMSLibrary && !hasAssignedServer
We encourage Metacoda customers to download the latest Metacoda Plug-ins 6.1 R8 release and try out this new plug-in. Please let us know of any additional improvements you would like to see. If you don’t yet have a Metacoda login you can also register for a free 30 day evaluation to test the plug-ins with your own SAS 9 platform installation.
Hi Paul,
This is a much needed tool for Metadata based platforms. From my experience, being able to associate on-the-fly SAS Libref & Libname reference name or System Path and Libname references is always tedious and requires extra tool or OMI requests in metadata, the latter implying a basic knowledge of the Model itself. Providing this information instantly will immediately improve the change and security audit processes of a SAS platform. The advance expression based filter also adds some great value to the Library Viewer.
Cheers
Ronan
Hi Ronan,
Thanks for posting your feedback. It’s good to hear that you think it will be useful.
Cheers
Paul