Saturday, July 26, 2008

How to automatically login corporate / internal users to Internet or Extranet website

I have often been faced with this challenge of automatically logging in internal organizational users to intranet accessed via a public URL. For example IE 6.0+ will be able to automatically login a user to the Intranet accesssed via the internal URL (like http://intranet) but the same internal corporate user will be prompted for a username/password when trying to access the same intranet site via the public facing external URL (like http://intranet.xyzinc.com). I solved this issues by merging the following registry entries at each of the user's computer and this can be automated by including the script below as part of the user's logon script to the domain (my example below assumes that your external public facing url is intranet.xyzinc.com for your internal corporate intranet hosted on a web server named MOSS01):

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains]@=""
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\xyzinc.com]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\xyzinc.com\intranet]"*"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\MOSS01]"*"=dword:00000001

Friday, July 18, 2008

Tips to solve the Error - "No authority could be contacted for authentication"

I have come across this error message "No authority could be contacted for authentication" a couple of times now. Here are the possible fixes i have used:
  1. Make sure that your MOSS server is part of the domain whose users you are trying to authenticate against your portal. If it is and you still get error then remove your MOSS server from your domain and delete the server name in the domain, then add the server into domain again
  2. Check the DNS configuration (Under TCP/IP settings) of your web server and see that it points to your AD DNS (probably your AD server) and not to the ISP DNS (Make sure you are aware of any Firewalls or Filters between your AD server and MOSS server)
  3. Also make sure that your certificate authority (CA) is also your domain controller, you're going to need to find out what IIS is giving out for a cert and then make sure there are no bad DNS entries in there for that.
  4. If above doesnt work, try IE Tools > Settings > User Authentication settings for the Local Intranet zone, check “Automatic logon only in the Intranet zone” is selected. If selected then try resetting to User Authentication to “Prompt for user name and password” and the issue might be resolved.

Saturday, June 28, 2008

Cool MOSS Add-ons & Tools on CodePlex

Some recent releases on CodePlex that i am using in my projects:

Tuesday, June 24, 2008

.NET Framework 3.5 SP1 introduces ADO .NET Entity Designer

ADO .NET Entity Designer -- a tool that permits direct mappings between a database schema and a conceptual schema. This tool permits designers to relate tables from a database schema to Entity Types that the ADO .NET Entity Designer can create and manipulate LINQ may be used to query Entities within the ADO.NET Entity Framework to create code that is easy to maintain, and that works with strongly typed data objects as well as with various types of business entities. For more information, visit the download page. If you have already installed any Visual Studio 2008 Hotfixes, be sure to run the Hotfix Cleanup Utility before installing this beta code.

Friday, April 25, 2008

Free Utility to Tune and Optimize the SharePoint ranking algorithm through a GUI!!

A Microsoft partner call BA-Insight has developed a free utility that gives the SharePoint administrator the ability to tune and optimize the SharePoint ranking algorithm through a graphic user interface. Download the free utility here.

Wednesday, March 26, 2008

Create Business Forms using Microsoft Word and Excel (alternative solution to Microsoft InfoPath)

Microsoft has released some really cool pre-formatted document libraries that can act as an alternative option to Microsoft InfoPath business ready forms. Each library is pre-configured to populate the body of document with library fields automatically. Check it out here and download today

Saturday, February 23, 2008

"Failure decompressing data from a cabinet file" Error while creating saving site as a template

This follows from my previous blog post. This error "Failure decompressing data from a cabinet file" can be avoided by using the stsadm command line tool of MOSS 2007 and using the "nofilecompression" attribute.For example to export a site template, you would use something like this:

  • stsadm.exe -o export -url http://intranet/test -includeusersecurity -nofilecompression -filename C:\backup

Once you finish your export use the stsadm import command with the same nofilecompression attribute. For example:

  • stsadm.exe -o import -url http://intranet/test -includeusersecurity -nofilecompression -filename C:\backup

Wednesday, February 20, 2008

How do i resolve this error "The site is too large to save as a template. The size of a template cannot exceed 10485760 bytes." in MOSS 2007

I get asked quite commonly about increasing the maximum size of List Templates (Saving a list as a template is an easy way of transferring data from one place to another in SharePoint). The quick trick here is as follows :

stsadm -o setproperty -propertyname max-template-document-size -propertyvalue 350000000

Note that:
  • The above increases the maximum size of both site and list templates.
  • The propertyvalue parameter is in bytes, so the example above will increase the maximum size to approx 350MB.
  • Default value is 10 MB or 10485760 bytes
  • There is a hard limit of 500MB so the value must be less than 524288000 or you will get an error when saving the list as a template.

Wednesday, January 23, 2008

Have you heard of Microsoft F# yet?

F# is a functional programming language that runs on Microsoft's Common Language Runtime and the .NET Framework. This means that F# has access to .NET Framework APIs and, conversely, that other .NET languages can use F# libraries. This Fast Guide offers a quick introduction to F# programming best practices and attempts to answer key questions about this new .NET implementation. Click here for more information

Microsoft offers Parallel Programming with .NET 3.5

Late last year, just after Visual Studio 2008 was formally released, Microsoft offered preview software that shows where things may be headed in terms of support for parallelism in future versions of .NET and Visual Studio. Microsoft announced the Parallel Extensions Community Technology Preview (CTP) that runs on the .NET Framework 3.5, thus tapping into features in C# 3.0 and Visual Basic 2008. Parallelism APIs in the new .NET extensions support parallel For and ForEach loops. Declarative data parallelism is supported in the form of a data parallel implementation of LINQ-to-Objects that eases implementation of LINQ queries that run on multiple processors. Meanwhile a new concurrency runtime maps and balances code to available concurrent resources on the execution platform. Pretty cool huh!

