Skip to content

platformadmin.com

Paul Homes blogging on SASĀ® platform administration topics

  • Home
  • Reading List
  • About / Contact
  • RSS Feed
  • LinkedIn
  • GitHub
  • LinkedIn (Metacoda)
  • YouTube (Metacoda)
platformadmin.com

SAS Management Console: My Favourite SAS App

SAS® Management Console is by far my favourite SAS application. As a SAS platform administrator I like it because I can use it to administer much of the SAS 9 platform. I also like that I can use it to reach into, query and update SAS metadata in the SAS Metadata Server. My favourite interaction with SAS Management Console though is as a software developer and in this post I’ll explain why.

Way back in the mid 2000’s, when SAS 9.1.3 was the most recent version, I discovered SAS documentation for a SAS Management Console plug-in API and it spurred my imagination. Even with the best of applications there are always ways they can be improved, from one-off organization specific requirements to generic everyone-could-use-these features. The developers and designers of SAS Management Console, right from the early days with SAS 9.1, had planned for it to be extended with a documented API for adding custom functionality directly into the SAS application. I imagine this started from internal SAS requirements but I was very happy it made it into external documentation for us to use too. That was of course where Metacoda Plug-ins started. It’s amazing to think that I’ve been working with this application and it’s plug-in API for over 15 years.

What sort of things does the SAS Management Console plug-in API support?

The most obvious was you could add your custom components in the Plug-ins tab by creating a Navigation Plug-in.

SAS Management Console Plug-in API Navigation Example

This is where the bulk of our Metacoda Plug-ins work has been done. Some examples of things we have provided as Navigation add-ins to SAS Management Console include:

  • An ACT Reviewer for investigating how Access Control Templates have been used to secure a SAS 9 platform
  • An ACE Reviewer for quickly finding all of the Access Control Entries, or explicit permissions
  • A User Reviewer for digging into SAS platform users
  • Group and Role Reviewers to understand how SAS groups and roles have been setup, how members have been assigned, and what membership provides them
  • A Capability Reviewer to readily find out who has been given access to SAS application features and by what means
  • A Login Reviewer to see, at a glance, which users and groups have associated login ids in metadata and potentially stored passwords too
  • An Internal Login Reviewer to quickly see who has special internal accounts
  • An Auth Domain Reviewer to investigate how authentication domains have been used with servers, users/groups, and libraries
  • A Library Reviewer for quickly assessing how SAS libraries have been setup in metadata
  • Two Effective Permissions Explorers to quickly answer auditor-type questions “What does this person have access to?” and “Who has access to this thing?”
  • A Permissions Tracer to review effective permissions for a user/object combination and understand what access controls are driving the outcome and why they have the access they do
  • A Test Runner for running metadata security implementation tests and best practice tests
  • Identity Sync for easy syncing of AD users and groups into SAS metadata
  • An External Identity Manager to add, update, delete, and make bulk changes to external identity “links” between SAS users and groups and their corresponding Active Directory users and groups
  • A Metadata Explorer to search for and view metadata objects (where you might have previously used metabrowse)
  • A Public Types Explorer for looking at the various “public types” registered in metadata
  • A Workspace Inspector where SAS administrators can launch SAS Workspace Server instances, run small SAS code snippets, and browse SAS libraries and tables to test that they are working as expected

The plug-ins API also supported the addition of menu items into the SAS Management Console Tools menu by creating a Tool Plug-in.

SAS Management Console Plug-in API Tools Example

Some examples of things we have provided as Tools add-ins to SAS Management Console include:

  • A tool for Comparing Metadata Objects like ACTS, users and groups to see what they have in common or how they differ
  • A Password Encoder to provide a point and click interface to proc pwencode to encode/encrypt passwords using any of the available pwencode methods

The plug-ins API could also be used to create an Extension Plug-in to add custom menu items directly into the context menu when working on objects in some of the supplied standard SAS Management Console plug-ins. This had me very excited, as I could see so much potential for it, but I didn’t find it as useful as I hoped. I guess it was up to the individual SAS plug-in developers to add support for it and, unfortunately, the one plug-in I really hoped would support it, the SAS User Manager plug-in, did not. That would have been the icing-on-the-cake but I was still very happy with what I could do with what was available.

Another great benefit of having your custom code being hosted inside SAS Management Console was that you already had a working authenticated SAS metadata server connection available for use. There was no need to write any code to handle asking the user to pick an environment to connect to, make the connection to the associated SAS Metadata Server, and obtain and verify login credentials to get access. All of that work had already been done by SAS Management Console and you just had to use the ready-made connection.

There were other SAS applications that had plug-in or add-in APIs too, including SAS Data Integration Studio and SAS Enterprise Guide. I dabbled a bit with both of those but the SAS Management Console plug-in API was the one I found most useful. Maybe that’s my SAS administrator background.

Of course, another option would have been to build a standalone custom application, using the SAS Metadata APIs, instead of building plug-ins to drop into SAS Management Console. There would have been a few benefits to that but the contextual benefits of being inside the application that SAS administrators used all of the time far outweighed them. When you are already in SAS Management Console and you need access to custom functionality it is so much easier to just switch to another plug-in, select an item from a tools menu, or best-case right click over the target object and select a context menu option. Having the custom functionality right there is so much more productive and satisfying than having to launch another application, re-connect and re-authenticate to the same environment and then search for the thing you are already looking at in the original application. That is why, as a developer and a user, I admire applications like SAS Management Console where they planned for this type of integration from the beginning.

