July 2006 - Posts
In today's screencast I want to show you another, in the line of, what I call "hidden" features of Community Server. Namely the import function in a photo gallery. IMO it's not located in a place where you might expect it to be. You will find it under the 'Advanced Photo Settings' in the control panel of a gallery. I believe it should go under Common Tasks and/or Manage Content. It would be more logical, and easier to find.

Although the screencast is recorded with CS 2.1 Beta 1, this function was also in CS 2.0 (at the same location). I believe this is a feature that comes all the way from the preceding nGallery application, it was present there as well in very similar appearence.
So what can you do with it? Well, you can upload a batch of photos (for example via FTP) to your web, into the folder created for the gallery you want to import pictures to. Then, as you can see in the screenshot above, you can import them either to the root of the gallery, or to a sub gallery. This is of course much faster than uploading the pictures one by one if you have a lot of pictures to upload at once.
The import job is a so called CSJob in CS. It is within the same thread as most other jobs by default, and it's interval is by default set to 15 minutes. So have patience if your photos doesn't show up at once after you've pressed import. The interval can be changed, but be aware of the side effects on other jobs and your site's performance if you do that.
OK, enough talk, let's roll up, roll up for the Magical Mystery Tour, step right this way!

Watch the screencast (Flash, opens in a new window)
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
Yes, you can do that! Provided that you only want to change the color schema and one or 2 pictures referenced in the CSS files. I did a few skins last week, one of them cause I wanted it for a site of mine, the others just because I could, and wanted to test out if it really was as easy as I thought it could be. So having said that, you might realize that the first skin I did did not take 5 minutes to complete, it took a lot longer. But when all things were in place and I understood how to do it, it was a piece of cake. So here I thought I tell you how I did it, so you also could create your own skin in no time.
One of the things I had to do, which took some time, was to figure out which colors that was used in the original CS skin. If you count all colors that are made with the help of color codes (and not pictures) there are actually just 8 colors. Or maybe I should say 7 colors. Two of the colors are almost identical to the eye, but have have a slightly different color code, which is probably a mistake.
The original color codes are:

As you can see color 2 and 8 are almost identical.
So what I thought was, if I want to do a new skin, all I have to do is create a new row in the table above, and choose similar colors in for example blue. I did the table above in Microsoft Expression Web Designer (HTML Editor) so that I easily could get the color codes as well from the HTML code. But use any HTML editor should work.
So let's add a row to the table above, with a different color scheme:

Now when I have my new color codes, all I have to do is a search replace on the CSS files. I could open them one by one in Notepad and search replace 8 strings one by one. And that's what I did the first time. But then I realized there's Visual Studio 2005 with search/replace in files. So I opened that feature, pointed it to the /Themes/default/style folder, and went through the 8 colors to replace them. You might want to do this on a copy of the default skin.
That's all! Skin number 2 that I did, couldn't have taken more than 5 minutes to do. Oh, that's right. In one of the skin I did a new GIF for the menu bar,and edited the CommonTabBar class in Common.css to point to that GIF instead. The picture was a screenshot from Outlooks toolbar (made it 32 in height and 1 in width).
Here's a pic of the result:

You can see 2 more examples of skins over at CSMVPs.com in the photo gallery. I love the pink theme!! ;-)
I'll list the original color codes here as well in case you want to copy them:
#BBDE79,#D2E6BD, #99AA99, #698D73, #EFF7E0, #91723F, #667766, #e2eecd
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
I am planning to move from weblogs.asp.net to my own domain - joeriksson.com - on the first of august. Not because I am in any way dissatisfied with having been here at weblogs.asp.net. It has been a really good home. But it's more because I want to be able to use more features and add-ons that currently is provided here, and I cannot configure the installation here myself. :-)
So the new home will be hosted by ASPnix, where Rick Reszler has been so kind and made a home for all CSMVPs (I believe most of them already lives there).
One of the new features that will be added to the blog with that move is a media library (where you will easily browse through all the screencasts I have produced, and will produce). I will also use Ken's Lighbox implementation for viewing pictures. We will see what more it can bring.
For those of you that are reading this through your RSS reader or similar, I will try to redirect the RSS link (with the External Feed URL feature of CS 2.1), so hopefully you won't have to do anything. But in time it could be good if you switched to the new RSS link. This blog will still be here for a while, but the last post will just be a reference to the new blog at joeriksson.com.
Unfortuneatly, I probably won't be able to bring all comments with me to the new blog, but most of the posts are already moved with CS 2.1's blog mirroring feature.
So until August first, I'll go on posting here as usual.
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
Did you ever wonder what the statistics of views for your blog posts really mean?