Thursday, December 27, 2007

GROUPING SETS - New User defined data types in SQL Server 2008

Other cool features that developers and architects will love are sparse columns, GROUPING SETS, large user-defined data-types (that can exceed the 8000-byte limit), and the new FILESTREAM data type

A new member of the T-SQL Family - the MERGE statement

One revolutionary addition is the new MERGE statement. On par with other core T-SQL CRUD features such as INSERT, SELECT, UPDATE, and DELETE, the MERGE statement is an ISO-2003 compliant command that is primarily intended to handle what many database users refer to as "UPSERT" functionality. For example, say you have an application where you either need to log a new entry for something that hasn't been added to your system, or update it if it's already been added previously. Without the MERGE statement you must either run a SELECT statement to see if a row has already been logged and then UPDATE or INSERT if it's not there. Or you can try to UPDATE first, and then INSERT if the UPDATE doesn't affect any rows. With the MERGE statement you can do this all in one fell swoop. Here's a rather extensive example of the syntax, pulled from the SQL Server November CTP:

MERGE Production.ProductInventory AS pi
USING (SELECT ProductID, SUM(OrderQty) FROM Sales.SalesOrderDetail sod
JOIN Sales.SalesOrderHeader soh
ON sod.SalesOrderID = soh.SalesOrderID
AND soh.OrderDate = GETDATE()
GROUP BY ProductID) AS src (ProductID, OrderQty)
ON (pi.ProductID = src.ProductID)
WHEN MATCHED AND pi.Quantity - src.OrderQty <> 0
THEN UPDATE SET pi.Quantity = pi.Quantity - src.OrderQty
WHEN MATCHED AND pi.Quantity - src.OrderQty = 0
THEN DELETE;

Documentation from a previous CTP's Books Online provides an overview, but the syntax has changed a bit between CTP releases. However, if you study that statement listed above, you can see that it's just a built-in switch (or case) that specifies what to check for, and then what to do if the data is found or not. What's cool about this statement, though, is that you can perform the entire check-in a single operation - which drastically increases performance during large-scale UPSERT operations or when you're trying to merge two large tables.


Table-Valued Parameters
Ever wanted - or more importantly - needed to pass in a table or array of values to your stored procedures? Well, now you can with Table-Valued Parameters. Imagine the following:
CREATE TYPE myTable AS TABLE (
key varchar(6),
value varchar(20)
)
GO

CREATE PROC dbo.InsertKeyValuesFromWebApp
@tvp myTable READONLY,
@owner int
AS
SET NOCOUNT ON

INSERT INTO [dbo].[SomeTable] (key, value, owner)
SELECT key, value, @owner FROM @tvp

RETURN 0
GO

For simpler applications, this functionality might seem like overkill, but for many complex applications, having this code on hand will be a lifesaver. This is something I’ve wanted for years (and which I’ve had to get around by sending in XML fragments as varchar parameters and then re-hydrating on the server) , and now we’ll have native support for it – I can’t wait. I can also see this becoming a wicked bit of functionality when combined with LINQ down the road.

Tuesday, October 30, 2007

Saturday, October 06, 2007

Microsoft Codename "Astoria" CTP toolkit enables developers to create and consume Data Services for the Web

The goal of Microsoft Codename Astoria is to enable applications to expose data as a data service that can be consumed by web clients within corporate networks and across the internet. The data service is reachable over regular HTTP requests, and standard HTTP verbs such as GET, POST, PUT and DELETE are used to perform operations against the service. The payload format for the data exchanged with the service can be controlled by the client and all options are simple, open formats such as plan XML and JSON. The use of web-friendly technologies make it ideal as a data back-end for AJAX-style applications, Rich Interactive Applications and other applications that need to operate against data that is across the web.

Read More & Download....

Team System Web Access (formerly known as TeamPlain) released

Team System Web Access (formerly known as TeamPlain) is a Web interface to Visual Studio 2008 Team Foundation Server. The following features are available in the new release:
  1. NEW: Display custom controls on work item forms
  2. NEW: view queued builds new, queue new builds
  3. Add new work items or edit existing ones
  4. Work with any type of work item, including custom ones
  5. Add new work item queries or edit existing ones
  6. View, download, upload, check-in and check-out documents on SharePoint team portal
  7. View reports, export as PDF or Excel
  8. Browse source control repositories, download files, view changesets, diffs, histories, and annotated views
  9. View build results, start or stop builds
  10. Search for keywords in work items

DOWLOAD this awesome tool from Microsoft website today

Thursday, October 04, 2007

SharePoint Project Management: Better Handling of Multiple Project Sites (3rd Party Tool for MOSS)

http://store.bamboosolutions.com/kb/article.aspx?id=10739

SharePoint 2007 / MOSS 2007 Backup Pros and Cons, Evaluation Standards & Strategies (3rd Party tool for MOSS)

With SharePoint quickly becoming the preferred platform for team collaboration, protecting it against data loss and damages is a key concern for today’s administrators. Can you distinguish various types of data based on its importance? Can you backup critical, frequently changing sites and documents to separate storage tiers? Though improved, the native SharePoint 2007 backup tools still have major issues with recovery granularity, performance, fidelity, and usability. This webinar discusses MOSS 2007 backup Pros and Cons, and recommends new evaluation standards and practices for SharePoint backup.

AvePoint specializes in award winning, enterprise-strength backup solutions for MOSS 2007, WSS 3.0 and Project Server 2007. Today, with 700+ production customers (many of them Fortune 500 companies) and well over 2000 trial customers across 6 continents, AvePoint has become the dominant market leader in SharePoint staging, backup, and disaster recovery solutions.