Sep28

SharePoint Rant: A Handful of My SharePoint Pet Peeves for Today

Stay good, Tom. Stay good.
 
So... happy... working... with... SharePoint...
 
Auuughh, I can't do it! I just can't. Here's what's pissing me off today.
  • There's no spell checker in the rich text editor box, so you have to copy and paste from Word to make sure you spell stuff correctly. That's pretty stupid, IMHO. CMS had an embedded spell checker in 2001. Six years later, I still get no lovin' from SharePoint.
Suppose you have stuff on an intranet site that you want to make available to people outside your company. You can't get away with creating an extranet site, because you aren't the admin and (s)he's a thousand miles away - and a very busy person. You are trying to export it every so often just to keep people who are outside the fence in the loop. Well...
  • Export to Spreadsheet is awful for this. You'd have to create a special view just for the columns you want to export, and the visual formatting is not preserved, so god help you if you have rich text fields. The steps you have to go through to get the web query file into a straight-up XL sheet are not even worth mentioning, because after seeing this I didn't bother.
  • RSS Feeds would be good, but since they don't have access to the site, you'd have to save the XML and upload it somewhere or attach it in email. Well, guess what? IE doesn't save the XSL stylesheet to disk along with the XML, so they can't open it in IE. Can't you imagine just your client having to open an XML document in Notepad? Plus, RSS feeds have an upper limit, there is only one RSS feed per list (not per view), and you have to add all the columns you want to "export" which might interfere with what you want "real" RSS users to see. Phooey!
  • How about highlighting the list contents and pasting them into Word? In a word, ugh. This technique worked, but I had to copy of bunch of one-off styles into Word too. The formatting was the best of all the options I found so far, but it was far from beautiful.
Don't get me wrong. I love this product, especially when it is used the way Microsoft intended it to be used. Bur, that is part of the problem. Not every organization is following best practices, or using their SharePoint sites the way they are configured to be used - like trying to use an intranet to do extranet stuff for example.
 
Part of the battle is getting organizatins to deploy SharePoint in ways that are useful to their users. That is a hard fight to win, especially if the servers are already up and running. But the other part of the battle is that this product needs to adapt to unusual situations. It must survive being forced into service for purposes it was not originally intended. That's where either Microsoft or the SharePoint community at large can step up and deliver solutions.
 
And, I especially like it when my login times out while I am trying to type a new blog entry so I lose everything. That really makes my day. :-)
 
Update: Okay, I will concede that *some* SharePoint lists have a spell checker built into the toolbar. But, why not all of them? To me it seems a bit of an oversight to take spell checking away from the blog and wiki lists but leave it in a custom list. I think I will do some digging and see how this can be overcome.
Published: Sep-28-07 | 0  Comment | 0  Link to this post

Sep28

Noein and the Legend of Imoogi

Normally, I wouldn't give D-War five more seconds to invade my mind, let alone my blog. But, Eric made an interesting observation yesterday and I wanted to post it quickly.
 
Spoiler Warning: I am not very good at not spilling the beans, and if you haven't seen the ending you probably won't get what I am telling you anyway, so if you haven't seen the ending of Noein yet, do me a favor and wait to read this until you have.
 
We just watched the final DVD of Noein, and I have to say it was pretty enjoyable. For a series that was sometimes utterly cincomprehensible, it had a pretty coherence ending and plot resolution. This means a lot when many anime get the apocaliptic treatment (what Alara calls the futility ending). For a series that did to quantum mechanics what most anime do to every religion ever known, I think it was - dramatically speaking - very well done. And, evil Yu looks and acts like Sephiroth. Even if he is a whiney little b*, who couldn't love that?
 
So, Eric's comment was that - if you look for it - Noein is full of elements of the same legend of the Imoogi that was prominent in D-War.
 
It has a female who has been bestowed with a fantastic power she did not choose, a male lead destined to protect her, the quantum equivalent of reincarnation, and two dragons (the old man with the straw hat and Noein). Instead of fighting for the dragon pearl, the two dragons are fighting to win Haruka's heart and mind by forcing her to choose between two different courses of action.
 