Well, I did, and I posted a question about it in the forums of CS.org. After a while, I got a good explanation from Kevin Harder (Community Server Team Member). He explained it liked this:
"Generally speaking, "Views" is the number of times somone viewed a post on the web via a browser, and "AggViews" is the number of times someone viewed the post via the RSS and Atom feeds.
More specifically, the web view count is only updated in the EntryView control. This is displayed when you are viewing a single post. If you are viewing a list of posts, such as on the blog home page, the view counts of the posts are not updated.
The AggViews works by embedding an "AggBug" invisible image into each post in the RSS/Atom feeds. When someone views the posts in a feed reader that allows images, the image pionts back to a handler on your CS site that updates the AggView count for that post."
Adding to that, if you look at the number of views for each post, you can see that it is a link. The link leads you to a page which shows referrals to that particluar post. That page also provides you with a drop down box so you can look at referrals to other posts you have made.
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
Friday and screencast time again! This time on a feature some have talked about before. Dave Burke has some excellent tips for using them here , Adonis Bitar talks about how he uses them . I am talking about Text Parts, or as they seems to be called now,
Read More...
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
I'd never have thought I'd write an article about skinning. I am not very good at CSS. But sometimes you learn when you have to, although what I'll talk about in this article is in no way anything complicated.
In Community Server you know you can change the skin of your blog to a skin that's installed at the CS site where the blog is. But sometimes you might want to change how that skin looks, even if most of it looks really good. If you're at for example weblogs.asp.net or some other CS hosted blog site, you can't do that since you don't have access to the files of the skin. But CS has a workaround for that called CSS Overrides. With that function, as you can hear from the name, you can override what's in the original stylesheet for the skin you are using. So of course, you need some way to figure out what the name of the CSS classes are that you want to modify. But mostly, the skins are available to download for free in some way.
In my case I wanted to chage the header picture for the Paperclip theme. I looked in the CSS file for it and found the class was named 'masthead' with that information I could change the header picture by overriding the masthead class's background-image as shown in the picture below.

Now it's good if your new image has about the same dimensions as the original one, at least in width.
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
How do you move your blog to Community Server 2.1? Well, of course it depends on what blog you're on today. When I started thinking about this I stumbeled on a BlogML project of Keyvan which he mentiones in this post . His own words about the tool
Read More...
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
In June I talked about having a videogallery in Community Server. I referenced an article by José Lema where he talks about the videos.aspx and how to modify that file to get a more Google-like videgallery.
Today I implemented a videolibrary on my Community Server Sweden site. But since the videos/screencasts I do is 800 x 600 they don't fit in the new CS 2.1 skin within a forums post (José's modification links to the respective forums post for each video). The video gets truncated. So what I wanted to do, was to instead link directly to the video/screencast file itself, and also to open the video in a new window. Also I wanted to create a new menu button for my video gallery, that also became the selected button when I went to that page.
So what I did, was to first get the videos.aspx the way I wanted. To do that I modified José's modification in the following ways. (Red text shows the parts I changed)
First, change the row:
<a href="<%# Globals.GetSiteUrls().Post((int)DataBinder.Eval(Container.DataItem, "PostID")) %> "><img src="<%# DataBinder.Eval(Container.DataItem, "VideoImageUrl") %>" width="200" height="150" border="0" /></a>
to
<a href="<%# DataBinder.Eval(Container.DataItem, "VideoUrl") %>" target="_new"><img src="<%# DataBinder.Eval(Container.DataItem, "VideoImageUrl") %>" width="200" height="150" border="0" /></a>
Then change:
<a href="<%# Globals.GetSiteUrls().Post((int)DataBinder.Eval(Container.DataItem, "PostID")) %> "><%# Formatter.CheckStringLength(DataBinder.Eval(Container.DataItem, "Subject").ToString(), 35) %></a>
to
<a href="<%# DataBinder.Eval(Container.DataItem, "VideoUrl") %>" target="_new"><%# Formatter.CheckStringLength(DataBinder.Eval(Container.DataItem, "Subject").ToString(), 35) %></a>
That's it! Now a click on the video thumbnail or the video title in the video galleri will open the video in a new window.
As for the menu button, that was really easy. Just followed the instructions from Dave Burke's excellent article in the subject. The results can be seen in the picture below. Yes the site shows in a strange language......it's swedish.

