| I've been working on the site columns and site content types that will make up all of the configuration items (CIs) in the CMDB. It is essential to your success when working with any lists that you fully understand and take advantage of content types. Regardless of how basic your lists might be, I implore you to do everything properly by creating all of the column types first, then your content types, then your lists. Add the content types that the list should use and take out the item content type. It just always looks better to "Add a New Employee" than "Add a New Contact" or "Add a New Server" than "Add a New Item."
Using proper content types help you later if you need to move things too. It works wonders when you virtualize your datacenter and you just need to change a server to a virtual server too. Some of the fields will just carry over. Fields that are no longer needed drop off, and new fields can be seen. It is just a lot cleaner.
I'll get back to this again soon. I've just been so very busy at work. |
| Not that I have any faithful followers or anything, but I have had a couple inquiries about the CMDB template I've been building. It has been a rough couple of months. I have been dealing with a baby, a cervical fusion, and a few bouts with bronchitis. I have also been studying a lot about the cloud. You'll see some stuff on that soon too. One of my clients is getting a private cloud, so I have been attending a lot of presentations. Last Spring I had a couple with the NIST. Just last week I had one with Microsoft. There are lots of awesome things on the way. |
| I am going to take the next few weeks to develop a simple configuration management database (CMDB) that I will then make available for download. I am going to stick to using only out of the box (OOTB) features of SharePoint 2010 Foundation. I like to keep things as simple and cost effective as possible. While I would love to use many of the tools and web parts out there, I will restrain myself so that others can use this as best as possible.
So what is a CMDB anyway?---Well, it is a database of all of your assets in your IT environment to put it simply. If you have a large enterprise, there are a few applications and businesses that you can use tailored to your environment. Many will do their own discovery of all of your assets, but rarely can they capture everything. More importantly, they can capture information incorrectly. Typically, you will find that you will need to get a separate product for networking devices and servers. If you have mixed operating systems in your environment, you will still have the likely chance that thing many of your servers won't be discovered. In short, it might not be in your best interest to spend a lot of money on a complex application that you will still need to spend countless hours to configure and verify.
This is why I like to use SharePoint for small to medium environments. Yes, I know that SharePoint isn't a database, but it can definitely act like one. It uses SQL Server as its backend. It is really a good medium. Building forms and reports in MS Access can be tedious, and I find more people can learn to use SharePoint more easily. Exposing the data on a website is also beneficial to those who use it. You can connect to other data sources. In SharePoint especially, you can leverage the ability to collaborate and have users generate the content, and you can also leverage the power of SharePoint's security trimming.
Where do we begin? Well, that all depends on how much time and people do you have to keep your CMDB up to date. How much effort do you really want to put into this? How little can you have and still call it a database? What kind of information do you need to keep by legislation? Do you want this to be more than an asset database? Is it more than just a simple list? If you are running an IT shop, you really need to ask these things before you jump into yet another commitment.
ITIL is so wonderful to have laid out all of these new concepts on top of things IT shops have always run. The key thing to take out of the first paragraph is how ITIL addresses it:
"In the ITIL context, a CMDB represents the authorized configuration of the significant components of the IT environment. A CMDB helps an organization understand the relationships between these components and track their configuration."
|
The first sentence is key here. The CMDB represents the authorized configuration of the significant components. This means that your CMDB doesn’t just capture your assets. It captures governance around those assets. If you have any experience with working on SharePoint environments, you just cringed when you read governance. The CMDB captures the relationship between the other assets and your processes you have tied to changing those assets. You can even go into the detail of all of the smaller yet still signification configuration items on those assets. For instance, does your little Excel spreadsheet you use right now have a column to indicate if you have remote desktop enabled? How do represent the additional NICs or even teamed NICs? How do you go about adding to your spreadsheet a new NIC you are teaming with the old NIC? Do you treat physical servers differently than you treat virtual servers? Does your spreadsheet show when you last patched your servers and what version of the .Net framework you have installed? Does that even matter to you? It might if your information assurance guy learns that there is a vulnerability to one version but not another. Are you going to tell one of your systems administrators to log into each server and find out what servers need this hotfix? That would be silly and a waste of resources.
These are just questions to think about. What I am going to do now is build out a sample CMDB. Over the course of building it out with fictitious information, I will come back with posts to detail exactly why I am making the lists, libraries, and workflows. Yes, I said workflows. Please comment or ask questions that I can address with the template.
|
| For the record, I actually posted this blog post to a hidden blog I have so that I could illustrate some of the features discussed first. If you want to see how it works with the final product on a SharePoint wiki page, please go to http://www.madwhitehatter.com/Wiki/Home.aspx.
The wiki pages in SharePoint 2010, and MOSS 2007 for that matter, are just html wrapped up in some SharePoint code to make the double bracket stuff work well. You can use Word as your editor to a blog, and do exactly what I am doing here to add pictures, boxes, tables, etc. in a way that is much more pleasing to the eye than working with the rich text editor that is built in to the wiki template. You won't need to upload a picture and then create that hyperlink. Doing it through a hidden blog will work wonders.
If you use Word as your blog editor, you will only see File, Blog Post, and Insert. Insert is your friend. I'll start with a picture of me. It was taken in Korea. Now the picture is pretty big. It is running off of the screen even. If you did the editing of your picture on the wiki without using Word, you would need to do a lot of manual editing. I am, however, using Word, so I'll just grab the corner and shrink it. Makes sense, right?
Before
Click on the corner and shrink.
What else would be cool here?---Well, I imagine you are going to be smart with your wiki pages and use them to capture your office's SOPs and such. Click on Shapes, and make a flow chart to show a business process.
  

