Revived - Schema Explorer (Screen Shots Included)
Schema Explorer (with screen shots)
A few of you might have remembered Schema Explorer which I was busy with (if you don’t read on). Schema Explorer was a tool that at first was just suppose to expose the ever so “difficult” schema (difficult because people always seem like they are so scared of the mighty schema).
I ended up expanding the tool to include quite a few features which were requested by the “Active Directory gurus” {you know who you are}. Thinks like schema comparing, schema reporting, schema change management, schema LDIF export and many more.
Below are a few screen shots of what schema explorer could do:
As you opened Schema Explorer you had a welcome window:

You then had a Dashboard that would allow you view the downloaded and saved schema, change settings, load other schema's from other Schema Explorers or connect and download a new schema.

During downloading or loading of a schema you will get a progress screen (to monitor activity).

You are now presented with the main Schema View table (with classSchema as the default view):

- You have a selection of all the classes in the schema
- Under each Schema object you will have certain options for classSchema objects you have "Classes that inherit from me" (point 2)
- You have the inheritance tree for that class (point 4)
- In the bottom frame you have Mandatory and Optional Attributes for that classSchema Object
- If you look at point 9 you have more detail about the class that you are viewing
- Point 8 shows you the Possible Parents for he class in question, below it you can list the possible children for that class to
You have a similar view for the attributeSchema objects

- When you select a schemaAttribute object you have more information about the object on your right
- If you expand the schemaAttribute object you can see information about the object like SearchFlags etc (see points 3-5)
- If the attribute has a forward and back link pair this information will also be displayed to you:

Even though this was great information the testers still needed a way to store the schema in an offline format and at the same time be able to view this offline schema in a presentable (report manner. I then built the Schema Document.
The image below shows how one would start the schema document

You can also filter the report, just in case you don't want large files (average schema 4MB) or you where just interested in a few objects:

Certain schema's can be very large so I added a progress information while Schema Explorer (SE) was documenting the schema

Once complete you had a full report/offline schema. The reason I said offline schema is the same file that shows you the report (See below) is also used to rebuild the schema so that you can view it in SE, you do not need to be connected to the actual network (great for viewing and planning when you are on a plane...)
The report is broken up into three sections,
- Meta Data - information like number of class and attribute schema objects, schema server etc
- Class information
- Attribute information
The screen shots below show that information:
Meta Data

Class information

Attribute information

In addition there had to be a way to filter and search for items in the schema, both class and attribute schema objects have Filter and Search dialogs (the options are showed in the screen shots below)
Filter and Search
Filter:
Class:

Attribute:

Search:
Attribute:

Class:
This is similar to the screen above, the only difference is that you don't have the DataType option (Drop Down) as a search option.
Other tools:
I added a bunch of little tools like copy from he listviews, schema object GUID converters (this is actually code from Joe Kaplan) and a OID diagram (which is not complete yet), the OID diagram actually shows you for the Attribute and Class objects the actual OID tree, i.e. if you have an object with a OID of 1.2.3557.15534 it would add 1, 2, 3557 and 15534 as separate nodes, what I left out was when you click on a node to show how many object actually inherit or come from that part of the OID tree i.e. if you click on the node "1" it would show all objects, as you clicked down the tree it would filter the objects with that specific OID "part" in its OID structure.
Schema Object GUID converter (again credit to Joe Kaplan)

OID Diagram

Now many of you might think cool, where can I get it and those of you that contributed might think well where is the latest copy. Here is the official news:
When I joined Microsoft any further development on this product was not allowed by me (Carlos Magalhaes), I handed the code and my mind maps and ideas of where the product will be going to a very capable bunch of developers. The good news, they will be continuing with the development of SE and it will become a full product.
I have always had the philosophy of sharing the and acknowledging people that have helped me, for this reason the team (you know who you are) that helped me with ideas etc will receive a FREE copy of SE and all future updates for their own use.
For others that are interested, leave a comment (Comments are moderated hence they come to me first before I allow them on the web) leave your email addy in the comment and I will not disclose it on the web. Once the team has the website up and running beta downloads (for registered beta testers) will be available.
For those that helped you guys rock with out you SE could never have been where it is today!
Carlos Magalhaes