Now that the SAS 9 platform is slowly becoming a legacy platform in favor of the more modern SAS Viya, the use of SAS Management Console is likely to diminish over the next few years. The successor to SAS Management Console is SAS Environment Manager in SAS Viya. SAS Viya already has rich APIs for developing custom applications but I have not yet found the same level of plug-in type integration and customization in SAS Environment Manager as was available in SAS Management Console (if you know otherwise then please let me know). I do hope the SAS Viya APIs evolve to support developers creating plug-in type applications because the power and user friendliness of contextual custom functionality is amazingly useful. When looking at something in SAS Environment Manager, imagine being able to launch custom functionality to open another browser tab with your custom web application and, by virtue of passed contextual information, immediately getting your custom view of the same thing you were looking at in SAS Environment Manager. As a software developer, being able to continue to do similar things in SAS Environment Manager that we do with Metacoda Plug-ins in SAS Management Console would be wonderful.

Author Paul HomesPosted on 14 February 202329 December 2024Categories SAS SoftwareTags Metacoda Plug-ins, Metadata API, SAS, SAS 9.1, SAS 9.2, SAS 9.3, SAS 9.4, SAS APIs, SAS Management Console, SAS Management Console API

Post navigation

Previous Previous post: SAS Management Console 9.4 M8: omitoolsmc requested Woden
Next Next post: SAS 9.4 M8 Java 11 and CORBA
RSS Feed Follow me on Mastodon View my LinkedIn® profile Send me a message   Vertical separator   Visit the Metacoda web site

Metacoda - productivity through metadata visibility

Horizontal separator

Tags

  • Accounts/Logins
  • ACT
  • Active Directory
  • Base SAS
  • Best Practices
  • Blogging
  • Identity Sync
  • IWA
  • Kerberos
  • Linux
  • Logging
  • Metacoda Plug-ins
  • Metacoda Plug-ins Tip
  • Metacoda Security Plug-ins
  • Metadata API
  • Metadata Migration
  • Metadata Promotion
  • Metadata Security Testing
  • Mid-Tier
  • PAM
  • platformadmin.com
  • Roles & Capabilities
  • SAS
  • SAS 9.1
  • SAS 9.2
  • SAS 9.3
  • SAS 9.4
  • SAS Architecture
  • SAS Configuration
  • SAS Enterprise Guide
  • SAS Global Forum
  • SAS Information Delivery Portal
  • SAS Installation
  • SAS Management Console
  • SAS Metadata
  • SAS Metadata Security
  • SAS Papers
  • SAS Training
  • SAS Usage Notes
  • SAS Viya
  • SPN
  • Ubuntu
  • UNIX
  • Windows
  • Windows 2008 R2

Blog Roll [ ... and links to blog rolls]

  • [ … blogs.sas.com]
  • [ … SAS RSS Feeds]
  • NOTE: The blog of RTSL.eu
  • The SAS Dummy

Metacoda Links

  • Metacoda
  • Metacoda Security Plug-ins
  • Metacoda Support

SAS Communities

  • SAS Communities
  • Stack Overflow / SAS tag
  • Super User / SAS tag

SAS Institute Links

  • SAS
  • SAS Australia
  • SAS Customer Support

SAS User Groups

  • [ … other SAS user groups]
  • SAS Global Forum
  • SUGA

Categories

  • General
  • Guest Posts
  • Interesting SAS Usage Notes
  • Linux
  • Metacoda
  • Metacoda Custom Tasks
  • Metacoda Plug-ins
  • Metacoda Security Plug-ins
  • SAS Architecture
  • SAS Books
  • SAS Configuration
  • SAS Documentation
  • SAS Enterprise Guide
  • SAS Environment Manager
  • SAS Installation
  • SAS Management Console
  • SAS Metadata
  • SAS Metadata Security
  • SAS Open Metadata API
  • SAS Software
  • SAS Support Resources
  • SAS Training
  • SAS User Groups
  • SAS Viya
  • Solaris
  • VirtualBox
  • Windows

Archives

  • October 2023
  • September 2023
  • August 2023
  • March 2023
  • February 2023
  • March 2022
  • July 2021
  • May 2021
  • March 2021
  • October 2020
  • March 2020
  • June 2019
  • April 2019
  • March 2019
  • February 2019
  • October 2018
  • September 2018
  • August 2018
  • May 2018
  • February 2018
  • September 2017
  • August 2017
  • June 2017
  • April 2017
  • January 2017
  • July 2016
  • April 2016
  • March 2016
  • November 2015
  • September 2015
  • July 2015
  • June 2015
  • March 2015
  • February 2015
  • January 2015
  • October 2014
  • May 2014
  • March 2014
  • February 2014
  • December 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • Home
  • Reading List
  • About / Contact
  • RSS Feed
  • LinkedIn
  • GitHub
  • LinkedIn (Metacoda)
  • YouTube (Metacoda)

Copyright © 2010-2025 Paul Homes. All rights reserved. | Legal Notices | Admin