Also, there are overtones of the idea that desire makes reality, and in the end Haruka is forced to make a wish to re-establish the universe. This is very much like the wish granted to the dragon who receives the pearl, especially since her wish will play to the desires of one of the two powerful beings that are influencing her.
 
Finally, there is the obvious fact that the oroboross just plain looks like a dragon. I am not 100% sure about that, but I believe there is a scene near the end where the image of the straw hat man is superimposed over the dragon like "head" of the oroboross just long enough to imply that it is the oroboross itself which is the force of the old man who is oppossing Noein.
 
Maybe there are more references buried in here, or maybe there's nothing to it. But, I thought it was a very perceptive and salient comment coming from an 11 year old boy. Even though I am kind of acclimated to his intelligence - he *did* read the Laughing Man like two years ago - I still think his interpretation is pretty amazing.
Published: Sep-28-07 | 0  Comment | 0  Link to this post

Sep28

What's Eric Doing?

For anyone who cares to ask why I haven't posted anything about Eric learning SharePoint, just a quick update. I'll save the excuse making for after the link. ;-)
Published: Sep-28-07 | 0  Comment | 0  Link to this post

Sep28

SharePoint Weekend Project

I actually have three weekend projects for SharePoint.
 
One is to do some workflow development for practice, but that's not very exciting and many people have done blog articles about it, so I'll save the walkthrough for some time when I am doij g something really cool with workflows.
 
The second one is super double top secret. Seriously, if I told you about it, I'd have to kill you, and then I'd have to kill myself for being dumb enough to tell you about it. It's that friggin cool, and it might get me rich, which is *always* a good reason to keep your lips from flapping.
 
My thrid weekend project idea is pretty cool too though, so I'll share it with you. Have you ever created a list in SharePoint and decided you wanted another one just like it? Sure you can create a list template and put it in the list template gallery - unless you aren't the administrator of the top level site or site collection. Which, yesterday, I was not, and that got me thinking.
 
What if you wanted that list to be on a different server? What if you had read access and thought the list was really a cool idea, but you didn't have rights to export it as a template? What about document libraries? What about backup and restiore for individual sites? You see where I am going with this?
 
We had some really cool tools back in the WSS 2.0 days that could do things like help you back up an entire site without resorting to stsadm. Some of them had security limitations or had to run on the server. Some of them would work over the network. But as far as I know and nobody I know has yet told me differently, there isn't a big pile of such tools yet for MOSS 2007.
 
So, my weekend project is to start by creating a simple tool that will use the SharePoint web services to access a list and save its settings and (optionally) content to a local file. It would also be able to read the file and upload it up to an existing SharePoint site as either a new list - or maybe also to modify an existing list.
 
I know you are thinking you can just export the list oto a spreadsheet, but you and I both know that 99% of the list settings dont get copied that way, and isn't that what we really want? We want to save ourselves the work of creating the same stupid list with the same fields, choices, etc. over and over again.
 
Anyway, I'll start with this. We'll see how far I get with it. I am not a big fan of releasing half baked source code, so my next post will incloude some screenshots but if you really want the code you'll either have to wait for it or contact me personally and beg (c'mon I know you want to, lol).
 
To Be Continued....
 
Published: Sep-28-07 | 0  Comment | 0  Link to this post

Sep28

Robust Hyperlinks in SharePoint

Upon careful consideration, I decided to keep this posting as a draft and not publish it quite yet. The ideas described within is still in its very formative stages and I don't want to disrupt that by attracting any negative attention. I've kept the post as documentation of the timeframe in which I conceived of these idea, and when I feel it is safe to make an anouncement about it I will release this entry.

As is apt to happen when I am spending some quality time ruling my fiefdom from my porcillain throne, I had an idea last night that was so good that I simply can't blog about it. You see, I think this is a patentable idea - or at least good enough to sit on it until I can figure out if it may be worth real money, so I have to take certain steps to document and protect it before just telling the whole world. However, I can post a blog article about it as long as I keep the specifics out of it, so that I have a record of when the idea occured to me. I'm keeping the rest of the documentation in my Wiki and I'll publish it here after my application is safely on its way to the US Patent Office. ;-)
 
