I tend to ramble. You have been warned. :-)
So, I got home from the last session of our internal MOSS 2007 training class that Steve has been presenting for Sogeti. It's a little strange to be in such a class now that I am actually working on a SharePoint gig again. It was helpful though. We covered what questions would be on the certification test, and I think I am a bit more confident about passing it now.
After dinner Eric and I sat down in front of the family TVPC with a couple of chairs. It's a big 50" screen (What can I say, I have bad eyes), so the two of us right up in front were still not as big as it was.
I began last night by explaining to Eric the origins of the Internet as we know it today. I threw up a pile of plain text documents onto the screen and started talking about the days when DARPA ran the internet and computers looked like a command prompt. I think it is easy to forget that kids don't remember that we haven't always had Windows and 3D gaming - even the ones who "get" Code Monkeys don't necessarily realize this. I explained Vandevar Bush's concept of the MemEx and how it was supposed to be implemented on microfische. Of course I had to explain microfilm and why on earht anyone would take photographs of thousands of pages of newspapers and other stuff. Then I explained footnotes and their role in making sure that people don't make things up when they write their research papers and stuff. From there, I showed him how you can take the many plain documents that have footnotes, and how Bush envisioned them as a web of interconnecting documents. he was a bit ahead of technology, but his ideas became the basis for hypertext, hyperlinks, the world wide web circa 1992,, and everything we take for granted about the internet today. Sites like wikipedia would not work without it. Having decided that the difference between a web site and a video game is now clear in Eric's mind, we moved on to what SharePoint is for - namely making web sites. All this took nearly an hour.
I spent another hour or so going over some of the relevant parts of the slides from Steve's first class four weeks ago. This had a lot of stuff that was specific to business and consulting that I just skipped, but it made a good foundation for going over the talking points about what WSS and MOSS can offer. You all probably know what SharePoint is good for, but I think it helped Eric to understand the basics.
After the lecture and presentation, we began a little lab of sorts. I started by explaining the concept of a domain name as I went into DNS and provisioned a DNS entry inside our internal network. This won't work outside our firewall yet, because I haven't registered the name with our registrar yet and don't have firewall rules set up for it, but until we have good processes in place to ensure Eric doesn't use the web site to do anything unsafe or illegal we'll just keep it in house.
I also took a moment to create an Active Directory account for his SharePoint site application pool. Let me just say that you should absolutely make sure you spell it correctly. I commited a typo in creating the account and we had a bit of a false start later because the security login for SQL server got the incorrect spelling which had later been fixed in AD. Apparently security logins in SQL are strings, not SIDs, so if you change a login name for an AD accoutn they will not be able to get into the database again until you sync it up again.
I like to go ahead and create the web site in IIS manually before we even start the process of creating a SharePoint web application. I do this because I like to add multiple host headers and do some other goofy stuff. So I showed eric how you test to make sure everything is working okay by putting a default.htm test file in the web site folder and trying it out in IE. Everything set up properly, I turned the keyboard over to eric for a bit.
So, as a side note before I move on, in most companies different people do different things. In my home I am the god of the network, but usually you will have an Active Directory account admin, an IIS web site admin, and a SQL database admin. These three people will be the ones that set you up to be able to configure a new SharePoint application, but chances are they were already involved at the point where central admin site was created, so you'll know who they are and just be able to ask or do whatever process it takes to get the AD, IIS, and SQL tasks out of the way.
[TODO: a checklist of these pre-provisioning tasks would be great if there is one out there somewhere.]
Another side note, it is really difficult to explain to an eleven year old why IIS calls a virtual server a Web Site, but SharePoint called it a Web Application and then you create Web Sites underneath that. IMHO, this is stupid and should be fixed. Until that time, I will call them "blarg" and "fnord". Just kidding, but it did confuse Eric and it kinda confuses me too.
So, Eric with the keyboard... yes...
Start menu and SharePoint Central Administration. Actually this was super easy since the web site was already configured. We had some issues because of the typo in his Application pool account name as I mentioned above, but it was really simple to go over what was in this one page form, so basically he goes to Application Management > Create Web Application and enters the details. He selects his IIS web site (easy since it was named "Eric's Web Site"), and provides the accoutn login info for the Wss_Eric account. I had already made sure that the account had SQL permissions including create databases and security admin (but these might be uneccessary for the app poool account).
The most difficult part of the form was explaining to Eric that I wanted him to rename some options so they did not end in long useless numbers (the name of the site and the name of the database come to mind). He ended up deleting too much text before he finally got the idea that I only wanted him to replace the numeric portions. Once he figured that out it was pretty smooth sailing.
After a decent wait, we got to the site sollection creation page and I went over the options there. The first thing was that we wanted to make this our root site, so a path of "/" was in order. I epxlained that we would probably not be creating any more top level sites under his URL, but maybe we'dwant to make some web site sunder other URLs at some later time.
Whent eh web site was finished we got a success message, but upon clicking the link, we saw an unusual 404 messge. I tried a couple more iisresets, though Eric had already done one after the web application was created, so I wasn't too optimistic. I was scratching my head on this for a moment, but when I pulled up the event log it was full of database errors and that is when I found the spelling error had propogated into SQL server. A quick delete and recreate of his security login fixed things nicely, and I gave his Wss_eric account ownership to the content database that SharePoint created.
I did not realize this would be a bad thing, but I had told him to pick the Publishing template. I was hoping to show him some of the web site content management features in SharePoint right away, but as it turns out this template is not very intuitive even for me, and also for some reason no sub sites can be created that use different templates. We were saddened to admit that this would mean having to delete the site collection tomorrow and recreate it with a different template.
And so ended our day. Tomorrow a new site template and Eric will experiment with lists and wiki libraries.
Will Eric remember any of this the next time he needs to create a top level site, if ever? I don't know, but I believe it is better to learn by doing even if you aren't totally sure what you are being told to do. I figure if we do this a few times eventually it will start to become familliar to him. At least for now, I know that we don't really need to do this very often. I just see it as a good exposure.