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

Adding Metacoda Custom Tasks Capabilities for SAS Enterprise Guide

When you install Metacoda Custom Tasks for use in SAS® Enterprise Guide® and the SAS® Add-In for Microsoft Office you may find you don’t see the new menu items you expected in the Tools menu:

There are 2 main reasons why they may be missing: 1) the custom tasks could not be loaded, perhaps due to an issue during installation; and 2) you are not being granted access to the custom tasks due to your metadata roles and capabilities. The first issue is usually quite easy to resolve. This post is about the second scenario because it can be somewhat harder to troubleshoot.

Roles and capabilities are used in the SAS platform to control access to SAS application features such as menu items in SAS Enterprise Guide. In a new SAS platform installation the PUBLIC group (which includes everyone) is a member of the Enterprise Guide: Advanced role, and that role grants all capabilities for SAS Enterprise Guide. That means, by default, all users have access to all of the controllable features in SAS Enterprise Guide. Some SAS customers change this, as may be required for their security plan, by removing the PUBLIC group and replacing it with more appropriate groups for their environment, and perhaps create additional roles with the required capabilities. It is in this scenario where you may find your capability set is preventing access to the Metacoda Custom Tasks.

It is quite clear when you have a limited subset of SAS Enterprise Guide capabilities, as you will see Functions: Restricted on the status bar in the bottom right corner of the window:

SAS Enterprise Guide with Functions Restricted

Additionally, if you have turned on logging for SAS Enterprise Guide you may see a line like this in the log file:

2019-06-14 20:55:03,249 [Main] DEBUG SAS.EC.Directory.Metadata.OMSProvider [(null)] - Action: Component Enterprise Guide 7.1, Name Access Unregistered Custom Tasks, Authorized = N

That line indicates that the Access Unregistered Custom Tasks capability has not been granted to the current user. This is a special capability that controls access to custom tasks that have not been installed with their own capability for controlling access – a catch-all if you like. You can see it if you look at one of the roles in SAS Management Console User Manager:

Access Unregistered Custom Tasks Capability

By default that capability is granted in the Enterprise Guide: Advanced role that has PUBLIC (everyone) as a member. Unless this has been modified at your site, that means everyone should have the capability to access Metacoda Custom Tasks (as unregistered custom tasks). If this default setup has been modified in your SAS platform environment then you may need to dig deeper.

When Metacoda Custom Tasks have been installed using the simpler and more common Drop-In Deployment method, they are Unregistered Custom Tasks and so access to them may be blocked because the user has not been granted that capability. To resolve this you might take the simple approach of granting the Access Unregistered Custom Tasks capability to a role the user is a member of (most likely indirectly through a group they are a member of). That means the user will then get access to any new unregistered custom tasks that may get installed in future. Whilst that might be an approach you want to take to keep it simple, you may prefer instead to have more control and only grant access to specific unregistered custom tasks only. For that latter approach you would need to convert the Unregistered Custom Tasks to Registered Custom Tasks by switching from Drop-in Deployment to Add-In Deployment and giving them their own capabilities. This is covered in the second half (add-in deployment steps) of the Deploy Custom Tasks subsection, and the Register Custom Tasks as Capabilities subsection of the Registering Custom Tasks as Capabilities in SAS Enterprise Guide section in the SAS 9.4 Intelligence Platform: Desktop Application Administration Guide. To help those that might be looking to do this with Metacoda Custom Tasks, I’ll go through those steps with some screenshots.

First you will want to remove the Metacoda Custom Tasks DLL (MetacodaCTL.dll) from any of the well-known Drop-In Deployment locations that SAS Enterprise Guide scans for custom tasks:

  • C:\Program Files\SASHome\SASEnterpriseGuide\7.1\Custom
  • %APPDATA%\SAS\EnterpriseGuide\7.1\Custom e.g. C:\Users\Paul\AppData\Roaming\SAS\EnterpriseGuide\7.1\Custom
  • %APPDATA%\SAS\SharedSettings\7.1\Custom e.g. C:\Users\Paul\AppData\Roaming\SAS\SharedSettings\7.1\Custom

