SharePoint på ren svenska

Inlägg taggade “Tips

Konfigurera ”Publicering av Innehållstyper”

Jag gillar innehållstyper, ja sån är jag. Men ärligt tog det mig ett bra tag att verkligen förstå vad det var och vad man skulle ha dem till. Jajaja det är något man har för att t.ex. kategorisera dokument i SharePoint och utifrån det kan man koppla till webbplatskolumner, arbetsflöden m.m. Skitbra, men vad ska man ha dem till, egentligen?

Som vanligt när jag stöter på något som kan kännas lite luddigt att förstå och även förklara för andra så försöker jag hitta liknelser i vanliga livet. Det gör att man lättare känner igen sig och slipper tänka ”data” vilket oftast underlättar, att få en ny vinkling. Den största anledningen till att innehållstyper inte används eller slutar att användas i dokumenthanteringen i SharePoint tror jag helt enkelt beror på att ingen förklarat för dem hur smidigt det faktiskt är att använda dem.

Nåja, nu tänkte jag inte förklara begreppet Innehållstyper idag, det tar jag för givet att du redan har greppat när du väl kommit så långt att du är intresserad av att faktiskt börja publicera dem mellan webplatssamlingar. Jag delar här upp jobbet i två delar där vi först i CA bestämmer vilken webbplatssamling som ska vara värd för innehållstyperna och sen bestämmer vilka innehållstyper som ska publiceras i den webbplatssamlingen vi valt. Det är exakt samma steg att göra detta i 2013 som i 2010.

1. Ange värd för publicering

Gå in i Central admin och Service Applications

Markera tjänsteapplikationen för Managed Metadata Service och klicka på Properties.

Scrolla ner lite och fyll i adressen för webbplatssamling t.ex. http://intranet/ ni tänkt använda som hub för innehållstyperna.

Om inte ni här får ett felmeddelande får man gå in på den webbplatssamling man angett ovan och slå på funktionen manuellt under site settings – site collection features.

Välj Managed Metadata Service Connection och Properties och kryssa i Consumes content types from the Content Type Gallery at http://intranet/.

Slå på publiceringen av innehållstyper

Gå till Webbplatsinställnigar i den webbplatssamling ni valt som hub, exempelvis http://intranet/  klicka på länken för Innehållstyper. Välj innehållstyperna ni vill publicera och klicka på länken Hantera publicering för den här innehållstypen och välj Publicera.

Gå till Central admin – Monitoring – Job definition – Content Type Subscriber och klicka på länken som går till de övriga webbplatssamlingar dit publiceringen ska ske t.ex. http://projekt/ . Här kan ni ändra hur ofta detta jobb ska ske eller som nu när vi slår på funktionen kan vi köra jobbet manuellt istället för att vänta en hel timme på att kontrollera om publiceringen faktiskt fungerar.

Kontrollera att publiceringen faktiskt fungerar genom att gå till den webbplatssamling ni körde jobbet på manuellt här ovan, i detta exempel http://projekt/ gå in på Webbplatsinställningar och Innehållstyper så bör ni nu se de innehållstyper ni valt att publicera, med medföljande kolumner.

Ändra hub för publicerade innehållstyper

Nu kanske ni varit igång ett tag och jobbat med publicering av innehållstyper och insett att ni vill ändra värden för publiceringen av innehållstyper. Glad i hågen kommer ni ihåg att det ställde man in i Central Admin och går in där, markerar tjänsteapplikationen för Managed Metadata och trycker Properties och scrollar ner. Men va sjutton!? Det är ju utgråat och går inte att ändra :-/ Nåja, jag har räddningen.

Starta powershell för SharePoint som administrator och skriv:

Set-SPMetadataServiceApplication -Identity "Managed Metadata Service" 
–HubURI http://NyContentTypeHub/

Gå nu tillbaka t. Central Admin igen, markera tjänsteapplikationen för Managed Metadata och klicka på Properties så ser ni att URL för huben ändrats.

Lätt som en plätt!

Annonser

Problem med ”Du måste ange ett värde för det här obligatoriska fältet”

Härrom dagen lanserade jag ny branding hos en kund jag tidigare gjort brandingjobb hos, nu innefattade det lite nya färger och ny sidlayout m.m. Men, lanseringsdagen mailar kunden och skriver att de har problem när de ska editera deras wikisidor. Varje gång de ska spara ner dem får de felmeddelandet ”Du måste ange ett värde för det här obligatoriska fältet” eller på engelska ”You must specify a value for this required field”. Jag börjar titta i webbplatskolumnerna i biblioteket där sidorna sparas och ser inget konstigt, tittar på sidan och det ser också bra ut, jag har ju inte ens ändrat på sidlayouten på dessa sidor utan de använder SharePoints standard för wikisidor.