I think you get the drift. I don't need to continue to create a pointless flowchart, and I think you can come up with a few neat ideas. One day, I can have my own organization with a hot secretary. You can put your SmartArt into the blog and subsequently into the wiki. Play with the colors and stuff too.
You can even use the Screenshot button in Word 2010 here to make the step-by-step processes much easier to capture by taking your screenshot, elaborating with a little text, and then doing it again.
If you really want to get freaky cool though, use a chart. I didn't bother to edit the data series, but just think of your possibilities. Don't feel like you are boxed in by SharePoint. Just think that you have a coloring book. Stay inside the lines, and I bet your picture will look better than the guy who tried to work on a blank canvas.

|
| It was a dark and stormy night.... Seriously, I just turned off my server and firewall because the lightning strikes were within a quarter mile. I cannot sleep with that noise, so I figured I should at least write something.
Earlier in the evening I emailed Apps4Rent and asked for them to go ahead and upgrade me finally. They deleted my old site and created just a self-provisioning site so I could select from the blog, team, or meeting sites available to me. Surprisingly, it didn't take 5 minutes to have my DNS replicate.
I don't have too many plans for the site right now. I will host my professional blog here, but I haven't made up my mind on anything else at the moment. I believe I am going to sit down and plan for a new CMDB based on Foundation instead of WSS 3.0 or MOSS. I have made CMDBs in both of those but not Foundation. Usually, I have everything tied to the IP, but I've seen flaws in that way of thinking, so I need a whole different plan. This idea I have now will incorporate a few workflows, change management, and my knowkedge management pieces in one.
If you have any thoughts, let me know. I'd like a problem I could solve with Foundation and share with others, |
Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /Blog/_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /Blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /Blog/_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /Blog/_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /Blog/_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /Blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /Blog/_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /Blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /Blog/_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /Blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /Blog/_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /Blog/_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /Blog/_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /Blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /Blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /Blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /Blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /Blog/_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /Blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /Blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /Blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 |
|
|
|
|
| Welcome to SharePoint Blogs. Use this space to provide a brief message about this blog or blog authors. To edit this content, select "Edit Page" from the "Site Actions" menu. |
|
|
Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /Blog/_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /Blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /Blog/_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /Blog/_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /Blog/_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /Blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /Blog/_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /Blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /Blog/_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /Blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /Blog/_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /Blog/_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /Blog/_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /Blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /Blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /Blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /Blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /Blog/_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /Blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /Blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /Blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 |
|
|