Nii mõnigi on küsinud, et kas dokumendile saab teha lisamenüüsid. Saab küll – ja üsna lihtsalt. Tulemuseks on selline menüüpunkt, millele vajutades satume ühele teisele lehele, kus kuvatakse osa dokumendi metadatast.

clip_image002

clip_image004

1. Teen feature
2. Teen CustomAction-i valmis dokumendi jaoks
3. Teen faili, mille poole pöördutakse kui menüüle vajutatakse
4. Installeerin ja aktiveerin feature

1. Teen feature

Kõige lihtsam moodus selle tegemiseks on Visual Studio. Loon uue C# tüüpi Class Library projekti, millele annan nime DocumentMenu. Esimese asjana kustutan automaatselt loodud class-faili ära, seda pole tarvis.
Siis loon Solution Explorerisse kataloogistruktuuri, mis vastab osaliselt ka Sharepointi kataloogipuule. Nimelt feature tuleb installeerida kataloogi Template\Features\DocumentMenu. Lisaks kataloogidele tuleb neisse luua kaks xml-faili (feature.xml ja CustomAction.xml) ja üks aspx-fail (DocumentMenuPage.aspx) nagu näha juuresoleval pildil. Üks install.bat nimeline fail on ka, aga sellest hiljem.

clip_image006

Feature.xml failis on kirjas see, mis on loodava featuuri nimi ja et täpsem kirjeldus featuuri kohta asub CustomAction.xml nimelises failis. Ahjaa, muidugi tahaksin lisada oma Visual Studiole intellisense – ehk siis nutika koodikirjutamise feature failidele. Seega oma feature faili Schema'ks määran - C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML\wss.xsd.

clip_image007

Ja nüüd vaadake ise – feature.xml fail on nii lihtne:

clip_image008

Mõne olulisema välja seletused:
* Id – tegemist on unikaalse Id-väljaga, sinna peate genereerima VS-i abil uue GUID-i. Menüü Tools-Create GUID.
clip_image010

* Title – see on antud featuuri nimi
* Scope – siinkohal määratakse ära millisel tasemel antud feature installeeritakse, mina teen seda sel korral Web-tasemel:
clip_image011

* Ja muidugi ElementManifest Location – see määrab ära faili, kus on kirjas featuuri detailsed omadused

2. Teen CustomActioni dokumendi menüü jaoks

Järgmiseks täidangi detailid – see on nüüd see CustomAction.xml, mis teebki konkreetselt selle menüü valmis!

clip_image013

Mõne olulisema välja selgitused:

* RegistrationType – määrab ära millisel tasemel see uus menüüpunkt luuakse – mina teen seda listi tasemel.
clip_image014

* RegistrationId – selle abil määran millist tüüpi listile see menüü lisatakse. Ehk siis mitte igal listil pole hiljem see menüü, vaid 101 tähistab konkreetselt DocumentLibrary't – st ainult dokumentidele lisatakse see menüüpunkt.
* ImageUrl määrab selle, milline ikoon sellele menüüpunktile pannakse
* Location määrab ära selle menüüpunkti asukoha
* sequence määrab lingi asukoha menüüs, mida suurem number seda tagapool kuvatakse
* UrlAction – määrab ära tegevuse, mis sellele menüüpunktile vajutades juhtub. Praegusel juhul siis suunatakse lihtsalt ühele teisele lehele, kus kuvatakse osa dokumendi metadatast.

3. Teen aspx-faili, mille poole sealt feature pealt pöördutakse.

Kuna selle näol on tegemist failiga, mille peale igaüks ise kirjutab just sellised actionid nagu tahab, toon siinkohal ära vaid osa selle faili koodi. Selle osa, mis loeb dokumendi properteid ja edastab need tegelikult selle sama faili peal olevatele Labelitele. Seda kabelite osa oskab igaüks juba ise teha. Oluline on siinkohal just see koodiosa, mis dokumendipropertid kinni püüab Sharepointi kõhust.

clip_image015

4. Installeerin ja aktiveerin feature.

Kõige lihtsam moodus selle tegemiseks on automaatne installer. Install.bat-fail. Tee see enda projekti juurde. Ja pane selle sisuks järgmine tekst:

clip_image016

Mis see teeb?
* kopeerib feature failid õigesse kohta
* deaktiveerib ja uninstallib feature kui see oli eelnevalt juba kasutusel
* installeerib ja aktiveerib uuesti selle feature
* restardib Application Pool'i. Selle asemel võib ka IISRESET teha, kui appPooli restart on kiirem.

NB! Tee oma projekti peal nüüd hiirega paremplõps ja võta properties ning kirjuta Build Events vahelehele Post-build event kasti järgmine asi nagu pildil näha. See teeb kokkuvõttes seda, et iga kord kui vajutada Visual Studios "Rebuild" – tehakse kogu insatlleerimsie töö sinu eest ära.

clip_image017

Kirjuta ülaltoodud 4 lühikest faili ja sa oledki teinud oma esimese feature Sharepointile!