The most ironic part of my lost session problem (see previous post) is that it reared its ugly head on me on Thursday night, May 29, 2008. What's the problem there? I MISSED THE SEASON FINALLY OF LOST!!!!!! Totally unfair. BTW, if you ruin the episode for me before I see it, you might die. So, you are warned. Lost session = Lost LOST = I HATE SESSIONS NOW.
I have been writing web applications for several years now. Whether you like sessions or not, I have made REALLY good use of them in classic ASP, .NET 1.1, 2.0 and now 3.5. Oddly enough, I never had an issue where my session was lost unexpectedly in one of my applicaitons until now.
It seems (according to lots of posts out there - and MSDN) that sessions are treated a little differently in .NET. Hmm, really, no kidding! But, the changes made to session management shouldn't cause my user to hit the page and immediately lose their session, right? If so, I am really in trouble, becuase like I said, I likes the sessions.
After reading about a thousand posts that didn't fix my problems and trying every combination of session state management (SQL, StateServer, InProc, BiteMyProc) nothing was working. I actually gave up on it at about 9:30 at night after working on it for 3 hours.
I came back to it yesterday after a not so great night of sleep, but still with a fresh mind. Suddenly it popped into my head that MAYBE the browser/IIS were being somewhat intelligent for me (thanks). MAYBE, since I was only wanting to track the SessionID and didn't store anything into that session as a variable, the system ASSUMED I didn't need that session to stick around. Yep, I put a line of code in my landing page that looked like this: session("hold") = "I cannot believe it was this stupid" and ran my site. There it is, sessionID is persisted.
I wouldn't really care too much about that except that I have done similar things in classic ASP and the session was always maintained even without information stored in it. It would have been nice, and I am pretty sure I have said it before, for Microsoft to document this one a little better (or maybe at all).
I have tried my best to avoid JavaScript as much as possible. Primarily, it is because it just looks too much like C and C++ (YIKES!). Yes, I LOVE VB. Anyway, over the last couple of weeks I was introduced to the YUI (Yahoo User Interface) tools/libraries. This toolset is simply incredibel. What's more, is this stuff can be rather easily retrofitted into your SharePoint Layout Pages to do some REALLY cool stuff.
Today, we (by we, I mean I watched as some User Interface guys worked) implemented the Panel and animation libraries. Literally in a matter of about 2 hours, we had a rocking fly-out set of web parts. All we had to do was copy/paste in some of the YUI tags and point them to our DIV wrapped around the web part zone hosting our webparts. In our case, this was just the Right web part zone. So, now there is this awesome little tab sitting over on the right of the screen that when you click it, it slides out to the left with all the web parts there. Talk about a real-estate saver. Let me repeat the best part - 2 HOURS! That was it.
I am sure we (spoken lightly) will spend a little more time tweaking the CSS to style that panel, but for the most part, the YUI took care of everything for us. You HAVE to check it out!
http://developer.yahoo.com/
One of the things I absolutely love about my job these days is the ability to meet with new customers to talk about what SharePoint does and what it is. I had the pleasure last year of putting on a "Deminar" as part of my company's (Optimus Solutions) quarterly online educational events. This was my first live online demonstration, so it was a completely new experience for me. I have to say, it was fun, but I prefer the face to face interaction. Give me a room full of people any day over little green dots. 
Anyway, I thought I would share it with you. It really just talks about the document management features and the benefits they offer an organization.
http://www.optimussolutions.com/Deminar/Media/collaboration_11-16-2007.wmv
While I was completing my MBA a couple years ago, I spent a good bit of time thinking and writing about management philosophies and theories. Since then, I kind of fell back into the mindset that everyone should just build their careers with a good company. Fortunately, things in my career have changed in recent months to get me again researching and thinking on ways to manage people and businesses.
There is the big problem where "managing" takes the manager down a path of having to motivate workers or, even worse, demonstrating their power over their workers. I am sure there are places where this style/practice works very well, but when it comes to highly skilled consultants, developers, or IT personnel I don't think those approaches get too far. That is, unless you want your highly skilled people to become lathargic and non-responsive.
Take a look at these couple of blog posts/articles I ran across the last few days. These really get to some of the ideas I think should be used when trying to "manage" skilled information technology workers. Once you are done with those, I will have one more for you that really fits with my philospohy, which is: The only task a manager of highly skilled IT people should focus on is to facilitate the efforts of their employees. Even more simply phrased: Stop de-motivating your workers with too much of your involvement!
First two articles: http://thedailywtf.com/Articles/Up-or-Out-Solving-the-IT-Turnover-Crisis.aspx http://steve-yegge.blogspot.com/2006/05/not-managing-software-developers.html (his political views are not necessarily consistent with my own - just read the article)
And THEN read this one from CIO Magazine: http://cio.com/article/123406/Stop_Demotivating_Me_/
And just saw a post from my friend the SimpleCoder that fits in here a litte too: http://www.simplecoder.com/blog/?p=61
Basically, if you have good people, let them do their jobs and trust them to do it. They likely don't need you to "help" them very often. And guess what, when they do need your help, they will ask for it. That is when you, as a manager, can (and better) really shine for your team. I think my favorite line in the "not managing software developers" article is this (paraphrased), "be a leader, don't be a pecker". If your goal is to wield power, don't be a manager of IT people. They will HATE you. Lead them by showing your trust in them and working hard to remove all barriers that hold them up from doing their work the way they want. Then, they will love you forever, even after they move on to the next company.
I promise; this one is short.
You know how tough it can be to customize/brand a SharePoint site to your corporate marketing schemes I am sure. Well, I just wanted to share a couple of things with you to make it a little easier next time.
First, if you want to move that Wiki page menu bar (the one with the Edit and History buttons) around on the page, you need to deal with that MiniConsole component on your master page. Really, that's it for the first thing.
Second, READ! Specifically, read everything you can find time to read on Heather Solomon's site. Then read all the CSS books and blogs you can. I assure you it will save you tons of time when you start the next SharePoint branding project.
On a side note, if you aren't using Wikies in SharePoint, you really should give them a shot. They are about the easiest and best way to get your organization's tacit knowledge saved for future employees. This makes turnover of key people much less of an issue. It also helps with the adoption of SharePoint sites in the company. And trust me, the younger generation of workers you are hiring now, they KNOW about Wikies and they will be looking for yours. Make sure they can find it.
The SharePoint Team announced a while back that there had been important changes to the MOSS for Internet Sites. This is definitely good news that makes licensing a little easier for some organizations. However, I think that a lot of people might be too excited about this possibility. There are a couple of reasons why I see this as a bad thing, both of which have nothing to do with this specific change in licensing. I do think the change was needed.
Reason #1 the change is bad: This change makes small to mid size companies think that they can just install a SharePoint server with the two licenses (normal/For Internet) and *poof* there is our extranet/public facing site. If only it were that simple. As with everything SharePoint, this scenario is much more complicated than that. As an example, how will authentication be handled for the external site? Where will the server be placed in the network? DMZ, outside the Firewall, inside the firewall? Of course each of those options presents its own little situation of issues too (outside scope of this post). My recommendation has always been that when you want an external/public SharePoint site, that you setup a separate farm anyway. This is primarily for security concerns. So, I think this licensing change just makes it more difficult for me to explain that the customer doesn't want to do a single server with both internal and external content. I mean "after all", the customer can say, "Microsoft obviously thinks this is a good model."
Reason #2 this is bad: The Microsoft community still cannot come to an agreement on how the Standard and Enterprise CALs should be licensed. Can the customer have some users with Standard only and others with Standard+Enterprise? The answer to that depends completely at this point on who at Microsoft you ask. In fact, I am still waiting on responses from a few different people HOPING for a definitive answer that isn't open to interpretation. Oh, let me tie in this current MOSS for Internet Sites issue. The MOSS for Internet Sites is ONLY sold with fully implemented enterprise features. So guess what, you install a server with it, but you only have licenses for standard for your internal users and suddenly you are now out of compliance with your CALs. Um, yeah, not bad enough that you had to fork out big bucks for that Internet Sites thing, but now you have to (well maybe anyway – depending on who you asked) go and buy Enterprise CALs for everybody even though you weren't really planning on using the BDC, Report Center, or Forms Server. Doesn't quite seem fair to me.
So, with those two biggie reasons why I don't like the change, I still think it is a good thing. Why? Well, it is nice to know I have the option at least to reduce the number of SharePoint servers I need in my deployments. So, instead of having an entirely separate farm, I could just do another server that gets placed out in the DMZ. This seems to be a better solution to me at first glance. Who knows, I might change my mind later. I am finicky that way .
Part 3 of (hmm, still don't know yet) | Part 1 | Part 2
It's easy to get lost if you don't know where you're going
I have to apologize for those of you younger than me (and I am not that old, so stop your laughing) and have never seen this version of Zelda. But still, you should jump on an emulator and give it a shot. It was tons of fun!
Actually, it was extremely frustrating, but it was still fun. In fact the first time you enter the lost woods, or the lost hills – oops! You're stuck. You can walk little Link in any direction you like, and there you are back at the same place. Trapped. And, I refuse to believe that any regular person actually figured out how to get out of those places the first time they entered unless they had a little cheat sheet. There had to be insider help. Once you knew where you were going though (West, North, West, South, West, I think). Actually, it was easier than that to get out, but not getting where you wanted to go (either the graveyard or level 5).
So, again with the SharePoint tie in. Can you draw the connection? This one actually isn't too tough. See there are a thousand and one ways you can go when you start a SharePoint deployment. Some of them leave you stuck right where you started: a mish-mash of documents/pages that no one really uses. Other paths get you down the road, but still not really where you want to be. For instance, you might have a few users/groups that get great value from the new systems, but the majority still rely on their file shares and email routing of documents (maxing out their inbox of course).
And for the lucky ones who have all the information at the beginning, they get out of the woods and into that next level. This is where your entire organization (or most of it at least) adopts the new culture of collaboration. They are using quality searching that you configured for them; they have site aggregations from the data view webparts you configured; they have line of business application access to all their data from a central point. And best of all, they have their team sites and project sites for sharing information. Then, that last westward turn out of the woods: their tacit knowledge suddenly gets published for everybody to see in Wikis and Blogs.
As if you haven't heard this from me already, plan your SharePoint projects with great detail. Really focus on governance (I will cover this topic soon) and Information Architecture (Taxonomy for those who don't know me well enough yet). Those are the most critical aspects of a successful SharePoint deployment. If you get those wrong, you will spend months trying to find your way through the woods/hills of SharePoint.
Part 2 of (not really sure yet) - Read part 1
I remember the first time I inserted that Nintendo game cartridge (that thing was huge). Excitement and wonder, anticipation of the rocking graphics (and you know they were). After a brief setup screen you start your adventure. There is Link, staring at you, waiting for you to send him exploring. His only tool is the little sword and his only security the tiny shield. Then there is that black hole/door. The mystery begins.
You know you didn't read any of the game instructions. Even if you did, there really weren't too many clues as to where to go or what to do. It was totally up to you to figure it out.
Well, as a SharePoint consultant, that scenario is just all too familiar. I guess that is why I spent so many of my teenage days playing Zelda; to prepare me for working so many days with SharePoint. When you first get your hands on the media the excitement of seeing all the new features (document management, version control, workflow, content management) almost overcomes you. The idea of getting the entire organization using a central system for all enterprise information is a prize worth any amount of investment of man hours. And, like Zelda, you can get going with SharePoint with only little configuration.
But then the other side of things hits you: where do I go once it is up and running? With Zelda, it was all part of the fun to figure it out as you go. It wasn't a big deal if you accidently entered a world with a boss you didn't have the tools to beat yet; you could always just revert to the last time you saved the game. Yeah, no such luck in the SharePoint world. That boss will fire your butt, and there are no save points (unless you happen to be in a virtual world).
OK, enough already right. What's the point here? Well, #1, with SharePoint you better be prepared the first time you come up against the boss. Plan your deployments and arm yourself with as much knowledge of this broad product prior to beginning. Otherwise, you will find yourself with your little shield and sword and no way out except to start over.
Then, #2, you are fortunate if you are a late adopter of MOSS 2007. Like Zelda, if you were the first to start playing it, you really were on your own. There were no hints, cheats, game books to help you for several months (unless maybe you subscribed to the Nintendo magazine). SharePoint has been about the same. Unless you were in the beta program, a MS partner, or MS Certified you didn't have much access to good documentation. Things have changes though. TechNet is now FULL of awesome information for planning, deploying, customizing SharePoint. There are also tons of bloggers out there offering great hints and ideas as well as best practice advice from the real world.
It is fun to play around and explore all the features of SharePoint, but as organizations roll out production portals, this is no place to spend hours and hours guessing what next. Get the training; do the reading; talk to experts. Trust me, it isn't fun when you see that first boss unprepared.
|