Söker på internet och hittar några bloggar som skriver om detta och de skriver att man måste lägga till detta

<asp:panel runat="server" Style="display:none;">
<asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server" />
</asp:panel>

i den masterpage som används, den som jag faktiskt ändrat lite inför denna lansering. Det jag fick göra var att ersätta testen som stod där:

<h2>
           <asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server" Visible="false"/>
</h2>

med tipset ovan så fungerar det alldeles utmärkt att editera och sen spara och stänga wikisidorna. Kunden nöjd och jag har lärt mig något nytt, igen.


One or more field types are not installed properly…

När vi gjorde en migrering av en miljö från MOSS 2007 till SharePoint 2010 här i våras stötte vi problem så snart vi skulle in och titta på ”Innehåll och struktur”. Felmeddelandet vi fick var ”One or more field types are not installed properly…”.

Detta problem dyker upp på de webbplatssamlingar där man använder funtkionen ”SharePoint Server Publishing Infrastructure”. Denna funktion skapar en lista som heter ”Relationships List” vilken är dold men det går att surfa till den ”http://site_url/Relationships%20List/allitems.aspx.&#8221;

Felet i sig ligger i att kolumnen GroupId är av typ Text istället för GUID. Då det inte går att ta bort denna kolumn får man istället ta bort hela listan och skapa upp den genom att:

  1. Gå till Webbplatsåtgärder – Webbplatssamlingens funktioner och avaktivera funktionen SharePoint Server Publishing Infrastructure.
  2. Surfa till ”http://site_url/Relationships%20List/allitems.aspx.&#8221;
  3. Gå tillbaka till Webbplatsåtgärder – Webbplatssamlingens funktioner och aktivera funktionen SharePoint Server Publishing Infrastructure igen.
  4. Kontrollera i listan ovan att kolumnen GroupGuid är av typen GUID.

Alternativt:

  1. Exportera Relationships List från en webbplatssamling där Innehåll och struktur fungerar
  2. Importera den till samma plats (”http://site_url/Relationships%20List/allitems.aspx&#8221;) till webbplatssamlingen med problemet.

Skicka till – ”skicka en länk med e-post” fungerar inte

Hej hopp,

har ni stött på problemet med en migrerad miljö där länken Skicka till – skicka en länk med e-post har slutat att fungera. Lugn, jag har en lösning. Förmodligen beror detta på att ni använder det gamla gränssnittet med en anpassad masterpage som inte riktigt gått att migrera.

Lägg till denna rad mellan <head>  </head> i den masterpage ni använder:

<sharepoint:SPPageManager runat="server" />

Event id 14 – kan inte ”crawla” en specifik startadress.

Detta problem har jag haft hos flera kunder och det har rört olika sorters webbplatssamlingar; intranät som minwebbplats och den hjälp som står i felmeddelandet är sällan till någon just hjälp. Men visst kan man kolla att sökkontot har ”full read” access till just den webbapplikation det är problem med men oftast är det just detta jag ska beskriva som hjälper:

1. Öppna regedit

2. Gå till HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

3. Högerklicka på Lsa och välj att skapa nytt ”DWORD Value”.

4. Döp den till DisableLoopbackCheck och tryck enter.

5. Högerklicka på DisableLoopbackCheck och välj att edit.

6. Skriv in 1 i ”Value Data”.

7. Klicka ok för att stänga rutan.

8. Stäng ner regedit och starta evenutellt om servern (jag har inte behövt det någon av gångerna men det kan behövas).

Gå nu till sist in och starta en fullständig crawling och håll koll i eventloggen så ska du se att inga nya event 14 dyker upp 🙂


Öppna pdf-filer direkt från sharepoint

Ett önskemål hos många kunder är att kunna öppna även sina pdf-filer direkt från intranätet utan att behöva välja att spara ner dem först och sen öppa dem.

Såhär gör du för att fixa det:

Starta PS för Sharepoint i adminlläge (välj att köra programmet som Administrator)

Sen kör du detta script där länken byts ut till länken t. webbplatsen ni vill kunna öppna pdf-filerna:

$app =
 Get-SPWebApplication http://dittIntranät/
$app.AllowedInlineDownloadedMimeTypes.add("application/pdf")
$app.Update()

Eller gå till Manage Webbapplication – markera http://dittintranät/ och välj General settings och sen General settings, kryssa i enligt bilden nedan.

Jag har för mig att detta ska gå utan att ens sköra en iisreset efteråt.


Problem med SQLdb som inte vill gå offline

Hur ofta har man inte suttit och väntat och väntat och väntat på att en SQL-databas ska gå offline!?

Här har ni ett bra knep som fungerar för mig, skriv in texten nedan i script-fönstret i SQL:

ALTER DATABASE Din_innehållsdatabas SET OFFLINE WITH
 ROLLBACK IMMEDIATE
 GO

Senast aktiviteter av…

Att visa ett flöde av vad varje användare senast gjort på Intranätet är en jättesnygg funktion. Dessvärre känns inte samhället mogna för en sådan funtktion än. Visst ska vi inte behöva ha något att dölja med vad vi gör på Intranätet eller i vår egen Webbplats på företaget. Men det blir för mycket känsla av ”storebror ser dig” för de flesta.

Så jag brukar erbjuda att dölja denna funktion, framför allt i personsöken.

Ta bort ”Om [namn]” i peopleresult.aspx

1. Gör en sökning av en person, detta för att få upp både rätt sida men också för att få fram ett sökresultat du kan ändra i.

2. Välj att editera sidan.

3. Gå till webbdelen ”Basresultat för personsökning” och välj att editera den.

4. Under avsnittet ”Visningsegenskaper” hittar ni ”Hämtade egenskaper” klicka på knappen XSL-redigeraren.

5. Gå till avsnittet ”RecentContentField” och ta bort följande text:

<li id="RecentContentField">
            <asp:HyperLink
NavigateUrl="javascript:"
ID="{concat('recentcontentlink_',$id)}"
Text="{concat('» ', substring-before($RecentContentLabel, '{0}'),
preferredname, substring-after($RecentContentLabel, '{0}'))}"
runat="server"
PreferredName="{preferredname}"></asp:HyperLink>
            <SEARCHWC:PopupControlExtender
