Monday, October 12, 2009

WSS 3.0 & MOSS 2007 Licensing

The question of how much does WSS or MOSS cost to license is always being asked.  Getting the information is not always that easy either, so I will provide a quick summary and the appropriate links to follow to simplify this.  One thing to highlight is that the licensing and versions of the "MOSS Suite" changed as of April 1, 2009.  What that means is that Forms Server 2007 was discontinued as a standalone product, SharePoint Designer 2007 is free now and PerformancePoint Server 2007 is now included at no cost with MOSS 2007 Enterprise.

The licensing model for WSS 3.0 is different from MOSS 2007.

Windows SharePoint Services 3.0 Licensing

WSS 3.0 "conforms to the Windows Server 2003 licensing model".  What that means is that WSS 3.0 is part of Windows 2003 Server for free.  You have to license Windows 2003 Server properly to use WSS 3.0.  Will your WSS 3.0 site serve as an external facing site, internal for your employees or both?

Microsoft Office SharePoint Server 2007 Licensing
 
MOSS 2007 is licensed separately based on the following versions:


Office SharePoint Server 2007 for Internet Sites (no CALs required)
-This is you external facing site (anonymous)


Office SharePoint Server 2007 (CALs also required)
-This is you intranet site, you have to buy CAL's for each user.   To use MOSS 2007 Enterprise you have to buy both an standard CAL and an enterprise CAL for each user.

Client Access License
Office SharePoint Server 2007 Standard CAL
Office SharePoint Server 2007 Enterprise CAL

The MOSS 2007 search engine is basically Microsoft Search Server 2008 but it is integrated and not a standalone product.  Microsoft Search Server 2008 is available as a standalone product:

Microsoft Search Server 2008 Licensing


Microsoft Search Server 2008 (no CALs required)
Microsoft Search Server 2008 Express (no CALs required)     Free Download

Supplemental Licensing Information for Windows SharePoint Services
http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb684457.aspx

Windows Server 2003 R2 Client Access Licensing Overview
http://www.microsoft.com/windowsserver2003/howtobuy/licensing/caloverview.mspx

Microsoft Office SharePoint Server 2007 and Related Technologies pricing
http://office.microsoft.com/en-us/sharepointserver/FX102176831033.aspx?ofcresset=1
- Always go to the Microsoft site to verify the latest pricing and licensing.
Sunday, May 3, 2009

Display QueryString and Form its on Page

I know this probably is one of the most common posts out on the web (for .Net coders), but I can never seem to find it when I need it. So it is here for my reference.

When you are trying to debug an ASP.Net page and you need to see the form collection after a POST or the QueryString (for convenience) for a GET or POST, simply copy the method add it to a page and call it from one of the Page Lifecycle Event Handlers, such as OnInit, OnLoad, etc. I think it is poor practice to hide this output in the body of a page as a comment so I am not doing that (and strongly recommend that you don't do that either) ... simply remove the code or call (if you add it to a library as a static method). I have seen too many people leave the output as commented (html) code ... simply bad.

Nonetheless, here is the code snippet:


/// <summary>
/// Display the QueryString Collection and Form Collection information for a ASP.Net Page
/// </summary>
private void RenderRequestInfo() {

//Iterate the Request.QueryString collection
Page.Response.Write(string.Format("<b> Request.QueryString ({0})</b><br />", Page.Request.QueryString.Count.ToString()));
foreach (string queryItem in Page.Request.QueryString) {
Page.Response.Write(queryItem);
try {
Page.Response.Write("='" + HttpUtility.HtmlEncode(Page.Request.QueryString[queryItem]) + "'<br />");
} catch (Exception ex) {
Page.Response.Write(string.Format("=[Error during render.] {0}<br />", ex.Message));
}
}
Page.Response.Write("<br />");

//Iterate the Request.Form collection
Page.Response.Write(string.Format("<b> Request.Form ({0})</b><br />", Page.Request.Form.Count.ToString()));
foreach (string formItem in Page.Request.Form) {
Page.Response.Write(formItem);
try {
Page.Response.Write("='" + HttpUtility.HtmlEncode(Page.Request.Form[formItem]) + "'<br />");
} catch (Exception ex) {
Page.Response.Write(string.Format("=[Error during render.] {0}<br />", ex.Message));
}
}
Page.Response.Write("<br />");
}


Cheers!
Wednesday, January 7, 2009

Rename a WSS3/MOSS Server

I took this from Mirjams blog. I have verified that it works. I am adding it here so that I can find it when I need it, and as I mentioned, it works great.

Renaming a WSS3 or MOSS server requires very specific tasks in a specific order. If you don’t follow the following instructions precisely, the chances are that you may need to reconfigure your whole MOSS environment.

Here are the steps to take, and the order in which to take them if you want to rename a server that has WSS3 or MOSS already installed and configured on it:

*** NOTE: Use only letters, digits and minus for the machine name (so no underscores), max 15 characters.

  1. Change each alternate access mapping for your WSS3 or MOSS deployment in Central Administration:


    • Open Central Administration, "Operations" Tab, "Alternate access mappings" link

    • Modify each mapping item to reflect your newly chosen server name



  2. Use stsadm.exe to invoke the "renameserver" command option:


    • Open a command prompt window

    • cd "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN"

    • stsadm -o renameserver -newservername <newname> -oldservername <oldname>


  3. Rename your Server via Change Name Operation in Windows Server 2003:


    • Start Menu | Control Panel | System, "Computer Name" tab, "Change" button.

    • Input your new server name


  4. Reboot the server NOW.

  5. Update the MOSS farm creadentials


    • After reboot, open command prompt

    • cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN

    • stsadm -o updatefarmcredentials -userlogin <domainuser> -password <password>


  6. iisreset /noforce

  7. Check all application pool identities in IIS, update where the old machine name is still there.

  8. If you already have a search index drop this, and rebuild it

  9. Congratulations, your server is now renamed.