VSEWSS - Solution.xml szerkesztési hiba
A Visual Studio 2005-ös változatához megjelent egy Windows Sharepoint Service 3.0 testreszabást segítő kiegészítés.
A kiegészítés első látásra egészen jól sikerült, a webhely deploymentet kiválóan támogatja, azonban az editor részének vannak problémái.
Az egyik legnagyobb hibája, ami igen sok fejtörést és végeláthatatlan hibakeresést tud okozni a fejlesztőknek, a projekt tulajdonságok között a Sharepoint Solutions fülön lévő beállítások kezelése. A probléma, hogy a tool nem menti és módosulás esetén nem is olvassa be ezeket az információkat.
Ide tartozik például az elementmanifest.xml fájl tartalma is, ami teljesen a solution adatokból képződik. Javasolt, direktben a projekt mappában lévő solution.xml fájl szerkesztése, mert az üzembiztosan működik.
Valós példa a probléma felmerülésére
Feladat, hogy bővítsük a webhelysablonunkból létrejövő adott listának az eszköztárát egy új gombbal. Ezt CustomAction létrehozásával tehetjük meg, amit vagy a ContentType-hoz, vagy magához a List típushoz adhatunk hozzá.
Jó eséllyel a mi listánk ha normál listáról van szó alapból a 100-as type értéket kapja, amit ha beírunk a CustomAction RegistrationId mezőjébe, akkor sikeresen az összes listához hozzávarjuk gombunkat.
Ezért aztán meg kellene változtatni kiszemelt listánk Type értékét. Ha jól megnézzük, akkor a listánk schema.xml-jében van egy type mezője a List root tagnek, amit ha átállítunk, és ezt az új értéket írjuk be a CustomAction RegistrationId mezőjébe a gombunknak nyomavész.
Ha deploy-oljuk a webhelyet, akkor a listánk feature -e létrejön a %commonprogramfiles%\Microsoft Shared\Web Service Extensions\12\Template\Features mappában egy listanévhez csatolt GUID nevű mappában*. Ha belekukkolunk a mappába, akkor itt megtaláljuk az elementmanifest.xml nevű fájlunkat, amit a VSEWSS készített a projekt adatok alapján. Na itt lesz a mi problémánk. Az ebben látható Type mező értéke ugyanis száz maradt...
Ekkor kell visszakavarodnunk a Visual Studióba, pontosabban oda nem, mert hibás a VSE WSS add-on, ehelyett kell előrántanunk kedvenc Notepad-ünket és a project mappában megnyitni a solution.xml fájlt és a listánkhoz tartozó featrue bejegyzésétnél meg kell módosítanunk az elementmanifest tag type mezőjét a kiszemelt lista típus értékre.
Ezután a gombunk már csak ezen az egy listatípuson fog megjelenni... Általános érvényűnek azonban elfogadhatjuk, hogy a VSEWSS projekt tulajdonság szerkesztője jelenleg nem használható, legalábbis akkor nem, ha időt és energiát szeretnénk spórolni.
* A VSE WSS az egyes feature neveket úgy képzi, hogy a listánk, contenttype-unk, stb. nevét veszi előre, majd az objektum schema.xml-jében commentként szereplő _uniqueid mező értékét teszi. Ezt a sort ezért soha ne töröljük ki a schema.xml fájlokból, mert gyakorlatilag lehetetlen visszaírni.
|