Many years ago, I remember hearing the term URN (or URI, or some other acronym, it was a while ago). It was supposed to be the internet standard for a URL that never changes - a tag for a specific article or document that could follow it around essentially forever, ending the dreaded 404 not found errors once and for all. Well, whatever it was called, it never materialized and bad links are with us to this very day.
 
Many companies have made web server products that, assuming you own your domain and continue to use their product, will produce immutable URLs for documents that will not change as long as you keep the document within their system. These products typically use GUIDs in the URL to steer the web application at the desired document. I know IBM makes one, and in 2001 Microsoft bought one called NCompass Resolution that I liked a lot and worked pretty well, then gave it the plain white paper label of  CMS for Content Management Server.
 
CMS2001 and its successor CMS2002 both had this feature of using GUIDs in the URLs to track web pages and other documents posted to web sites. The documents themselves lived in the database, and as long as you didn't do something goofy to them, such as copy them to your desktop, delete them from the server, then copy them back, your URLs would continue to work. I made very good use of the CMS product in promoting the philosophy of web site fitness - keeping a web site healthy though performing small scale regular maintenance tasks at a single page level. Having URLs that let me move documents around when I needed to (for security reasons, organization, whatever) helped a lot.
 
Recently, I've seen the concept of persistent links come back into fashion. You see this a lot on blogs. However, even in these cases they aren't truly permanent. If the blogger moves his blog to another domain or changes the software he/she is using to run the blog, the link probably won't work anymore. I don't think I can solve the problem of maintaining a link across different domains or software, but there's still a lot of room for improvement here even with individual products and web sites.
 
Enter SharePoint, another product I truly love. I've been working with SharePoint since 2001, but 2003 was really when I started being able to get work developing with it. This product took off like a rocket, but CMS not-so-much-so. Four years later, SharePoint eats CMS along with its sticker price. At least WSS is still free. :-)
 
What SharePoint did not eat was the ability that CMS had to create URLs that would not shift. At least, I haven't found this yet in WSS 3.0 or MOSS 2007. Maybe it is in there somewhere, but for the most part, URLs for documents and web pages in SharePoint look more like they did in SPS 2003 and less like they did in CMS.
 
So here it is in a nutshell. I've developed a process that will address this issue. Actually, I've already come up with two approaches that will both solve this problem, without undermining any of the features that Microsoft has done so well with when making SharePoint the success it is today. I believe these two approaches are possibly the only inexpensive ways to correct this limitation, and I hope to prove it out and (luck and lawyers permitting) maybe I can sell this to somebody (cough, Microsoft?) at a reasonable price. I think it would make an excellent addition to the next version of the software, or a great add on that would make MOSS 2007 even more popular than it is today.
Published: Sep-28-07 | 0  Comment | 0  Link to this post

Sep19

D-War: It Was Better Than Cats, I Would See It Again and Again...

Okay, so I decided to ignore the early reviews and just go see this movie for its own sake. After all we've been spoiling for an apology for Reign of Fire, which for a movie about dragons had suprisingly little footage of dragons in it.
 
I can say with some certainty that everything I heard about this movie was absolutely true. The acting was sub-par, the story line simplistics, and the plot full of holes you could drive an aircraft carrier through. For story, I'd say it was around the level of He Man and the Masters of the Universe. Your kids won't mind.
 
IMHO, the best acting was done by the gentleman who played the zookeeper who saw a dragon eat a half dozen elephants. Hopefully, he'll find other work after this. Many of the extras were also very much in character. I can't really blame anyone else for a mediocre performance because I think it really starts with the script. Perhaps Mr. Shim may do better and accomplish some more sophisticated stories in the future?
 
But, I admit I didn't go for the story. I went to see dragons fight tanks and helicopters. I was not dissappointed. Though everything else about this movie made it difficult to watch, the CG was simply nothing less than spectacular. The fight scenes were full of action and lots of eye candy, and occassionally there were even a few well choriographed moments. The dragons and other accompanying hordes were very believable and watchable, often more so than their human counterparts.
 
