Új szavazási típus létrehozása a Microsoft Windows SharePoint szolgáltatásaiban 2
belépés
Szükség volt a WSS-felmérésekre, hogy ne csak szöveget, hanem képeket is használjanak. Hogy a felhasználók véleményüket fejezhessék ki, nem csak a szöveg elolvasását, hanem a vita témáját is.
A WSS nyomtatott anyagaiban vannak cikkek arról, hogyan lehet új mezőket hozzáadni a sablonok listájához. Ez az anyag nagyon hasznos, ha listákat kell létrehoznia előre meghatározott mezőkészletekkel. Ez mind jó, de nem kell egy előre beállított mezőt módosítani, hanem a "funkcionális" mezőt módosítani. Tegye a mezőt a kép megjelenítéséhez. Nem találtam standard SharePoint eszközöket, meg kellett találnom, hogyan kell ezt a szükségletet más módon végrehajtani.
Ebben a cikkben leírom a döntést.
A munka során a Microsoft Windows SharePoint Services 2.0 orosz verzióját használom. Kiadás 6.0.2.5530. Azoknál a felhasználóknál, akiknek más WSS-lokalizációi vannak a következő útvonalakon, ki kell cserélnie az 1049-et az Ön licencejével. A WSS angol verziójára ez 1033.
A téma fejlesztése előtt leírom, hogy a listák hogyan szerveződnek a WSS-ben.
Lista eszköz
Az alábbiakban ismertetett dolgok közül sok csak egy külön listára vonatkozik - Felmérések.
A listák két állapotban léteznek: sablonok formájában és valódi listák formájában. Az információ valódi listákba kerül. A lista létrehozásakor válasszuk ki a sablont, adja meg a jövőbeli valós listának nevét, adja meg a többi tulajdonságot és kattintson a létrehozás gombra. Ezen a ponton a WSS: hozzárendel egy elemet a SPListCollection gyűjteményhez, létrehoz egy virtuális könyvtárat, és létrehozza az aspx fájlokat a lista működtetéséhez. Ezután a lekérdezés esetén a rendszer átirányítja az oldalra az első kérdés létrehozásához. Miután létrehoztuk az első kérdést, folytatjuk a következőt, és így tovább. Két kérdőíves oldal felelős a felmérési kérdések létrehozásáért és szerkesztéséért: qstnew.aspx és qstedit.aspx. Ezen oldalakon a kérdés "kitöltése" alakul ki. Olvassa el alább.
A WSS összes listáját a SPList osztály képviseli. Ebben az osztályban van egy Mezős tulajdonság, amellyel elérheti a listatérképek gyűjteményét. A lista mezőt az SPField osztály képviseli. Ebből következik, hogy a normál listák oszlopai és lekérdezési kérdései ugyanannak az SPField osztálynak egy objektumát képviselik.
Az SPField osztályban létezik egy SchemaXml tulajdonság, amelynek értéke az adott mező xml-leírása ebben a tartalomban:
Felülről, tudjuk, hogy az alábbi következtetést: Annak érdekében, hogy felmérje volt lehetséges, hogy a képek meg kell bővíteni az XML leírást a mező hozzáadásával egy attribútum, amely tárolja a linket egy képet, és hozzá minden szükséges feldolgozási attribútum. Például ez a helyzet:
A módosítások befolyásolják azokat a lapokat, amelyek segítenek a kérdések létrehozásában, szerkesztésében és megjelenítésében. A kérdés létrehozásához a qstnew.aspx oldal felelős. a qstedit.aspx szerkesztéséhez. és a felelősség a lekérdezési sablon, amelyet a Schema.xml fájl tárol.
Kezdjük a változtatásokat a következő sorrendben:
- Hozzon létre egy új felmérési sablont. Ez lehetővé teszi számunkra, hogy egy új felmérés típusra hivatkozzunk a következő lépésben.
- Módosítsuk a fájlokat a kérdések létrehozásához és szerkesztéséhez. Ez kiterjeszti a mező XML-leírását
- Módosítjuk a Schema.xml definíciós fájlt. Ez lehetővé teszi, hogy az új közvélemény-kutatás munkáját cselekvés közben láthassa.
Hozzon létre egy új sablont
Grafikus szavazásunk - nagyon hasonló lesz a rendszerben rendelkezésre álló szabványos felméréshez. Ezért létrehozunk egy új sablont a meglévő "szavazás" sablon alapján.
- Helyi_meghajtó megnyitja a fájlt: \ Program Files \ Common Files \ Microsoft Shared \ Web Server Extensions \ 60 \ template \ 1049 \ Site_Template_Name \ XML \ ONET.xml.
- Találjuk meg a ListTemplates elemet
- A ListTemplates elemen belül másolja a gyermekelemet, majd egy példányt hoz létre ugyanabban a ListTemplates elemben.
- A példányban módosítsa az attribútumértékeket:
- A "szavazás" és "grafikonvétel" neve (olvassa el az alábbi megjegyzést)
- DisplayName a "Poll" -ról "Graphical Polling"
- Írja be a "102" -ta "777" -ig. (Olvassa el az alábbi megjegyzést)
- Módosítsa a Leírás attribútum értékét saját belátása szerint.
Hozzon létre egy mappát sablonfájlokkal
A sablonfájlok külön mappában találhatók. A mappa nevének meg kell egyeznie a ListTemplate elem Name attribútumával. A mi esetünkben ez egy grafikonvétel. Hozzon létre egy mappát a sablonfájlokkal. Ehhez:
- Helyi_meghajtó nyitott mappát: \ Program Files \ Common Files \ Microsoft Shared \ web szerver bővítmények \ 60 \ template \ 1049 \ Site_Template_Name \ LISTS
- Ebben készítsen egy másolatot a szavazás mappáról. A példányok olyan nevet adnak meg, amely megfelel az új ListTemplate elem Name attribútumának. A mi esetünkben ez a név lesz grafvoting. Én annyira: helyi_meghajtó: \ Program Files \ Common Files \ Microsoft Shared \ web szerver bővítmények \ 60 \ template \ 1049 \ Site_Template_Name \ listájára \ GRAPHVOTING)
- Az új mappában nyissa meg a SCHEMA.xml fájlt
- Módosítsuk a List elem attribútumainak értékeit úgy, hogy megfeleljenek sablonunknak.
- Ellenőrizzük a módosítások helyességét. Ehhez:
- mentse az összes megnyitott fájlt
- indítsa újra a WSS-t
- a webböngészőben nyissa meg a SharePoint oldalt
- menjen a "Létrehozás"
A "Szavazások" szakasznak két elemet kell tartalmaznia: Poll és Grafikus közvélemény-kutatás. Ha ez így van, akkor minden rendben van.
Amikor megpróbálsz létrehozni egy grafikus szavazást, egy normál felmérés jön létre, azzal az egyetlen különbséggel, hogy az új szülői lista (BaseTemplate) szülő száma 102, nem 777.
Megjegyzés. Miért állítom be a Type attribútum értékét 777. A fenti cikkben a következő sorok vannak:
„Fontos a name attribútum kell állítani a pontos neve az új lista mappát. Azonosítani a listában, hozzá egy numerikus azonosító, amelyet nem használt máshol, és ez kevesebb, mint 1000 típusú attribútumot.”
Ennek alapján - a Type attribútum értéke egyedinek kell lennie, és kevesebb, mint 1000. Miért van a 777? Csak azt akartam, hogy J. A kutatás kezdetén, a 777 helyett 1020-at használtam. Ebben az esetben is működött, de ha megkérdezték, kevesebb legyen 1000-nél.
A lekérdezés létrehozása és a fájlok szerkesztése
A szakasz elején ismét megjegyzem, hogy közvélemény-kutatások feldolgozása eltér a hagyományos feldolgozási listák és kódot felelős ez a más fájlokat. A qstnew.aspx fájl felelős felmérési kérdések létrehozásáért. szerkesztésre - qstedit.aspx. Ezek a fájlok találhatók helyi_meghajtó mappát: \ Program Files \ Common Files \ Microsoft Shared \ web szerver bővítmények \ 60 \ template \ LAYOUTS \ 1049 \
Mivel a WSS verziók nem egyeznek meg, és ezért a programkód nem egyezik meg, a részletes leírás előtt adok általános verbális leírást a jövőbeli változásokról.
Feladatunk - grafikai lekérdezés esetén:
- bontsa ki a kérdésbeállítás HTML formáját egy mező hozzáadásával a kép URL-jéhez
- módosítsa az XML séma előkészítési eljárását, mielőtt elküldi azt a WSS szolgáltatásnak.
Mivel mindkét fájlban a munka logikája majdnem ugyanaz, azonnal megkezdjük a változtatásokat mindkét fájlra.
Most, amikor a grafikus lekérdezést használja, egy további mező jelenik meg a kép URL-jének beírásával (szerkesztésével).Az alábbiakban hozzáadjuk a kódot, hogy kivonjuk az URL-t az XML sémából:
Teszteld kiegészítőinket. Ehhez:
Arra a tényre jutottunk, hogy van egy új típusú lekérdezésünk, beállíthatjuk és szerkeszthetjük a további mező PictureURL értékét, de a szavazás során nem látunk képeket. Miért van így?
Az a helyzet, hogy a válasz szakaszban megjelenített forma nem jeleníti meg a képet. A helyzet kijavításához módosítania kell a Schema.xml fájlt, amely meghatározza a jövőbeli grafikus lekérdezések minden formáját. Ezt az alábbiakban ismertetjük.
Megjegyzés. talán a fenti teszt futtatása előtt újra kell indítania a WSS szolgáltatásokat. A teszt után törölheti a létrehozott szavazást. A következő szakaszban új szavazatokat készítünk.
Módosítsa a Shema.xml definíciós fájlt
Továbbra is változtatni helyi_meghajtó file: \ Program Files \ Common Files \ Microsoft Shared \ web szerver bővítmények \ 60 \ template \ 1049 \ Site_Template_Name \ LISTS \ GRAPHVOTING \ SCHEMA.xml.
A szerkesztés előtt meg szeretném adni egy célt. A szerkesztés célja egy: annak biztosítása, hogy a felmérésben résztvevő felhasználók láthassák a képet.
A Schema.xml fájl meglehetősen nagy, és egyszerűbbé teszi a szerkesztés helyét, egyszerű technikát használunk:
- Nyissa meg a Schema.xml fájlt
- Meg fogjuk találni a "Visszatérés a felmérés" sor minden előfordulását. Ebben az esetben nem ismétlődő számokat adunk minden egyes sorhoz. Az első talált vonalhoz adjon 1-et, a második 2-hez, és így tovább. Hat bejegyzésem van.
- Megmentjük a rendszert
- Indítsa újra a SharePoint szolgáltatást.
- Frissítse felmérési oldalunkat (Ctrl + F5)
- A frissített oldalon megjelenik a "Visszatérés a felméréshez" felirat és néhány szám. A 6-os számot kaptam. Tehát változtatni kell ezen nagyon "hat" területen.
- Kezdjük a sémafájl szerkesztését
- Találjuk meg a "Vissza a Poll6-hoz" lehetőséget.
- Az alábbiakban megtaláljuk a címkét
. A ListFormBody elemen belül megtalálható a "Válasz erre a szavazásra" oldal sablonja. - Ezután cserélje ki a szöveget a címkék között
és . az ilyen tartalmakról:
Ebben a töredékben kicsit megváltoztattuk az asztalt, amellyel a kérdés megjelenése alakult ki. Az asztalhoz egy új cellát adtunk hozzá, amelyre a képet kinyomtatjuk. A kép URL-címét a PictureURL attribútumból a Tulajdonságelem segítségével kapjuk meg:
Ennek során meg fogjuk határozni, hogy a képet egyáltalán beillesszük-e. Ha a PicrtureURL attribútum értéke üres, akkor nem adjuk ki. Az ellenőrzés a következő struktúrával végezhető el:
következtetés
Ez a cikk egy példa a Windows SharePoint Services 2.0 funkcionalitásának kiterjesztéséről, amely bemutatja az eszköz nyitottságát és nyújthatóságát.
Tisztelettel, Udalov Maxim