Developing a Script Taxonomy
(Note: This post by Ed Wilson originally appeared on the Microsoft Press Blog.)
As we have been busy at the TechNet Script Center with our migration to the blog and bringing the Script Gallery online, I have been giving a lot of thought to organizing the keywords/tags that are used to provide quick links to groups of topics. The problem is that the world of scripting is huge. Forget for a minute the dozens of scripting languages, but consider the sheer number of things that can be “scripted.”
For those of you who might not know, a script is computer code that is not compiled. This means that it can be easily written in something as simple as Notepad—it is a plain text file with a special file extension. Most people never see file extensions because they are hidden by default in Windows Explorer. But a VBScript script has a .vbs file extension that causes Windows to execute the code in the file instead of displaying it in Notepad, just the way a Microsoft Office Word document has a .doc (or .docx) file extension that tells Windows to open the file with Word.
Anyway, many things on a computer can be scripted. For example, I can write a script that will create a Word document. This in itself might not seem too exciting, unless you think about running a script to find information such as the name of the computer, the programs that are installed on the computer, the amount of free disk space on a computer, the amount of memory installed in the computer, and the speed of the central processing unit (CPU) in the computer. If you would like to save that information in a Word document, it will save you a little bit of time. Suppose that you need that information from each of the 50,000 computers on your network because you are planning to upgrade to Windows 7. Now you can see that it would take a considerable amount of time to do all this stuff manually.
Here is the problem. How do I file the above script that gathers the computer inventory information and writes it to a Word document? I can file it under “WMI” (which is the technology used to gather the information from the computer). I can file it under “Word” because I write to a Word document, I can file it under “Word document” because it creates a Word document, I can file it under “Word.Application,” “Word.Document,” “Word.Range,” and other such obscure things because those are the 0bjects I will need to create in my script to make the scripting magic happen.
I recently read a book called “Glut: Mastering Information Through the Ages” by Alex Wright. In this book, Mr. Wright talks about how different societies wrestled what is sometimes referred to as information overload or information glut. How do you develop a taxonomy to organize, categorize, or systematize information retrieval?
At the TechNet Script Center, what I have been doing is creating a Script Center taxonomy that applies to the Hey, Scripting Guy! Blog and the TechNet Script Center Gallery. This organization pattern is replacing five different methods of organizing the same information. It is a bigger project than I originally thought, and I have to take into account the legacy systems that were set in place five years ago. But it is also fun work. Oh, by the way, the information gathering script I talked about that writes upgrade information to a Word Document? I would probably file it under Desktop Management and then Basic Computer Information.