Click the picture to view it in larger scale.
View the video gallery live!
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
I guess most of you already know, but I thought it was worth mentioning again. After a long wait, like children at christmas waiting for their christmas gifts, Community Server 2.1 Beta 1 is available for download. Check Rob's announcement! Some of
Read More...
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
In todays screencast I show you how to enable Thread Status Tracking in Community Server, and also enable it for a particular forum. Thread Status Tracking (TST) could be useful for i.e. a support forum where you want to be able to rapidly see which questions/issues are not yet solved and take action on those. Click on the picture below, or the link beneath it to watch the screencast.

Watch the screencast (Flash, opens in a new window)
Also, I promised in my monday post to talk about a solution that you could make with this function together with the features that the Email Gateway (EG) brings to Community Server Forums.
A simple support system on CS with Email enabled forums and Thread Status Tracking
Let's say you want to setup a customer support service for your customer. In some scenarios there could be reasons where you don't want the customers to see each others posts. They might be giving you some info about their environment under some NDA agreement etc. You could probably do some code to make users only see their own posts in the forum, but with the solution I am talking about you don't have to write a single line of code.
In the scenario I am describing, you might decide to enable on one hand an open support forum for everyone, and an e-mail support service for paying customers. So you set up an internal CS on your intranet, install EG, and configure a forum to recieve e-mails sent to support AT mydomainname.com. Since the paying customers are registered in someway, you have created and configured accounts (enabled notifications etc) for them in the support system.
The customers sends their support requests by e-mail, which ends up in the internal support forum as a post with a Thread Status 'Unresloved'. A technician replies in the forum to the post, which then gets sent to the customer by e-mail. The customer and support tech, continues their conversation in this way until the issue is solved.
After using this system for a while it becomes a knowledge base which the technicans can search for earlier answers to questions. If tagging is used they could also find similar issues easily by navigating by tags.
If I understand the Passive Mode of the forum mailing list, you have to enable that for the above to work, since you don't want to have all replies sent to everybody, just to the one that started the thread.
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
The CSModule I talked about yesterday is available for download from Ken's blog!
I am downloading and installing as I write. 
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
A CSModule that I've used myself on a couple of sites, but haven't seen much written about is Ken Robertson's CSModule implementation of the Lightbox JS image overlay scripts.
This module enables you to insert thumbnails of your pictures in for example your blog posts by a specific text part. When viewing this thumbnail in a blog or a forum, and you click on it, it shows a larger image in the middle of the browser window, and the rest of the web page gets darker. I don't know if that's a good explanation for it, but let me instead show it with a screenshot:

You can also try it and se for yourself what it looks like here. When you've installed the CSModule, you just use the text part and give it the ID of a picture in your CS Photo gallery.

It would be cool to have a CSModule like this, that could show pictures from i.e. your Flickr account, and also to be able to determine what size it shows the expanded picture as.
Read more at Ken's blog
[UPDATE]
Hmm...after writing this post, I took a closer look at Ken's blog and it seems he implemented the Flickr thing a couple of days ago. :-) Really interesting! Need to try that when/if he releases it.
[/UPDATE]
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
Today on a topic that I haven't seen that much written on. There was a new whitepaper the other day on this topic, and there's been some posts about the E-mail Gateway (EG). But from what I have seen, mostly together with the blog by e-mail feature.
What I wanted to talk about in this post is what the EG brings to the Forums of Community Server.
First just a brief mention on how to e-mail enable a forum. After you correctly have installed the EG and installed the license for it, there is a new TAB in the forums settings called 'Mailing List'. In CS 2.0 you get there by Control Panel -> Administration -> Forums -> Forums -> Click on the forum name -> Choose the 'Mailing List' TAB.
On that TAB you should see this:

To enable e-mail for the forum click in 'Yes', provide a name for the mailing list which will show up in mails sent from that forum, and also type in an e-mail address that you want the forum to have. You can also set a Footer that will be sent in each e-mail coming from that forum. I won't go into the passive mode in this post. If you want to know more about that let me know.
After these actions your forum is e-mail enabled, and when you now go into that forum you will se an 'Email Available' image in the lower right of the forum page.

