Tam Tam
 

Cannot publish pages in SharePoint 2010

25

Jun

Today my workflow gave me the following error: “The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service. For more information, contact your server administrator.”

The solution is displayed here:
http://technet.microsoft.com/nl-nl/library/ee704548%28en-us%29.aspx
Share:

Wouter Geurtzen schreef

Comments (0)

Wouter Geurtzen

Simultaneous Editing in Office 2010 Web Apps: Only in Excel and OneNote

25

Jun

Thought that this was a Major feature for the Office 2010 Web Apps. But it did not make it in the final bits for PowerPoint and Word.

"Simultaneous editing for collaboration is one of the most hyped features in Office 2010, however it’s only supported over the web in the Excel 2010 web app.  For Word and PowerPoint simultaneous editing, you’ll need to have the full client versions of the Office 2010 products.  This will likely be a disappointment for people who were hoping to collaborate on documents from kiosks anywhere in the world." (Michael Fettner)

Go over to his blog for the details.

(Crosspost of: http://stefvanhooijdonk.com/2010/06/25/simultaneous-editing-in-office-2010-web-apps-only-in-excel)

Share:

Stef van Hooijdonk schreef

Comments (0)

Stef van Hooijdonk

Login troubles with Word and SharePoint?

23

Jun

Symptom: do users complain that they need to login over and over when opening and saving word documents on your SharePoint ( MOSS2007 /SP2010 ) portal?

Then you probably have used a FQDN for your portal url.

The fix is quite easy if you have Vista or Windows 7 clients:

http://support.microsoft.com/?id=943280

Short version:

Add a reg key to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters"

with the name: AuthForwardServerList (MULTI_STRING) and add your portal urls as values:

(Crosspost of: http://stefvanhooijdonk.com/2010/06/23/login-troubles-with-word-and-sharepoint )

Share:

Stef van Hooijdonk schreef

Comments (0)

Stef van Hooijdonk

Error while enabling Enterprise Features

21

Jun

Today we spent a lot of time figuring out how to update SharePoint 2010 from Standard to Enterprise. The Central Admin has a feature for that but it kept throwing us errors and getting us nowhere. It appeared to be that the configuration change to alter the license type has to be done by the system account, which has to be the same account that is running the SharePoint Foundation Timer Service. Besides this the account has to be a local admin on the index and all frontend servers in the farm.

Wouter Geurtzen schreef

Comments (0)

Wouter Geurtzen

Document ID Provider, the last one?

21

Jun

For a client of ours we wanted to create a Custom SP2010 Document ID Provider. For this provider I wanted to be able to adjust and configure it so I can use it for other customers also.
First I needed to know how to create a Document ID Provider and found that: Tobias Zimmergren had an excelent article on creating you own SP2010 Document ID Provider.

Next in order to create a unique sequenced number I immediatly thought of SQL Server. And found that Ton Stegeman had an equally usefull post on how to create your own SPDatabase object in a SharePoint Farm.

Now I was set to create "the last Document ID Provider" for SP2010 I was ever going to write. Perhaps not but still, it should suffice for a LOT of clients of us!

I wanted to end up with an admin page like this:

This should then result in this document id:



So how to do this?
Step 1
Create a Database with a Table where I can store my generated document id's

CREATE TABLE [dbo].[scoped_docid](
	[id] [bigint] IDENTITY(1,1) NOT NULL,
	[scopeid] [uniqueidentifier] NOT NULL,
	[objectid] [uniqueidentifier] NOT NULL,
	[scopedocid] [bigint] NULL,
	[scope] [varchar](100) NULL,
	[generateddocid] [varchar](150) NULL,
	[listid] [uniqueidentifier] NULL,
	[webid] [uniqueidentifier] NULL,
	[siteid] [uniqueidentifier] NULL,
	[webapplicationid] [uniqueidentifier] NULL,
	[farmid] [uniqueidentifier] NULL,	
	[created] [datetime] NULL,
	CONSTRAINT [PK_scoped_docid] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

And a stored procedure to Get/Insert ID's:

-- =============================================
-- Author:		Stef van Hooijdonk
-- Create date: juni 2010
-- Description:	
-- =============================================
CREATE PROCEDURE GetNextScopedDocID 
	-- Add the parameters for the stored procedure here
	
	@scopeid uniqueidentifier  ,
	@scope varchar(100), 
	@itemid uniqueidentifier  
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

	BEGIN TRANSACTION

	declare @result bigint
	declare @scopedindex bigint

	select @scopedindex=COALESCE([scopedocid],-1),@result=[id] from scoped_docid where [objectid] = lower(@itemid)
	
	if (@scopedindex is null)  begin
		-- coalesce for the first record will have MAX = null, and then we add 1
		select @scopedindex=COALESCE(MAX(scopedocid),0)+1 from scoped_docid where scope = lower(@scope)

		insert into [scoped_docid] (scopeid ,scope,objectid, scopedocid ) values( lower(@scopeid), lower(@scope),LOWER( @itemid), @scopedindex)
		select @result = SCOPE_IDENTITY()
	end
	COMMIT	
	select @result as record,@scopedindex as docid	
END
GO

There is more to it than this, but you can check out the downloads for all the details.
Step 2
Create an SPDatabase object for this Database, see the Ton Stegeman post!

Step 3
Create a Document ID Provider that uses this SPDatabase and generates Document ID's based on some settings. What I did was generate the sequenced number in SQL and then format that in a method with the other variables. Generating a YEAR or DAY into a string is fairly easy.

Step 4
Create an Central Admin page to change the settings of our Document ID Provider ( see screenshot ).
You can use the SPFarm.Local.Properties to score your settings Farm Wide:

/// <summary>
        /// The default farm wide scope setting for this DocumentProvider
        /// </summary>
        public ProviderScope Scope {
            get {
                ProviderScope result = ProviderScope.Farm;
                try {
                    string setting = Settings.GetFarmSetting("CustomDocumentIDProvider.Scope");
                    if (!string.IsNullOrEmpty(setting))
                        result = (ProviderScope)Enum.Parse(typeof(ProviderScope), setting);
                }
                catch (Exception exc) {
                        LogException(exc);
                }
                return result;
            }
            set {
                Settings.SetFarmSetting("CustomDocumentIDProvider.Scope", value.ToString());
            }
        }


The scope:

/// <summary>
/// Scopes for the Document ID Provider
/// </summary>
public enum ProviderScope {
	/// <summary>Farm wide scope</summary>
        Farm=1,
        /// <summary>Webapplication scope</summary>
        Webapplication = 2,
        /// <summary>SPSite/Site collection scope</summary>
        SiteCollection = 3,
        /// <summary>Site/Subweb (SPWeb) scope</summary>
        Site = 4,
        /// <summary>List scope</summary>
        List = 5,
        /// <summary>No scope</summary>
        None = 100
}

Downloads
Download solution
Download sources

How to use the solution

 

(Crosspost of: http://stefvanhooijdonk.com/2010/06/21/document-id-provider-the-last-one )

Share:

Stef van Hooijdonk schreef

Comments (0)

Stef van Hooijdonk

Eerste Tam Tam SharePoint 2010 portal live!

14

Jun

Tam Tam werkt sinds het begin van dit jaar aan een groot aantal SharePoint 2010 projecten, en afgelopen week is de eerste "2010" portal daadwerkelijk live gegaan!

Het betreft een omgeving voor de Solimas Groep (het overkoepelende concern voor de werkmaatschappijen: Agile Software, InfraControl en GroeneIT) waarin alle documenten met betrekking op klanten en leveranciers worden gedeeld en bovendien alle werknemers worden voorzien van in/extern nieuws, de laatste dollarkoers, informatie over collega’s en een samenwerkomgeving per afdeling. Na het beschikbaar komen van de definitieve SharePoint release in mei kon gestart worden met het inplannen van de uiteindelijke configuratie van de portal, waarvan het exacte ontwerp al compleet op de plank lag. Inmiddels is de volledige omgeving in een tijd van enkele dagen geconfigureerd. De komende weken wordt nog gewerkt aan het customizen van het grafisch ontwerp en de geautomatiseerde migratie van de duizenden voorstellen en contracten uit de oude klantomgeving, maar nu al kunnen de Solimas Groep werknemers aan de slag op hun nieuwe portal.

Kenmerkend voor dit project is dat er een aantal complexe features gerealiseerd zijn die in voorgaande versies van SharePoint een flinke dosis maatwerk hadden gevergd, maar nu met uitsluitend configuratie van nieuwe SharePoint 2010 mogelijkheden zijn opgeleverd:

  • Klantdossiers bestaan uit “Documens sets” waardoor alle documenten in een klantdossier automatisch de kenmerken van de klant overnemen zodat ze ook per stuk vindbaar zijn op bijvoorbeeld accountnaam. Het werken met document sets in dit project combineert de voordelen van het werken met slechts 1 documentbibliotheek (eenvoudig weergaves wijzigen en toevoegen voor alle dossiers, geen groot aantal bijna lege subsites) met de voordelen van een afgescheiden onderdeel per klant (elk dossier heeft een eigen voorblad met daarop de klantkenmerken en een overzicht over alle documenten).
  • Klantdossiers worden gekoppeld aan de accounts in het bestaande Microsoft Dynamics CRM systeem van de Solimas Groep. Deze “Business Connectivity Services” koppeling is tot stand gebracht door configuratie met SharePoint Designer en levert een eenvoudige gebruikersinterface op waarin de werknemers op verschillende wijzen kunnen filteren om zo snel het juiste account te kunnen koppelen. Middels een kleine (SharePoint Designer) workflow krijgt klantdossier automatisch de naam van het gekoppelde account zodat de juiste CRM naamgeving consequent wordt gebruikt in alle systemen met klantdata.
  • De documenten die toegevoegd worden aan de klantdossiers worden voorzien van een in CRM gegenereerd opportunity-ID. Ook die koppeling is via SharePoint Designer geconfigureerd en wordt in 2 stappen door de gebruiker doorlopen: eerst zoekt hij het betreffende account en vervolgens kiest hij uit de lijst met opportunities die voor die klant lopen of hebben gelopen waarbij de meest recente uiteraard bovenaan staan. Dit CRM-nummer wordt ook weer automatisch toegevoegd aan de naam van het document zodat iedereen altijd een compleet overzicht heeft welke voorstellen en contracten zijn gemaakt binnen een opportunity.
  • Aan elk document worden via de “term store” een aantal trefwoorden toegevoegd die uit een centrale taxomomie met business units, projectsoorten en contractvormen worden gekozen.
  • Via de nieuwe “metadatanavigatie” kan eenvoudig door het alfabet geklikt worden om zo snel het dossier van een van de honderden klanten te vinden. Ook kan op de trefwoorden uit de boomstructuur van de term store geklikt worden om zo uit alle klantdossiers de eerder gemaakte voorstellen en calculaties voor een bepaald type project of contract naar boven te halen.
  • Zoeken van personen en het presenteren van het profiel van een gevonden collega heeft een ware evolutiestap ondergaan en hebben we in dit project zonder enige maatwerkaanpassing kunnen implementeren.

Al met al is dit project het eerste bewijs voor wat we bij de presentatie van SharePoint 2010 in oktober in Las Vegas al vermoedden: meer functionaliteit die gebruiksvriendelijker wordt gepresenteerd wordt mogelijk met veel minder maatwerk. Projecten als deze kunnen zich meer focussen op details die van belang zijn voor de organisatie en worden in veel mindere mate gedicteerd door beperkte of dure technische mogelijkheden.

Solimas Groep: van harte gefeliciteerd met jullie nieuwe portal, en bedankt voor het gestelde vertrouwen in Tam Tam en in Microsoft, nodig om al in zeer vroeg stadium te besluiten om dit project aan te durven op een nieuw platform dat ten tijde van die beslissing nog nauwelijks in Beta-fase was beland!

Maurice Bakker schreef

Comments (1)

Maurice Bakker

Zoeken

Categorie

Archief


Sign In