Thursday, January 22, 2009

SmartPart plus Integration av Google Search i MOSS 2007

Nyckelord: SharePoint, Google Search, SmartPart, Ajax

1. Ladda ner och installera SmartPart (ReturnOfSmartPartv1_3.zip)

http://www.codeplex.com/smartpart/Release/ProjectReleases.aspx?ReleaseId=10697

2. Aktivera SmartPart i Site Collection Features

clip_image002

3. Detta kommer att ge dig två web Parts, ena är för asp.net applikationer och den andra är för AJAX applikationer.

clip_image004

4. Nu har du en fungerande SmartPart som kan innehålla vilken asp.net applikation som helst.

Vill du dessutom ha AJAX stöd då måste du göra följande:

1. Ladda ner och installera asp.net 2.0 AJAX Extension

http://www.asp.net/AJAX/downloads/

2. Ladda ner Search Integration för Google och installera enligt anvisning

http://www.codeproject.com/KB/sharepoint/Search-Integaration.aspx

3. Nu kommer det jobbigaste momenten, ta en kopia av din web.config som ligger under rooten för din webbapplikation, typ C:\Inetpub\www\wss\virtualdirectories\80 och spara detta som web.config.org

4. Lägg till följande avsnitt: i din web.config fil

A. Strax efter <configuration><configSections>

Lägg till följande:

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>

<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />

<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />

<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />

</sectionGroup>

</sectionGroup>

</sectionGroup>

B. Strax innan </pages>

Lägg till följande:

<controls>

<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</controls>

C. Strax innan </assemblies>

Lägg till följande:

<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

D. Strax efter <httpHandlers>

Lägg till följande:

<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

E. Strax efter <httpModules> <clear />

Lägg till följande:

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

F. Strax innan </SafeControls> Lägg till:

<SafeControl Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TypeName="*" Safe="True" />

G. Sist men inte minst, innan </configuration>
     Lägg till följande:

system.webServer>

<validation validateIntegratedModeConfiguration="false"/>

<modules>

<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</modules>

<handlers>

<remove name="WebServiceHandlerFactory-Integrated" />

<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"

type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

</handlers>

</system.webServer>

Nu behöver du eventuellt starta om SharePoint servern, eller åtminstone köra en IISRESET.

Kopiera cs-filen och ascx-filen till mappen C:\Inetpub\www\wss\virtualdirectories\80\UserControls (OBS! mappen Usercontrols finns inte och behöver skapas manuellt)

clip_image006

OBS! HiddenField ID:et i filen SharepointGoogleSearchIntegration.ascx ska ändras till följande:

<asp:HiddenField ID="HiddenField1" runat="server" />

Blir

<asp:HiddenField ID="hdnField" runat="server" />

Lägg till en web part som heter SmartPart Ajax till din söksidas resultat sida.

Välj sedan rätt User Control, spara och starta en sökning

clip_image008

Resultatet blir som nedan:

clip_image010

Njut! :)

Monday, January 19, 2009

Installera pdf iFilter för MOSS 2007

Nyckelord: iFilter, indexera pdf, Adobe

För att kunna indexera pdf-filer i MOSS 2007 krävs en så kallad iFilter för MOSS 2007. Denna filter kan laddas ner från denna länk. En guide för att installera filteret och konfigurera det finner du genom att klicka på denna länk. (Version 9.0 i dagsläget)

En viktig detalj är att du måste starta om SharePoint servern för att få detta att fungera. Installera filtret innan du laddar upp dina pdf-filer.

clip_image002

För flera iFilter kolla denna adress: http://www.ifiltershop.com/products.html

OBS! Det flesta filter kan du erhålla gratis från programtillverkaren

Friday, January 16, 2009

Du får access denied när du försöker indexera innehåll i MOSS 2007

Nyckelord: Content Access Account, Crawl, Access Denied

Problembeskrivning:
Du får Access denied när du försöker indexera innehållet i din site:
”Access is denied. Check that the Default Content Access Account has access to this content, or add a crawl rule to crawl this content.”

Lösning:
Skapa en så kallad DWORD värde som heter DisableLoopBackCheck under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA
och ge den skapade nyckeln ett värde av 1. Dra igång en Crawl och njut! :)
image

Wednesday, January 07, 2009

"SSL binding" i IIS7 är gråmarkerat, kan inte lägga till host header

Nyckelord: SSL Bindings, SSL, IIS7, Wildcard Certificate, Certifikat, Host header
Problem:
Jag skulle vilja säkra upp min site som redan nås via http://sitex.companyx.com/ (host header), jag installerar ett så kallat Wildcard certifikat och vill sedan även nå siten via https://sitex.companyx.com/, men när jag kollar på site binding i IIS7, är fältet för host header gråmarkerat. Hur går jag tillväga då?

Lösning:
C:\Windows\System32\inetsrv>appcmd set site /site.name:"sharepoint - sitex.companyx.com" /bindings.[protocol='https',bindingInformation='*:443:'].bindingInformation:*:443:sitex.companyx.com
Där Sharepoint - sitex.companyx.com är ditt sitenamn och sitex.companyx.com är ditt hostheadernamn.

Om allt går bra så får du detta meddelandet.
SITE object "SharePoint - sitex.companyx.com" changed.

OBS! om du har mellanslag i sitensnamn så ska namnet ligga mellan dubbelfnuttar " ".