When you click that image (not the one above in this post if you tried that) it will take you to the E-mail Subscriptions page for that forum.

If you check the checkbox on that page, and then click on save, you will get all new posts in that forum to the e-mail address that you registered at the forum with.
But that's far from all. You can now also e-mail your posts to that forum, as long as you send the e-mails from your registered e-mail address to the address you created on the 'Mailing List' TAB above. For example you can start a new thread by just sending an e-mail. Or you can reply to an e-mail notification you got from that forum, and it will show up as an answer in the respective thread.
IMO, this is a a great feature of CS 2.0, on which you also could easily build upon for different purposes. On friday I will try to give you an example of a solution that could be made on top of this feature together with another CS feature without writing any code.
See there, I made a cliff hanger! Now you just have to read my post on friday, and you won't be able to sleep for the whole week ;-)
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
On wednesday I talked about post attachements, and referred to a post by Keyvan Nayyeri on how to do attachements programatically. Today I thought I'd talk about attaching a video to your forum posts, which can be played right in the post itself. It's not really attaching a video to a post, it's more like embedding a player which plays a video located at a different location.
Community Server got this built-in and out of the box. It looks something like this:

Sorry for the typo in the picture and in the screencast. Discovered it when I had finished it all. :-)
Watch the screencast! (Flash, opens in a new window)
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
Some time ago I got a coffe mug as a present from a friend of mine. It's a black coffe mug which has the word 'Geek' written on it in white. Don't know why my friend thought it would fit me. :-)
I wonder, am I a geek if I sometimes get inspired by code? Probably, right? When I read a code article that's good, I get inspired and start thinking of what I could do with the info in the article. Some weeks ago I wrote that Keyvan Nayyeri's posts in his 'CS Dev Guide' series, got me inspired to start programming again, after having done almost nothing in that area for a couple of years.
Today I sat and read an article that Keyvan published on this friday about Post attachements. He shows us how the CommunityServer.Components.PostAttachment object can be used to add attachement to posts in blogs, forums, file gallery etc. He also answers to the question to why Community Server only supports one attachment per post.
Anyway, go there and read it if you're into developing, it's good reading.
With the article he has written about coding against blogs in CS, you have the tools to, for example, build a blog editor for CS that supports pictures (well currently at least one picture per post) without relying on a FTP server, Sharepoint site, Flickr account or similar. I haven't seen any blog editor that does that currently against CS.
Well, you might have to build a web service to support that blog editor, but after reading Keyvans articles about developing against the CS blog that shouldn't be a problem. Hmm, it's been a while since I did develop anything, but you can send files (bit stream) to a web service, can't you?
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
About a week ago, I initiated a new developing project together with some of the CS MVPs. What we want to do is a package of different CSModules to be used both as an example of programming CSModules, but also as a package of free Add-ons for Community Server.
So far we are (besides me) Keyvan Nayyeri, Gary McPherson and Jayson Knight. The project is hosted by CodePlex and is called CSModules Repository.
If you enjoyed this post Subscribe to my feed via RSS or e-mail!
Time flies by, it's sunday again after a hectic week with customer visits. Next week will be the same. But a pretty calm and nice weekend. There'll be no CS tip today unfortuneatly because I lost all my documents and files on friday. I had my notes on what I should write about there, and my memory is not what it used to be.
No it wasn't a HD crash. It was me upgrading from swedish vista beta 2 to english vista build 5456 and relying on the Windows Easy Transfer. You know the tool that are supposed to backup all you settings and files, so you can restore them on the new machine later on.
So I backed up my beta 2 installation, and started the installation of the new build, wiped the partition to get a clean install. After the installation was finished I tried to restore my files with Windows Easy Transfer. The first problem was that it said it couldn't transfer files between different language versions. Hmm, ok, I can respect that, even if I just wanted the files, I could do without the settings. So I set up a virtual machine with my swedish vista beta 2 to run the restore there. And after a couple of battles with WET it started to restore. But when finished it had just restored about 2 Gb of the 7 Gb WET file. Looking through the documents folder showed that everything wasn't restored.
I seldom give up right away, so I did a new restore. But the results where the same. Searched the newsgroups and reported bugs, but couldn't find any thing. There was a couple of problems reported with WET, but nothing exactly as my problem. So now I am sitting with the files within that WET file without being able to extract them. Grr!
If you enjoyed this post Subscribe to my feed via RSS or e-mail!