Still, I'm sorry to say I couldn't resist adding my own soundtrack to the movie, a la MST3K, as it lent itself very well to wise cracks. "I wish... I iwsh... I wish to bring Goku back to life!" comes to mind. If you don't want to spend the entire movie annoying the people behind you, I recommend that you bring your iPod so you don't have to hear any of the corny dialog - it will make it a more enjoyable experience.
 
My son's biggest complaint - no western style dragons. Ya crybaby! lol
Published: Sep-19-07 | 0  Comment | 0  Link to this post

Sep13

SharePoint, 403, and the Scientific Method

Well, what started today as a brief attempt to install a self registration web part on the SharePoint site turned into an ugly episode of trying to resolve a nasty security issue.
 
Basically, what happened was that I installed a web part that I got from Nick Swan's blog. You can view the article at Registration WebPart for Forms Authentication SharePoint 2007 sites, and see that the code and text are fairly old. However, I decided to try it anyway, and everything seemed fine until I tried to view the page with the web part and got a 403 error instead.
 
Unable to remove the web part, I used the "?contents=1" trick to view the web part maintenance page and disable the offending part. Thank god that trick still works in MOSS 2007 or I'd be hosed. The immediate problem went away, but then when I tried to add a new blog post about the url hack, I got the 403 again when trying to add a post.
 
Not sure what was causing the issue, I started to panic. Had I removed the NT AUTHORITY\local service account from the Users and Groups? Indeed, I had, and my permissions for other FBA based accounts were kind of a mess too. But, when I tried to put them back, "BAM!", 403 again. Basically, any page that required making a change or addition to a list of any kind would fail with 403.
 
At this point I should say that I have been using FBA on this site for a while without issue. Of course, why would I be trying to use the aforementioned web part otherwise? I decided to try to implement dual authentication on the site (see Configuring Multiple Authentication Providers for SharePoint 2007), which I did not know would help - but suspected it intuitively.
 
So I followed the steps in that article, more or less in reverse because I has already implemented FBA and was now trying to create a secondary site with Windows Authentication instead. That went well, and I was able to use the site to re-add the users I'd removed and all the pages that were getting 403 in FBA worked fine under Windows Authentication. Go figure!
 
I struggled for a while and tried many things to no avail. I couldn't find anything useful in the SharePoint diagnostic logs. Adding various accounts to the Site Collection Administrators or the Web Application Policy did not seem to help either.
 
Eventually came across this RSS feed, see also this link. These are talking about Security Update for ASP.net 2.0 (KB928365) being the cause of a very similar intermittent problem. Well, lacking anything else to try, I happily uninstalled and rebooted.
 
Finally, in a fit of scientific ignorance, I decided to remove the original web part from the GAC just to be sure. Of course testing everything after the reboot it worked like a charm. But, what caused the issue, the web part or the security update? Now, I have to go back and test it to find out!
 
Stay tuned.
 
Update: Well, I got the Registration Web Part installed and working, so at least in the absence of the security patch it can't be blamed for today's issue. When I get home, I will have to reapply the security pack and see if the issue magically reappears. Who knows?! 
 
Update II: Ahh, there's nothing quite as refreshing as SharePoint and a nice cold beer! Let's reinstall this security hotfix and see if we can replicate our issue from earlier today, shall we?
 
WTF? Well, I reinstalled the security patch, but everything still works ok. The articles and forums seem to indicate the problem is linked to the web application pool recycling, so I guess we'll try that next.
 
Update III: Well, that about clinches it. Recycling the application pool caused the error to come back, just like I thought it might. I'm not quite sure if maybe I forgot to do an iisreset and just delayed the inevitable that way, or if it was actually waiting for the recycle to blow up. Either way, doing iisreset after the error, and even a reboot, did not resolve the issue. I get the 403 on the page with the registration web part as well as many of the built in add or update pages for SharePoint. It seems pretty clear that there is some kind of compatibility issue. I'm going to do a search and see if I can find anything about it. If so, I'll post it here.
 
