Tuesday, August 30, 2005

Questions from the August 2005 SIG Meeting

Listed below are the answers to some of the questions posed at the August SIG meeting about SharePoint 2003.

Q: For a web part that displays Outlook contacts in a SharePoint site, will it require Exchange?
A: If you use "My Inbox" and tweak it a bit to point to any mail folder in your Exchange mailbox. (e.g. https://exchange.mycompany.com/exchange/1602/contacts/) In this case,
it does require Exchange. On the other hand, there are special list types called Contacts Lists built-in to SharePoint. These are not integrated directly with Outlook. The data sits in the SharePoint SQL database. However, there is an option to "Link to Outlook". This gives you a link to the SharePoint Contacts list from your Outlook client. You can also import contacts from Outlook into the SharePoint contact list. In both cases, Exchange is probably not required, but this has not been tested.

Q: How do you deploy an application from QA to production?
A: First, build a CAB file to contain assemblies(.DLL), content files(.XML, .DWP), etc. Second, use STSADM.EXE in WSS to backup an existing site, if needed. For more information on STSADM.EXE see http://support.microsoft.com/?kbid=889236. Third, unzip the CAB file to install all the required files on the SharePoint server.

Q: Are there any issues with installing VS.Net Team systems and SharePoint 2003 on the same machine?
A: As of now, VS.Net Team Systems is available only in a beta version, and anytime a beta version is installed, issues maybe encountered such as ...
VS.Net 2005 Team System requires SharePoint, and the installation notes that come with it explain how to do this. If you’re doing a clean install you will need to install SharePoint with the MSDE database, because SharePoint doesn’t work with SQL 2005 yet. The SQL 2005 DB and MSDE can coexist, because MSDE is installed to a different instance.
If you’re going to install VS.Net 2005 on an existing system with SharePoint, you need to make sure the SQL 2005 install doesn’t update the existing SQL 2000 environment.

Thanks to Nate B. and other members of the Berbee team for helping answer some of these questions.

Friday, August 26, 2005

Visual Studio .Net has detected that the specified web server is not running asp.net version 1.1, You will be unable to run ASP.Net Web Applications

Problem: If you start Visual Studio .Net 2003 and get the following error:

"Visual Studio .Net has detected that the specified web server is not running asp.net version 1.1, You will be unable to run ASP.Net Web Applications or services"

There are several ways to go about fixing this error.

From "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322", run "aspnet_regiis.exe -r". The following messages will appear

Start replacing ASP.NET DLL in all Scriptmaps with current version (1.1.4322.0).
Finished replacing ASP.NET DLL in all Scriptmaps with current version (1.1.4322.0).

When execution has completed, you can start VS.Net and load a web application without any problems.

Wednesday, August 24, 2005

Passing variables to a web page in .Net

To pass a variable from one web page to another page, use Response.Redirect() method(Response.Redirect("newpage.aspx?variablex=newvalue")) to pass a variable to a newpage.aspx.

In the receiving page (newpage.aspx), use the Request.QueryString() function to extract the variable desired (Dim strPassed As String = Request.QueryString("variablex")). When executed, the value of strPassed will be "newvalue".

Tuesday, August 23, 2005

Authenticating web app users against Active Directory

I found a great article (http://support.microsoft.com/kb/326340) on microsoft.com that provides click-by-click instructions on how to authenticate users logging into a web application against Active Directory.

The article is complete and easy to understand, but misses to mention 2 crucial points. Within Login.aspx, you need to specify "Imports MyApp.FormsAuth". This will import the FormsAuthAD Namespace, otherwise declaring a variable of type "LDAPAuthentication" will result in a compile time error.

Also, if you cut & paste the code, be sure that any references to "FormsAuthAD" are changed to the name of your project. This will ensure you import the correct class from the correct assembly. Aside from these points, the article is nicely written and easy to understand.

Monday, August 22, 2005

Storing a time zone value in SQL Server's datetime field

Q: Is there a way to store the time zone value in a datetime field in SQL Server? I receive the value of ‘12/1/2005 12:31:23 -5:00’ and when I try to store it in SQL it fails. Do I need to format the date/time differently, or I am forced to create a separate time zone field?

A: SQL Server does not support storing a timezone in a datetime field. However, to overcome that issue, you can convert all date/time values to the UTC timezone so you have a standard timezone to work with. When displaying the data to the user, you would then convert the time to the client’s timezone.

In regards to storing the value ‘12/1/2005 12:31:23 -5:00’ into SQL Server, try using the format '2005-08-09 00:00:00.000'.


LibCheck.exe is a free utility from Microsoft that allows you to compare two versions of an assembly, and determine the differences. The tool reports the differences as a combination of 'removed' and 'added' APIs. This can be useful in resolving versioning issues and determining which libraries are needed for a particular application.

For more information or to download LibCheck, go to http://www.microsoft.com/downloads/details.aspx?familyid=4B5B7F29-1939-4E5B-A780-70E887964165&displaylang=en

Friday, August 19, 2005

Building a Smarter Home with .Net

I came across an interesting article on MSDN (http://msdn.microsoft.com/coding4fun/diy/usingx10/default.aspx) that turns an ordinary home into a smart home. Using an X10 device, one can turn on/off lights and devices remotely. In addition the X10 device can be interfaced with a PC and controlled using PERL script or .Net code. This also means you can control devices in your home through a VPN connection or a simple email. The MSDN article also contains a 15 mintue how-to video that shows the X10 in action.

To take it a step further and interface with .Net code, Tony Northrup wrote "Home Hacking Projects for Geeks" (http://www.homehacking.com). This book discusses coding .Net projects for home control. Links to sample chapters are available on the left margin of the page.

Wednesday, August 17, 2005

30 New SharePoint Applications

Microsoft has recently published 30 new SharePoint applications, available for download. This is a testament to how versatile SharePoint is and how well it applies to every business. All applications and templates are available for download at http://www.microsoft.com/technet/prodtechnol/sppt/wssapps/default.mspx.

This month's SIG meeting will be discussing SharePoint 2003 and it's many uses. The meeting is scheduled for Tuesday, August 23, 2005, 6:30 PM - 8:30 PM. It will be held at Cuyahoga Community College (Corporate College Campus - 25425 Center Ridge Road, Westlake, OH 44145) room 211.

Thursday, August 11, 2005

Make your web site talk !

I came across the SitePal web site and thought it was very cool. Once you subscribe to the service, you can choose an animated character that would read your web site or portions of it to your users. This helps to hold the attention of users so you eventually get more increased traffic to your site.

The speech is very fluid and character movement is very realistic. Absolutely no programming knowledge is required to use SitePal. However, SitePal does interface with various programming languages for those who are technically inclined.

For more information, check out http://www.sitepal.com

Wednesday, August 10, 2005

What is Linked Server?

Linked Server is a feature in SQL Server that allows access to other databases, similar to accessing a SQL Server DB. As the name suggests it "links" to other servers, either other SQL Servers or other DBs on non-windows Servers (i.e. Oracle, DB2, etc.).

The easiest way to create a Linked Server is through Enterprise Manager.
  1. In the left pane, expand the objects down to the desired server, where the Linked Server will be created.
  2. Expand Databases of the desired server and click on the "Security" Folder
  3. Right Click on "Linked Servers" and select "New Linked Server". Specify all the parameters for the server to be linked to.
After a Linked Server has been created, it should be accessed using a four-part name syntax (see http://clevelanddotnet.blogspot.com/2005/07/what-is-four-part-name-in-sql-server.html for more information.)

Monday, August 08, 2005

What is DPM?

DMP (Data Protection Manager) is a new Microsoft product to aid with data backup and restore operations. The latest beta version for the 2006 version was recently released to the public. To read more about DPM and download the beta, go to http://www.microsoft.com/windowsserversystem/dpm/default.mspx.

Tuesday, August 02, 2005

Intel’s Early Access Program (EAP)

Intel’s Early Access Program (EAP) was designed to support independent software vendors (ISV’s). If you are not an ISV, the Intel Software Developer Network http://www.intel.com/cd/ids/developer/asmo-na/eng/index.htm will be a good resource for you.

Listed below are the benefits of EAP.

The Early Access Program www.intel.com/ids is Intel Developer Service's comprehensive web-based resource, helping developer’s take advantage of the processing power available from cutting-edge Intel processors. Some of the highlights include the use of a next generation development system, software optimization tools, training courses, technical support, business development, marketing and promotional activities. Please look over the website as it goes into greater detail about the opportunities, as well as the advantages of being in the program.

Costs associated with the Early Access Program: There is an annual membership fee of $500.00.

ISV’s can register for EAP by following these steps below:

These agreements require a Director or higher signature

Go to www.intel.com/ids/EAP.

Click on the Blue “Enroll Now” on the Right hand side of the screen. In the Members Options Box

You will be directed to the Intel Login page. Click on the blue “click here to register.”

Put your information in the appropriate fields (the password is case sensitive and requires at least one number and special character...Example: * / + etc.)

Fill in all the fields marked with a blue asterisk.

To gain access to the program, the contact person must have a job title of Director or higher. Examples of job titles are VP, President, CEO, CTO, CIO, etc. Due to sensitive information that will be traded, this requirement protects your company and Intel. Once your company is a member of the Early Access Program, a different contact person within your company can work with the Intel account manager.

When all three pages are completed, click on “Finished”.

Check the boxes of all the programs you are interested in participating and click "Continue".

This page will ask if you already have a CNDA and IPLA agreement with Intel. Please click “NO” for both, since these online agreements are newer and updated. It will ask you “How do you expect to perform your optimization/porting” put Unsure at this Point. Then click "Continue".

This next page gives you two options: Choose “Option 1 - Online click through” or “Option 2 - Download, Print, and Mail” by checking the box next to the desired option. Click the “Continue” button after choosing one of the options. Option 1 is preferred and will expedite your membership process. This is where the VP (or higher) title is required.

If you choose the click through membership agreements, you must check the “I accept” box located directly below the text.

After completing all membership agreement pages, you will find yourself on a “Membership Agreements” page thanking you and a bunch of other great stuff. At the bottom of this page you will have three options to choose from and a continue button. Choose the “Go to My Early Access Program Home Page” and click “Continue”. At this point it will give you the option to download the agreements that you just signed.

You have now completed the Registration process! Please email me so that I may inform our Administrator that your application has been submitted.

Please contact me with any questions/comments/concerns. I look forward to hearing from you.

Kindest regards,

Jared Gibbons
Intel Corporation

Monday, August 01, 2005

Can SharePoint be used to authenticate users for a web app?

Q: I’m developing a web application for a client. I wanted to ask if it’s possible to integrate with SharePoint to authenticate users through the SharePoint site and then link to the web app with those credentials?

A: Yes, it's definitely possible. Usually SharePoint is setup with Integrated authentication in IIS. If your web app uses the same login/password to access the app, then these credentials can be "passed through" to the app from SharePoint. Just setup your app virtual directory to have integrated security.

Also, here are some things to consider:
1. Do you want the "application" to run within a SharePoint page? Maybe consider writing a .NET web part then.

2. Do you want the "application to run within the context of SharePoint (access to the SharePoint object model)? Then you have to put the app in a specific vdir location (_layouts folder) in order for it to work with SharePoint. This is documented in the SharePoint SDK.

3. Is the app running on the same server as SharePoint? If so, then you either need to exclude the virtual directory for the app from the managed paths or create a new web site and put it there.

Thanks to Nate B. for his help with this issue.