ID="{concat('popupextender_',$id)}" runat="server"

TargetControlID="{concat('recentcontentlink_',$id)}"

PopupControlID="PopupPanelPeopleCore"

PopupShowingScript="{concat('PostbackUserName(this.get_element(),this._popupElement,&quot;',$RecentUpdateTabLabel,'&quot;)')}"
            PopupHiddenScript=""
            HoverDelay="500"
            UnhoverDelay="500"/>
          </li>

6. Välj nu att spara filen, ändringarna i webbdelen. Spara, checka in och publicera sidan.

Ta bort ”Senaste aktiviteter” från profilsidan

1. Gå in på din profilsida som webbplatsadministratör.

2. Redigera profilsidan ”person.aspx” och ta bort webbdelen ”Senaste aktiviteter” som du hittar under första fliken på sidan.

3. I och med att du är webbplatsadministratör kommer detta slå genom på samtliga siter.

På detta vis kan man göra andra ändringar som rör profilerna, vill man t.ex. dölja ”My Content” går man in på Webbplatsinställningar och Navigation och redigerar detta.


SharePoint 2010 med Kerberos

Visst är det så att det går en rysning genom kroppen när man nämner kombinationen SharePoint och Kerberos, inte av välbehag utan mer av den sorten ”kalla kårar”. Om inte, då har man  nog inte satt upp en sådan lösning än ;o). Lite kuriosa, vet ni var namnet Kerberos kommer ifrån? Jo det är namnet på den trehövdade hund som vaktar vid dödsriket i den grekiska mytologin.

Lugn jag har lite tips och råd hur man gör och vad man bör tänka på. Det står idag en hel del om detta men ofta är beskrivningarna långa och krångliga, jag ska göra mitt bästa med att göra denna kort och lätt att förstå.

Det allra första man kan anamma är, SATA, som är bra om man känner att paniken kommer krypande. Här pratar jag inte om SATA-diskar utan en förkortning som används inom dykningen om något händer under ett dyk. Stanna Andas Tänk Agera! Det är inte så svårt egentligen.

Så, nu kör vi!

1. Vi börjar med att ta reda på vilka webbapplikationer som ska köra Kerberos. Skriv upp URL och vilket domänkonto den körs på.

2. Sen loggar vi in på en DC i domänet och öppnar kommandoprompten.