Next, choose another local location you want to use for Add-In Deployment, and download/copy the Metacoda Custom Tasks DLL (MetacodaCTL.dll) into that location e.g. C:\MetacodaCustomTasks\MetacodaCTL.dll

Metacoda Custom Tasks DLL in the Add-In Deployment Directory

Start, or restart, SAS Enterprise Guide and use the menu items Tools > Add-In > Add-In Manager …

SAS Enterprise Guide Add-In Manager menu item

In the Add-In Manager window, click the Browse… button and navigate to and select the MetacodaCTL.dll file from the Add-In Deployment Directory directory you chose above (e.g. C:\MetacodaCustomTasks\MetacodaCTL.dll) then click the Open button.

SAS Enterprise Guide Add-In Manager Browse Dialog

You should then see the two Metacoda Custom Tasks (both contained in that DLL) listed in Add-In Manager dialog.

SAS Enterprise Guide Add-In Manager with Metacoda Custom Tasks

Click the OK button to return the the main SAS Enterprise Guide window.

Now the custom tasks have been deployed, it is time to register new capabilities for them. Use the SAS Enterprise Guide menu items Tools > SAS Enterprise Guide Explorer…:

SAS Enterprise Guide Explorer menu item

Then use the SAS Enterprise Guide Explorer menu items Tools > Task Import Wizard:

SAS Enterprise Guide Explorer Task Import Wizard menu item

On the 1st Task Import Wizard page, review the details and click the Next> button:

SAS Enterprise Guide Explorer Task Import Wizard Page 1

On the 2nd Task Import Wizard page, keep “All known locations on this computer” selected and click the Next> button:

SAS Enterprise Guide Explorer Task Import Wizard Page 2

On the 3rd Task Import Wizard page, review the results and click the Next> button:

SAS Enterprise Guide Explorer Task Import Wizard Page 3

On the 4th Task Import Wizard page, select both of the Metacoda Custom Tasks, Metadata Column Finder and Metadata Table Finder, then click the Next> button:

SAS Enterprise Guide Explorer Task Import Wizard Page 4

On the 5th Task Import Wizard page, choose a locale that is correct for you (en for me), then click the Next> button:

SAS Enterprise Guide Explorer Task Import Wizard Page 5

On the 6th and final Task Import Wizard page, review the message, then click the Finish button:

SAS Enterprise Guide Explorer Task Import Wizard Page 6

After the wizard completes, you should see both Metacoda Custom Tasks listed in the SAS Enterprise Guide Explorer Actions folder:

Metacoda Custom Tasks in the SAS Enterprise Guide Explorer Actions folder

You should also be able to find both Metacoda Custom Tasks shown as newly available capabilities for roles using the SAS Management Console User Manager:

Metacoda Custom Task capabilities in SAS Management Console role

These Metacoda Custom Task capabilities can now be granted to roles (and their members) as needed. You may notice that the capabilities are listed, but not granted, within each of the 4 pre-defined SAS Enterprise Guide roles:

  • Enterprise Guide: Advanced
  • Enterprise Guide: Analysis
  • Enterprise Guide: OLAP
  • Enterprise Guide: Programming

You may decide to grant, or not grant, these new capabilities within these pre-defined roles as you need. However, please bear in mind that it is considered a good practice to leave the capability sets of the pre-defined roles like these untouched (changing the members is expected). Instead of changing the capability sets of the pre-defined roles, it is considered a good practice to instead make copies and change those copies. How do you easily duplicate/copy a role? Stay tuned for a future post about new Metacoda Security Plug-ins features we are working on for duplicating security related metadata objects … like ACTs, Users, Groups, and Roles! ;)

I hope you have found this post useful. Please let me know if you have any comments or questions by posting below.

Author Paul HomesPosted on 14 June 201929 December 2024Categories Metacoda Custom TasksTags Metacoda Custom Tasks, Metacoda Security Plug-ins, Roles & Capabilities, SAS, SAS 9.2, SAS 9.3, SAS 9.4, SAS Add-In for Microsoft Office, SAS Enterprise Guide, SAS Management Console, SAS Metadata, SAS Metadata Security

Post navigation

Previous Previous post: Metacoda Plug-ins Tip: hasPermissionCondition
Next Next post: Reviewing SSL/TLS Certificate Chain for Active Directory Server
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