Consolidated Update Rollup IV: Looking into this a little deeper, it seems the problem may be due to installing the .net security update without installing updates for WSS 3.0 that are in sync with the changes. Specifically, I am looking into KB932091 (March), KB936056 (August), and the BIG one early September KB941422. Of these Office Update only recommended the second one. The patch for September seems to be a rollup of many other patches from before, but I'm trying the August patch first just to see if it resolved the issue from the .NET patch released in July.
 
Late Night Update V: (I was way too tired, so I revised this to make more sense once I woke up.)
 
Several hours (and several beers) later, I am finally done. It turned out that only the third update for WSS 3.0 listed above actually fixed the 403 problem. However, it required a WSS database schema update, and bombed on half the upgrade tasks on the Products & Services Configuration Wizard.
 
This left my schemas out of sync with my version of WSS. And... and this is important - THERE IS NO ABILITY TO REMOVE THE 9-5-2007 WSS UPDATE. So, I ran "stsadm -o upgrade -inplace" to retry. The first thing I noticed was that I was running the wrong stsadm version, so I updated my PATH variable to point to the v12 folder, then ran again and looked at the Upgrade.log file to see if I could find the issue.
 
It turned out that my farm/application pool account was not authenticating properly. The logs indicated that the format for the account was a munged version of DOMAIN and UPN username formats, like "DOMAIN\username@domain.com" - wtf?! It should be one or the other but not both. (I dimly remember encountering this issue when I upgraded from SPS2003, but I don't rememeber what I did to get past it at the time; I should've taken notes.) Also, using the -farmuser parameter did not seem to have any effect on which account was being used.
 
Left with few options, I decided to do a full takedown of SPPS and WSS 2.0, since they were no longer being used and were causing me grief. The uninstall for SPPS 2003 took *forever* then locked up. I had to kill the process, but it seems to have removed anything important.
 
I also created a completely new application pool account, and a new one for the search crawler too. At this point everything seemed to be working properly again, so I went ahead and performed updates for Office 2003.
 
So what's the takeaway here? For starters, don't rely on automatic updates or just install everything Windows Update recommends without digging a little deeper first to see if there are dependencies for other products that WU doesn't help you upgrade. My server of course was hopelessly behind the times and needs to be brought up to speed, but I think that I'll save Win 2003 SP2 and IE7 for another day.
 
Until the next major issue, IT'S TIME TO GET A BEER AND WATCH TV! Yay!
 
More Info: I found some other people having similar problems. I'll save this section for a list of links to their blogs, etc.
Published: Sep-13-07 | 0  Comment | 0  Link to this post

Sep13

A Little Bit About Alara's Current Book Project

It may not have a cool code name, like Cloverfield, but it's pretty awesome anyhow!
 
Some folks may already know that my wife, Alara Rogers, is a well known fan-fiction writer, or that she has a couple minor sci-fi publications and has always aspired to make writing a full time occupation. What you may not know is that she recently made a decision to go on a fanfic hiatus (more or less) to devote herself full time to a new book.
 
This book concept is very important and exciting to me. Partly, this is because I have not seen her so enthusiastic and excited about something like this in many years. Also, this story concept has it's origins in a five hour long conversation Alara and I had on a Thanksgiving trip to see her parents in New York.
 
I think it's an amazing and very entertaining story, and I don't want to miss the chance to be the very first person to hype it up. I think it will amuse nearly everyone, and will probably not fail to offend somebody as well.
 
So, without further hesistation, here is a little about what she is writing. Keep in mind that I know how this book ends already, so I will be trying VERY hard not to provide any spoilers.
 
