05-19-2018 02:58 PM
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...
05-20-2018 03:12 AM
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
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.
a week ago - last edited a week ago
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.
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 ). 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 .