TechEd 2008 Developers - Soovitusi SharePoint WCMS saitide ehitamisel
23.11.2008 | Gunnar
TechEd 2008 Developers raames käisin kuulamas Andrew Connell‘i ettekannet SharePoint‘i sisuhalduse kohta. Andrew andis oma ettekandes head nõu ning demos erinevaid nõkse, kuidas SharePoint’i sisuhaldusel baseeruvaid lehekülgi ehitada ja optimeerida. Et minulgi neli taolist WCMS saiti hetkel käsil (küll ainult hoolduse mõttes), siis oli Andrew ettekanne minu jaoks väga huvitav ja õpetlik.
Eestis kasutatakse SharePoint’i sisuhalduse võimalusi avalikel lehekülgedel vähe, sest baaspakett ise maksab peaaegu 600K EEK (SharePoint Price Calculator) ja sellele lisanduksid siis veel lehekülje disainimise ja lehekülje ehitamise kulud. Suuremate lehekülgede kontekstis tasub see investeering ennast ära, kuna SharePoint’i on oluliselt lihtsam siduda teiste Microsoft-i platvormil töötavate toodetega kui valdavat osa vabavaralist softi. Samuti õigustab SharePoint ennast sisuhaldussüsteemina ära kui sisu avaldamisega tegeleb palju inimesi (sisu lisamise õigused, versioonimine, kinnitamine, avaldamise töövood jne).
Toon siinkohal ära Andrew poolt räägitud olulisemad punktid lühikokkuvõtte vormis. Kes teab, äkki ma polegi Eestis ainus, kes WCMS saitidega peab tegelema.
- name.dll Korista avalikest saitidest ära kõik viited failile name.dll. (Täpsemat infot pakub Microsoft Knowledge Base artikkel Message in the Information bar in Internet Explorer 7 when you browse to a Windows SharePoint Services 3.0 site or to a SharePoint Server 2007 site: “The Web site wants to run the following add-on: ‘Name ActiveX Control’”)
- Kasuta CSS Lehe pay load‘i vähendamiseks kasuta CSS-i. Out-of-box sisupõhjad baseeruvad kõik tabelitel ning seepärast on nad küllaltki mahukad.
- JavaScript Vaikimisi laetakse igal pöördumisel selline fail nagu core.js. Tihti pole seda faili avalikes saitides vaja. Üks võimalus on pöördumised selle faili poole blokeerida. Teine võimalus on paigutada pöördumine sellele failile master lehekülje lõppu. Kolmas võimalus on laadida see fail IFrame abil brauseri mällu, kui seda vaja peaks olema. Lehe pay load seisukohast on see fail küllaltki kulukas.
29% - muud skriptid ja CSS
45% - sisu ja branding
26% - core.js - CAS poliisid Vaikimisi on turvatasemeks WSS_Minimal, mis on avalike saitide korral kõige turvalisem. Selle asemel, et muuta üldist turvataset, on mõttekas muuta nõudlikema komponentide endi turvataset.
- Lockdown Feature See feature ei lase anonüümseid kasutajaid juurde SharePoint loendite ja üksuste vaikevaadetele. Publishing Site loomisel aktiveeritakse see feature automaatselt. Mõningate muudatuste korral võidakse Lockdown Feature kinni keerata ning see tuleb uuesti ise aktiveerida.
- Page output cache Lehekülgede väljundi puhver on kiireim puhver, mida SharePoint pakub. Lehekülgede väljundit hoitakse mälus. Kasutatakse ASP.NET 2.0 puhverdamise süsteemi. Publishing Site korral saab luua erinevaid puhverdamise profiile. Vaikimisi pole lehekülje väljundi puhverdamine sisse keeratud.
- Object cache Objektide puhver kasutab samuti ASP.NET 2.0 infrastruktuuri. Mitut saiti hõlmavate päringute tulemused saab salvestada objektide puhvrisse ning seega pole igal pöördumisel vaja objekte uuesti konstrueerida. Vaikimisi puhverdamine sisse lülitatud pole. Et selle puhvri efektiivsust mõõta, on soovitatav kasutada performance counter‘it Cache Hit Ratio. Üldiselt võib puhvri suurust (vaikimisi 100MB) tõsta seni kuni see ei ületa 90% serveri mälust.
- Disc-based cache Diskil põhineva puhvri idee on lihtne. SharePoint’i sisuhoidlas asuvad staatilised failid kopeeritakse serveri kõvakettale, et vältida asjatuid pöördumisi sisuhoidlasse.
- Staatiline ja dünaamiline pakkimine Väljundi pakkimisel kasutatakse IIS’i võimalusi. Pakkimine võib oluliselt vähendada lehe pay load‘i. IIS7 pakub välja sellise suurepärase võimaluse nagu pakitud lehekülgede puhverdamine. See tähendab seda, et enne puhverdamist pakitakse lehekülje väljund kokku. See funktsionaalsus tuleb IIS’i konfiguratsioonis ise sisse lülitada. Siinkohal tasub meeles pidada, et mida tihedam on pakkimise tase, seda enam kulub protsessorit ja mälu pakkimise operatsioonidele ja vastupidi. Pakkimise taset võib suurendada kuniks CPU seda välja kannatab.
- Veebirakenduse konfiguratsioon Veebirakenduse konfiguratsioonis on soovitatav kinni keerata järgmised võimalused: user presence information, Blog API, Incoming e-mail.
Lisan omalt poolt mõned selgitused ka siia.
Puhvrid on vaikimisi selleks maha keeratud, et peale Publishing Site loomist hakatakse sinna enamasti uut disaini peale paigutama ja sel hetkel oleksid igasugused puhvrid nagu karuteene. Alles siis kui leht on püsti ja töötab ning mingeid suuremaid muudatusi pole oodata, tuleb lehte optimeerima hakata.
Avalikud saidid, mis ei kasuta SharePoint poolt pakutavat JavaScript’il põhinevaid dünaamilisi navigatsioonielemente, ei vaja core.-js faili laadimist. Sellisel juhul on targem core.js faili laadimine üldse välja lülitada.

12.12.2008 kell 00:08
Lockdown feature aktiveerimiseks kasuta järgmist käsku:
stsadm -o activatefeature -url [site collection url] -filename ViewFormPagesLockDown\feature.xml
Täpsemat lugemist pakub TechNeti artikkel Plan security for an external anonymous access environment (Office SharePoint Server).
31.07.2009 kell 23:01
Kuidas kommenteeriksid avaliku veebisaidi loomist wss 3 baasil? kuna wss tuttav ja vaja veebisait teha, siis kasutaks hea meelga just seda. Kulude poole pealt, saan aru tuleks siin üks win serveri litsentsi kulu+töö ja tegemine ja sisuliselt kõik vist?
02.08.2009 kell 01:29
WSS 3.0 peale saab avalikku lehte luua küll. Ma olen kuskil näinud ka täiesti tasuta jubinaid, mis WSS peal veebi sisuhalduse peaks oluliselt mugavamaks muutma. Asi, mis on natukese keerukam, on kujunduse külge ajamine, kuid kui see on korra üle elatud, siis läheb edaspidi lihtsamini.
Mingeid täiendavaid litsentse ma ei tea, et vaja oleks WSS korral. Windowsi oma peab olema ja SQL Server olenevalt sellest kas kasutad tasulist versiooni või mitte.
02.08.2009 kell 15:20
Selge. Tänud!