Architecting, installing and maintaining your SAS environment

Metadata public types?

Posts: 45

Metadata public types?


I was wondering about the relation and meaning of the TypeDefinition objects in the metadata, and the PublicType attributes of other metadata objects.


It now seems to me that the TypeDefinition objects can be considered as metadata on the metadata, in the sense that it lists those objects that have an independent position in the folders tab of a SAS client (DI Studio, SAS Management Console).


A TypeDefinition object has (a.o.) attributes Name, MetadataType and TypeName.

Objects of a particular TypeDefinition (e.g. Name="User") can then be found by looking for objects of type MetadataType (for User that is 'Person) with the PublicType attribute set to TypeName (in this case 'User').

(The TypeName attribute of a TypeDefinition object often is equal to the Name, but not always.)


This all sounds confusing, I am afraid, and I could explain why I am interested, but that would only confuse it more...



Posts: 464

Re: Metadata public types?

Posted in reply to FrankPoppe

Hi Frank,


Not sure if you have seen these pages, but there is some intro documentation for this in the SAS(R) 9.4 Metadata Model: Reference:

I have been referring to these 2 distinct but interrelated metadata object type sets as model types and public types - though looking through more recent documentation perhaps logical types might be a better term than public types - that will be a hard habit to break Smiley Happy


We refer to that metadata about metadata so much that we created a Metacoda Plug-in to browse it - the Public Types Explorer (it's one of our freely available ones). I wrote about it in this blog post a few years ago: Public Types Explorer. All of the attributes you see in the documentation are available as columns in that plug-in - by default we only show the subset that are of most interest to us but the other are easily added. At the time it was mostly as a way of finding which permissions were applicable to the various metadata object types.


Hope this is useful.



Posts: 45

Re: Metadata public types?

[ Edited ]
Posted in reply to PaulHomes

Hi Paul,

Thanks. And sorry for not reacting sooner.


I had looked at those links, but read them again and some things are a bit clearer now. 

So, the descendants of the PrimaryType are the objects that can be instantiated independently. But not all of them are used in a PublicType definition. And if there is one, the metadata type is sometimes used without the PublicType attribute set (e.g., most Tree objects have the PublicType set to Folder, some to Folder.SecuredData, but I see also some without the PublicType attribute set).


And there are (at least) three places where metadata on the metadata can be found.

  • You have meta-metadata in the form of metadata objects: the PublicType objects.
  • But there is also meta-metadata that you can query but cannot be found as an object: the properties (attributes and associations) that can exist for an object.
  • And there is meta-metadata in the documentation that cannot be retrieved programmatically, like the possible values of an attribute (e.g. SASColumnType for a Column object). That is, I do not know how to determine that through a query.

And, although I do not know if that is ever been done, one could create ones own PublicTypes? 


That triggers another question (a bit off-topic, but this is my own topic anyway Smiley Happy). For PublicTypes the DefaultIcon is defined. But in e.g. the Metabrowse screen of a SAS Foundation session, or in the Metacoda metadata explorer, also all other objects (primary and secondary) have their icons. Where are those icons defined? This in fact is, for now, a fourth category of meta-metadata: information I cannot find at all Smiley Frustrated.


Ask a Question
Discussion stats
  • 2 replies
  • 2 in conversation