SharePoint

Last week Brendon Schwartz posted How to select Personal View or Shared View in SharePoint 2007, a tip for those of use who are participating in the beta. Brendon and fellow DevCow Dude Matt Ranlett, have done a bunch of good work promoting and teaching about SharePoint in the Atlanta area. Good job, guys.

I’ve been digging deeper into SharePoint lately myself, and have been planning a series of posts introducing Windows SharePoint Services and SharePoint Portal Server for those who may not be familiar with those products; I’m hoping to get time to get started on that in the next week or so.

Pasting into IE7 Window

I downloaded and installed Internet Explorer version 7 (IE7), beta 3 (replacing beta 2); the install appeared to go without hitch and most websites I visit are displaying correctly.IE7 dialog box asking 'Do you want to allow this webpage to access your clipboard?'

I just went to Google Maps though, and something odd’s happening there. I’d copied an address from another window, and every time I try to paste into Google Maps’ input field I get the dialog box shown here. I clicked “Allow access” but nothing was put into the input field. I tried to paste again, but I got the same dialog.

Other web pages let me paste into input fields just fine, so far this is the only place I’ve run into this message. Looking at the source for Google Maps javascript makes my eyes water, but the really interesting thing is in the dialog’s repetition. IE7 shouldn’t keep asking the same question over and over.

RSS Hacked?

John's RSS feed, full of adsJohn Porcaro’s weblog looks fine tonight, nothing odd. The state of his feed is a completely different matter though.

Behind his back, someone’s done a dasterdly deed – replacing John’s xml (normally provided in a proper fashion by the folks at FeedBurner) with their own. A file full of vile stuff – adverts for phenobarbital, vicoprofen, xanax and valium.

These are not the writings of an Xbox Marketing Rock Star, I assure you. Something untoward is afoot. There is a pestilence upon this land. Nothing is sacred.

Rogers Cadenhead once refered to the use of Feedburner as playing with fire, warning that trouble could come from letting someone else control your data. His concern was centered around Feedburner’s stability, “what position will FeedBurner users be left in if it goes offline, goes pay, or cancels the account,” he asked. I see this as a much more dangerous problem – what control have those users given up, how easily can their data be fixed in a case such as John’s?

[edit] Apparently there are two different feeds claiming to be John’s. The one I had in my reader – which as far as I know hasn’t changed – is full of drug ads. The “right” one is correct, containing all his recent posts. I don’t know where or how the change happened.

Apache Virtual Domains and PHP

Back in January I was asked to help build a new site/blog and was happy to do so (they insisted on the colors, don’t shoot me if you don’t like ’em). Frederick also is a video producer, with his vidcasts on the iTunes Music Store, and wanted an easy way to them on the weblog as well. I used a little PHP and some JavaScript to build a dynamic list in his sidebar (see “hollywood if you could”), all he has to do is put his new movie files into the right directory.

The next step, of course, was to replicate this to other servers for other projects of his, and that’s where we ran into a small snag. No matter what we did, the PHP code just didn’t want to run. MOD_PHP was installed, we had the same .htaccess defined, permissions were right – it just didn’t look like Apache server was sending our code to the PHP processor at all. Well, that turned out to be exactly the problem.

The new sites had been created as virtual domains and the web “control panel” that created the virtual domains had added a VirtualHost section to Apache’s httpd.conf file, with ServerName, ServerAlias and DocumentRoot entries, but to have that .htaccess file read and acted upon we also needed a section for our directory as well, with an AllowOverride entry.

<virtualhost>
  ServerName virtualdomain.domain.tld
  ServerAlias www.virtualdomain.domain.tld
  DocumentRoot /var/thevirtualdomain
</virtualhost>
<directory /var/thevirtualdomain>
  AllowOverride FileInfo
</directory>

Thanks to Lance B. for helping us find that.

Firefox Upgraded

Firefox, the excellent browser from the Mozilla project, has been upgraded to version 1.0.7. If you’re using IE or an IE-based browser, it’s long since time to have switched.

This release is billed as a security and stability release, that’s normally a good reason to upgrade your system if you’re already a Firefox user. Bueried in the release notes, though, is still this item:

Prior to installing Firefox 1.0.7, please ensure that the directory you’ve chosen to install into is clean and doesn’t contain any previous Firefox installations.

It’d be really good for software to be able to update itself without users having to jump through these hoops.

Setting Unix File Ownership from Perl

Here’s a little bit of Perl code from a module we use. These functions are used by our cron-driven Perl scripts to (re-)set file ownership after they’ve
finished working their magic. They’re probably nowhere near perfect
and I welcome any suggestions you may have to improve upon them.

Feel free to use this code in your own project but assume all
responsability for it if you do.

sub ChownNameGroup {
# given a username and group, change the ownership of files
# example usage:
#
#    ChownNameGroup ("fred", "app", "fredsfile.html")
#       or print STDERR "Warning - Unable to change owner for $filenamen";
#
my ($user, $group, @files) = @_;
return chown ((getpwnam($user))[2],(getgrnam($group))[2],@files) == @files;
}
sub ChownByName {
# given a username, look up the uid & default gid
# and change ownership of files
#
# example usage:
#
#    ChownByName("fred", glob("*.c"))  or die "$0: can't chown @files: $!";
#
#    ChownByName("root", $filename)
#       or print STDERR "Warning - Unable to change owner for $filenamen";
#
my ($user, @files) = @_;
return chown ((getpwnam($user))[2,3], @files) == @files;
}

enjoy.

On Online Forums

Josh L. at Microsoft has been doing some investigation into online forums – what makes them successful or not – and has collected the results so far into an excellent post entitled MVP Summit Views and Issues with Threaded Discussions. His findings include a couple of items, including one that I’d guess would surprise most.

  • Volume Kills Community

That’s right. When you’re first starting a new forum it may be difficult to believe, but there is such a thing as too much traffic. There are two things that cause new visitors to flee in terror. The first is if there are no messages at all, which is kindof obvious. “Nope, nothing to see here, back to Google.” The other is being overwhelmed with too many messages, thinking that they’ll never possibly find the right answer or that replies to their questions will be lost in the chatter.

  • Notification and Bookmarking is Needed
  • Working Offline Needs to be Enabled
  • NNTP Collaboration is Important

These go hand-in-hand, though at first it may not seem like they do. They’re all elements of user interface and offer users flexibility. They all spring from the fact that not everyone wants to visit your forum every day, or using the same methods you do. The third may be of interest to only a limited number of people, but for those who are comfortable with newsreaders it’s very important. Josh includes it in working offline, but let me highlight this:

  • Provide a feed of new items via RSS

Again, give people an option to have new items brought to their aggregator rather than having to come visit your site every day. RSS is becoming more widely used every day, get yourself ahead of the game rather than finding yourself answering your users with “not yet.”

I’m a content administrator for two non-work sites that both have forums and a project manager for my company’s support forums, and you can bet that I’m pointing the development teams/program managers for them to this list. Just change “Microsoft” to the name of your community and the same comments can apply.