Skriv:

setspn -a HTTP/<DNS HOSTname> Domän\webbappkonto

och sen oxå

setspn -a HTTP/<DNS FQDN> Domän\webbappkonto

Exempel:

setspn -a HTTP/intranet contoso\sp_webbapp
setspn -a HTTP/intranet.contoso.local contoso\sp_webbapp

För de webbapplikationer som inte körs på standardportarna 80 och 443 får man registrera även portnummer:

HTTP/<DNS Host Name>:<port>
HTTP/<DNS FQDN>:<port>

Exempel:

setspn -a HTTP/test:3333 contoso\sp_testwebbapp
setspn -a HTTP/test.contoso.local:3333 contoso\sp_testwebbapp

3. Nu ska vi in i AD User & Computers och högerklicka på varje webbapplikationskonto och välj ”Properties”. Klicka på fliken ”Delegation” som nu dykt upp där bland flikarna.

4. Välj ”Trust this user for delegation to specified services only” och sen även ”Use any authentication protocol”.

5. Klicka på knappen ”Add”.

6. Lägg nu till de tjänster som detta konto får använda. T.ex. HTTP/test:3333  och HTTP/test.contoso.local:3333 för konto contoso\sp_testwebbapp.

7. Nu kan ni gå in på dessa webbapplikationer i Central administration och markera den webbapplikation ni ska ändra till Kerberos på och klicka sen på ”Authentication providers” uppe i Menyfliksystemet.

8. Klicka på länken ”Default” och scrolla ner till avsnittet ”IIS Authentication Settings” där ni nu väljer ”Negotiate (Kerberos)”.

9. Nu ska det vara klart, prova nu att surfa till de webbplatssamlingar ni ställt om till Kerberos och testa detta från en annan dator än SharePoint-servern.


Profilsynkroniseringskontot

Profilsynkroniseringskonto är ett långt ord.

En av de frågor jag brukar stöta på när jag ska ut och installera och konfigurera upp en ny Sharepointmiljö är hur behörigheterna för tjänstekontona i AD’t för SharePoint ska se ut. I mångt och mycket räcker det med att de är vanliga användare och SharePoint själv fixar iordning behörigheterna, men för Farm-kontot och Profilsynk-kontot är det lite annat. Vad gäller farm-kontot är det inte så komplicerat och det ser ut som i tidigare versioner, däremot vad gäller Profilsynk-kontot ser det nu lite annorlunda ut iom att vi nu fått en tvåvägs kommunikation till AD’t (alla AD-konsulter hoppar av glädje ;o)…).

Det man bör tänka på innan man kör igång tjänsten för profilsynkroniseringen är att farm-kontot, som tjänsten ska faktiskt ska köras på, måste ligga med som lokal administratör på den SharePoint-server där synkroniseringen ska köras.

Men detta ska nu handla om hur själva profilsynkroniseringskontot sätts upp, i exemplet använder jag kontot Domän\sp_profilsynk

Så, kommer ni, som SharePoint-konsult, inte in i AD’t och kan göra dessa förändringar som krävs kan ni bara skicka denna beskrivning till AD-konsulterna:

  1. I AD Users & computers, högerklicka på domänet, välj ”Delegate Control” och tryck ”Next”.
  2. Lägg till kontot du valt för profilsynkroniseringen (exempel Domän\sp_profilsynk) och tryck ”Next”.
  3. Välj ”Create a Custom Task to Delegate” och tryck ”Next”.
  4. Tryck ”Next”.
  5. Välj ”Replicating Directory Changes permission” och tryck ”Next”.
  6. Tryck ”Next”.

I många fall räcker det gott med dessa steg, men om det är så att Netbios-namnet inte är samma som FQDN så måste även dessa instruktioner följas:

  1. Starta ADSI Edit (Run: ADSIEdit.msc ).
  2. Koppla upp mot sökvägen till konfigurationen, se exempel nedan:
  3. Högerklicka på konfigen du precis kopplat upp dig mot och välj ”Properties”.
  4. Välj fliken ”Security” och lägg till kontot för synkroniseringen (exempel Domän\sp_profilsyn) och ge kontot rättigheten ”Replicating Directory Changes”.

För att läsa fortsättningen om hur man får SharePoint att exportera till AD’t, läs vidare här https://sharepointdiver.wordpress.com/2012/07/02/fortsattning-profilsynkroniseringskonto-behorighet-for-export/