The main character of this novel, John, is a member of a species of an omnipotent and omniscient alien race called the Aleph. (Don't worry, this is something that I know she is not keeping secret even on page 1.) His working name was originally John the Mongoose, but he has finally settled into the canon name John Deere (as he might say "like the tractor, not the animal"), which he has taken in a manner not too different from - though less silly than - that of Ford Prefect.
 
Anyone who follows Alara's writing will understand that the seeds of this idea were first sewn with her interest in the character Q from Star Trek: TNG. There's a lot that Alara wanted to do to explore the internal mechanations of the Q continuum, but it's not really possible to do this anymore largely because the writers of the later series ended up taking things in a different direction. Also, I think she just likes to write people who are arrogant and snarky.
 
If one were prone to gross oversimplification, one might say that John is a little bit of Q and a little bit of Harry Dresden. I also personally believe that John is also a touch of John Crichton, as he can be a bit like a fish out of water at times.
 
John begins his story "slumming it" on Earth. He spends a lot of time hanging with his rock star friend who happens to play a lot of X-Box. (Or, was it his X-Box playing friend who happens to be a rock star? I forget, anyway...) How they meet is an interesting story but I won't spoil that.
 
John's purpose on Earth is simple - revenge, redemption, or one of those other R words. Once upon a time, John was involved in some important business back home that went horribly wrong. A powerful and politically connected member of his own people threw him a lead weight instead of a life preserver, and they have been "best friends forever" ever since. *sarcasm*
 
Actually, he's seeking information that could reaally get the guy in hot water - even bring him down for good. It's a plus that this information might help explain the circumstances that ruined John's own career and help return him to a position of some dignity. Revenge can be sweet, but it's sweetest of all when it's also a public service.
 
Needless to say, what he's after has been carefully hidden, and it won't be easy to get it without his omniscient opponent finding out about - and putting a stop to - his plans. John is unable to use many of his abilities most of the time for fear that they will attract undue attention. For John, this is a sneaking mission. Like Solid Snake, if he gets caught, well then he'll probably get shot - a lot.
 
But he's not entirely without resources. In addition to his rocker/gamer buddy he has another friend who is living on Earth that also happens to be an Aleph, but suffers from a disability that makes him unable to use their higher powers. Also, John has a decent paying job as an investigative reporter, which makes good cover when you need to travel all over creation - or at least our little corner of it anyway. As such, he works with a photographer, who follows along on his misadventures so he'll have somebody to talk to.
 
Without going into too much detail, I can say that this story takes John and his camera guy across the far corners of our modern world. John also travels to other points in human history and distant places in time and space. A lot of energy is going into the details about how a society of god-like aliens can actually function, or dysfunction.
 
So, what do you get for the guy who has everything? The Truth. In the mean time, the rest of you will just have to hope that I can coax a couple of snippits out of her. I know a lot about this story that I'm not telling, and believe me when I say I think this is one of the freshest story concepts I've heard of in the science fiction genre in a long, long time.
Published: Sep-13-07 | 0  Comment | 0  Link to this post

Sep11

SharePoint: So Easy, an 11 Year Old Can Do It!

I recently found myself on the bench. The bench is not usually where I like to be, because unless I keep busy, the day just drags on and on. Our company usually likes it if we use bench time for training, and many of us have been taking and passing MS certification exams lately. So, it seems like a good time to re-certify my MCSD (it's been a while) and take some TS exams for SharePoint and other stuff that I already know how to do but just haven't had the time to make it official.
 
Only one problem... I hate to study alone. Double that if I have to study the trivial details of something I already pretty well know how to use - at least for the most part.
 
Enter Eric, my oldest son. He's 11, and he's not very well known for his ability to pay attention for long periods of time. (No idea where he gets that from, seriously.) The way I figure it, if I can teach Eric SharePoint inside and out, then I've done something much harder than simply passing a Microsoft standardized test. And, as a plus, I will have proven that SharePoint is the great tool that I believe it is.
 
So, over the next 10 weeks or so, I will endevour to teach Eric the virtues and caveats of SharePoint - its use, its configuration and maintenance, and even how to develop code for it. And for your sadistic amusement, you can watch the saga unfold on our team blog, the SharePoint Apprentice Zoo.
 
We'll be watching enough webcasts to make our eyeballs bleed. We'll be working on labs too. I think it is important to point out that Eric has never even written any code outside of Phrogram and doesn't have any MS development stuff installed on his PC. This is going to be a hoot.
 
When we're done, Eric will take the Microsoft TS exams for SharePoint (and hopefully pass them). As a plus, I'll be able to farm off the maintenance on this server to someone else, and I'll gain a partner in crime. Come see if we succeed!
 
Oh, and I'll take a bunch of MS tests myself too. ;-)
 
 
Published: Sep-11-07 | 0  Comment | 0  Link to this post

`