Archívy kategórie: SharePoint

Riešení problémov s tajomnou SharePoint.

Prehľad:

Ladenie je ťažké pri vytváraní vlastnej funkcie služieb Windows SharePoint Services 3.0 (WSS) alebo Microsoft Office SharePoint Server (MACHY). Hlavným vinníkom je, že SharePoint zvyčajne povrchy málo diagnostické informácie na webovom prehliadači pri výskyte chyby. Tento blog vstupe popisuje vyhľadajte ďalšie vygenerované systémom diagnostické informácie, ktoré môžu často poskytnúť to navyše trochu detail, že jeden potrebuje určiť príčiny. To môže viesť k vyriešeniu problému.

Použil som túto techniku s veľkým úspechom vyriešiť inak záhadné chyby.

Prístup:

SharePoint ukladá veľké množstvo informácií na diagnostický denník do súboru denníka v 12 úľ.

"12 úľ" je zvyčajne umiestnený v "C:\Programu FilesCommon FilesMicrosoft SharedWeb Server Extensions12 ". (Nie som si istý, či je možné 12 úľ žiť nikde inde, v skutočnosti).

Cieľom je nájsť aktuálny súbor denníka, účinnosti chybu, a potom rýchlo otvoriť súbor denníka. Tieto protokoly sú charakterizované:

  • Veľkým množstvom informácií. SharePoint vytvára veľmi veľké množstvo diagnostické informácie a zapíše ho do súboru denníka veľmi rýchlo. Musíte byť rýchly, s prstami zachytiť.
  • Mnohorakosť. SharePoint nebude písať do jedného súboru denníka, ale skôr vytvára viacero súborov denníka v poradí.
  • Skopírujte a prilepte pekne do MS Excel.

Môj obľúbený spôsob:

  1. Otvoriť Prieskumník poukazuje na 12 hivelogs.
  2. Zoradiť zobrazenie podľa dátumu úpravy (Najnovšie prvé).
  3. Zvýraznite najviac aktuálny súbor denníka.
  4. V okne webového prehľadávača, sila chyby sa vyskytujú.
  5. Rýchlo otvoriť aktuálny súbor denníka a skopírujte jeho obsah do MS Excel.
  6. Prejsť na koniec a analyzovať relevantné údaje.

Iné poznámky:

V predvolenom nastavení, v diagnostickom denníku sa nachádza v 12 hiveLOGS adresári.

MS Best practices (podľa Mike T. Microsoft) štátu, ktoré log súbory by mal byť uložený na samostatný pevný disk. Robí to prostredníctvom centrálnej správy. Správca systému môže nespravili, v takom prípade by samozrejme musíte nájsť súbor denníka tam namiesto predvoleného 12 umiestnenie úľa).

Táto položka zaoberá otázkami, ako napríklad:

  • SharePoint pracovného postupu sa nepodarilo spustiť kvôli internej chybe.
  • (viac pridané v priebehu času)
  • Tento záznam bol užitočný diagnostikovanie chýb pracovného postupu (napr.. "Toku činností sa nepodarilo spustiť kvôli internej chybe").

MACHY: Efektívne úvode organizáciu

(Táto položka kríž Publikované medzi http://paulgalvin.spaces.live.com/blog/ a http://blogs.conchango.com)

Na príspevky na tejto stránke sú moje vlastné a nemusia nevyhnutne predstavovať Conchango na pozície, stratégií alebo stanoviská.

Prehľad:

Táto položka popisuje niektoré základné informácie o veľké (3,000 užívatelia) Program Microsoft Office SharePoint Server (MACHY) zavádzanie a čo sme si projekt koľajových takým spôsobom, že klient je šťastný a pevne nadol cestu ktorá končí úplného prijatia sadu MOSS. Rovnako ako písanie vstup, sme asi 50% kompletný s prvej fázy projektu. Ako to prebieha, Budem aktualizovať tento záznam alebo napísať nové položky.

V tomto konkrétnom prípade, spoločnosť mal už nainštalovaný SharePoint Portal Server 2003. Skupine je nainštalovaný produkt v akejsi "Pozrime sa, ak niekto stará" móda. To rýchlo prijala mnoho firemných užívateľov a stal sa docela populárny vo veľkom podniku. Ako si dokážete predstaviť, to nebolo najlepšie zavádzanie stratégie (ktoré klient ochotne pripúšťa) a keď MOSS dorazil na scénu, klient sa rozhodol "to pravé" a najal nás pomôcť im.

Jedným z centrálne otázky pred nami stojí, keď sme začali realizáciou tohto projektu bolo: Ako sme sa zaviesť MOSS klient? Vzhľadom k tomu, že klient už mal skúsenosti so službou SharePoint, Zaujímalo nás — potrebujeme urobiť "diferenciálnej" školenia alebo si môžeme začať od základov? Po práci s kľúč užívateľov, Zistili sme, že liečbe tejto zelenej lúke projekt viac zmysel.

Rozhodnutia dal východisko, ale stále nás opustila s hlavnou požiadavkou zisťuje dobrú stratégiu pre koľajové MOSS podniku. MOSS je také veľké zviera … To zahŕňa správu obsahu, Správa dokumentov, Hľadať, bezpečnosť, zameranie na cieľovú skupinu, Projektový manažment, "vynikajúce forty" šablóny, pracovný postup, obchodné údaje konektora, atď. Pár toto s tým, že je to veľké organizácie, môžete skutočne využiť prakticky vo všetkých hlavných MOSS funkciu a máte kúzliť veľký projekt s enterprise reach a veľa dobrých vecí sa deje.

Sme ste konfrontovaní s touto otázkou znova a znova … MOSS má podnik dosiahnuť s jeho podnik rys-súbor, ešte aj trochu sofistikované klienti majú ťažko psychicky absorbovať tieto funkcie, nechať samotné začlenenie značná časť z nich do svojho denného režimu.

Nemusíte mať magické riešenie problému. Namiesto toho sa budem zaoberať len úplne prvé kroky, ktoré sme prijali s klientom viesť na ceste k úspešnej dlhodobej prijatie.

Rozsah pôsobnosti:

Rovnako ako som chcel tím zostaviť plán projektu, ktoré zahŕňali tieto míľniky ako "PoepleSoft integrácie prostredníctvom BDC ukončená", "Nové Cross-oddelenie produktu spustenie toku činností kompletný" a "Výkonný riadiaci KPI prijal", Musel som sa uspokojiť s niečím menej. To však neznamená, že "menej" je to zlé. v skutočnosti, menej"" že sme sa rozhodli pre počiatočné zavádzanie bola míle pred kde boli predtým, než sme začali. V našom prípade, menej"" premenil:

  • Správa jednoduchých dokumentov pomocou knižnice dokumentov, verzia kontroly a obsah typy.
  • Efektívne vyhľadávanie založené na typoch obsahu a prispôsobiť Rozšírené vyhľadávanie (pomocou spravovaných vlastností, XSLT pekné výsledky, atď).

Okrem vyššie uvedených funkcií podnik-široký (čo znamená, že sa váľa na všetkých oddeleniach a užívateľov), pridali sme tieto ojedinelý v rozsahu mini-projekty:

  • Dôkazov o koncepcii BDC integrácie.
  • Multi-krokom a multi-pobočka pracovného postupu vytvorené pomocou JPD.
  • Komplex formulára programu InfoPath.
  • Povrch KPI je nejaký obchodný proces (v našom prípade asi HR talent akvizícia, Hoci sa to môže zmeniť).

Rozsah tu nie je 100% presné ale zástupcom náš prístup a dostatočný pre moje účely tu., ktorý je vysvetliť, čo považujem za "účinné" zavedenie Mach, ktorý sa nastaví klient pevne nadol zlatá cesta plná MOSS prijatie.

Nebudem písať oveľa viac o ojedinelý v tejto položke. Chcem poukázať na to, že sú súčasťou našej preklenovacom stratégie. Cieľom je zaviesť jadro riadenia a hľadať funkcií dokumentu pre všetkých používateľov, ale poskytujú vysoko funkčné, vysoko viditeľný a veľmi reprezentatívne príklady ďalších funkcií jadra Mach, ktoré sú jednoducho mimo väčšina užívateľov schopnosť absorbovať v tomto skorom štádiu. Avšak, budú "tam vonku" a jeden dúfa, že ostatné organizačné jednotky budú vedieť alebo dozvedieť sa o nich a chcú tieto funkcie pre seba, vedie k väčšej prijatie. Tieto úspechy ojedinelého tiež slúžia ako náš tím predaja "strelivo" za úspešne druhé víťazstvo, tretej a n-fáza projektov.

Čo si máme predstaviť a prečo?

Majú usadil na správu dokumentov a hľadať ako základnú požiadavku podnik-široký, potrebovali sme začať zhromažďovať Podrobnosti. Ako praktickú záležitosť, to sa točí okolo pochopenie svojich dokumentoch a nakoniec priradenom k pochopeniu typy obsahu.

Zistil som, že je ťažké vysvetliť typy obsahu bez vizuálny pomocníci. Ďalšie technické ľudových odísť z diskusie o typy obsahu pri CT sú opísané databázy. "A CT je podobná tabuľke databázy, má stĺpce a stĺpcov sú definované typy údajov, ale CT typy údajov obsahovať viac než jednoduché celé číslo a dátum, ale aj "voľba" a "vyhľadávanie" a podobne." Môžeme hovoriť o "rozšírenie" typy obsahu, Podobne ako jeden môže Zdediť funkčnosť v základnej triede v objektovo orientované jazyky. Ale to zrejme nie užitočné pre dopravné oddelenie admin, kto nemá žiadne technické zázemie. T. j., takmer všetci, že záležitosti v MOSS rollout.

Biela doska je ošemetná. Som predložil myšlienku typu obsahu a ťahané brilantné (alebo tak nejako sa zdajú byť) fotky z typov obsahu a čo robia pre vás z hľadiska Hľadať a ako môže byť rozšírená, atď. V závere, to pocit, že niektoré žiarovky obrátili, ale výsledný obraz biela doska je neporiadok.

To nás viedlo k našej súčasnej a tak ďaleko najúčinnejšia pristávacie miesto: MOSS pieskovisko lokalite nakonfigurovanej Ukázať tieto funkcie.

Pieskovisko lokality, sme demonštrovať:

  • Typy obsahu:
    • Vytvorenie CT s viacero typov údajov (text, dátum, výber, Boolovská hodnota, vyhľadávanie, atď).
    • Rozšírenie CT vytvorením nové CT na základe rodič.
    • Vyhľadávanie dokumentov pomocou CT metaúdajov.
  • Knižnice dokumentov:
    • Priradenie jednej CT knižnice.
    • Čo sa stane, keď sme sa nahrať dokument do knižnice?
    • Združujúcich viacero CT knižnice doc.
    • Čo sa stane, keď sme sa nahrať dokument do knižnice?
    • Filtrovanie a triedenie cez nadpisy stĺpcov knižnica dokumentov.
    • Zobrazenia knižnice dokumentov:
      • Triedenie
      • Zoskupenie
      • "Rýchly vstup" (zobrazenie údajov hárka)
      • "Netagovanými údajmi" (pomôcť s migráciou do MACHU z iných zdrojov obsahu; viac o tom nižšie).

Sandbox stránky:

Sme navrhnuté naše pieskovisko stránky byť stálou vo vývojovom prostredí majú byť použité pre účely školenia dlho potom, čo sme dokončiť projekt a zahrnuté niektoré artefakty opísané:

Typy obsahu:

Sme definované nasledovné typy obsahu: Faktúry, Nákupná objednávka, Faktúra za služby.

Vybrali sme faktúry a nákupné objednávky, pretože oni sú viac či menej všeobecne pod
stál subjektov. Všetci v podnikaní chápe, že faktúra je žiadosť o platbu na zákazník pre výška vydané na určitú dátum vyplatiť podľa niektorých platobné podmienky. To vedie k prírodné definícia CT, ktorý sme nazvali "školenia faktúry" (na odlíšenie od akéhokoľvek druhu faktúry). Nákupná objednávka je podobne ľahko definovať. Sme tiež vytvorili "školenia faktúra za služby" tým, že vytvorí nové CT založené na "školenia faktúry" CT a pridané len jeden stĺpec, "poskytnuté služby".

S vyššie uvedeným, Teraz môžeme demonštrovať niektoré kľúčové črty CT bez zapleteniu snaží vysvetliť prvá abstraktný pojem; všetci už chápe, čo máme na mysli "faktúry" a "nákupnej objednávky" a namiesto toho sú schopní zamerať na mechaniky CT sám.

Vlastné zoznamy:

CT sa stĺpce typu "vyhľadávanie" ukážte na vlastný zoznam alebo knižnica dokumentov. Používame extenzívne a pieskovisko, vytvorili sme jednu podporuje vlastný zoznam, ktorý obsahuje zákazníkov. Sme vybrali Zákazníci, pretože je to jednoduchý koncept pochopiť, a ľahko preukázať. Faktúra CT má stĺpec, "zákazník" že je definovaný typ "vyhľadávanie" poukazuje na tento zoznam.

Vytvorili sme podobný vlastný zoznam riadiť "predajcovia" pre nákupnú objednávku"" CT.

Knižnice dokumentov:

Vytvorili sme dve knižnice dokumentov: "Faktúry" rozmiešať "dokumenty".

Sme nakonfigurovaný knižnicu dokumentov faktúr zvládať len dokumenty typu CT "Faktúry".

Sme nakonfigurovaný "zmiešané dokumenty" knižnica na správu všetkých troch CT.

Vytvoriť niekoľko zobrazení, ktoré ukazujú, triedenie, filtrovanie, súdajmi a zakladateľskej zmluve.

Hľadať:

Sme definované dva nové spravované vlastnosti a priradiť číslo faktúry a zákazník.

Sme vytvorili nový web Hľadať prispôsobený vopred a upravil ju povoliť používateľom vyhľadávanie "faktúry" pomocou týchto dvoch priradené vlastnosti.

Upraviť XSLT tak, že číslo faktúry a zákazník, Ak sú k dispozícii, v HTML tabuľky vo svetlej farbe. Cieľom je preukázať, že takéto formátovanie je možné.

Dať to všetko dohromady:

Zabezpečíme pre kľúčových užívateľov podieľať demo.

Budeme sledovať tento jednoduchý skript:

  1. Popíšte význam a účel CT, pomocou faktúr a nákupných objednávok ako príklady.
  2. Zobraziť faktúru CT definície, zatiaľ čo súčasne uistiť sa, že nemám potrebu používať tieto obrazovky sami, Stačí zdvihnúť pojmy.
  3. Prejdite na knižnicu dokumentov faktúr.
  4. Odovzdať dokument.
  5. Preukázať, že zákazník kvapka-down je naozaj získavané z vlastného zoznamu.
  6. Pridanie nového zákazníka do zoznamu zákazníkov a potom aktualizovať nedávno nahral faktúry meta dáta s novo vytvorené zákazníka.
  7. Prepnúť do "zmiešané dokumenty" Knižnica a nahrať dokument. Vysvetliť, ako systém zobrazí výzvu na zadanie typu dokumentu.
  8. Prejsť späť do knižnice dokumentov faktúry a Zobraziť ako kliknutím na názov stĺpca sa zmení poradie zoradenia.
  9. Preukázať stĺpec-úroveň filtrovania.
  10. Ukázať rôzne názory, ktoré preukazujú viacúrovňové triedenie, filtrovanie a zoskupovanie.
  11. Zobraziť údaje hárka.
  12. Vysvetlenie účelu "netagovaných dokumentoch" zobrazenie.
  13. Prejsť na vlastné pokročilé vyhľadávanie.
  14. Teraz, Nedávno nahrali dokument by mal mať prechádzať a indexovať, Takže vyhľadávanie že demonštruje schopnosť vyhľadajte danú faktúru cez vlastnosť priradenú.
  15. Ukážeme rozdiel medzi vyhľadávanie cez priradené vlastnosti vs. len textové vyhľadávanie.

V tomto momente, viacmenej sme hotoví s demo. Zdá sa, že trvá asi 30 na 45 minút, podľa toho, ako veľa otázok opýtať ľudí.

Potom poslať späť k stolom s "domáce". To sa skladá z jednoduchej tabuľky, kde sme požiadať, aby pre nás definovať, čo si myslia, že potrebujú, pokiaľ ide o CT, na vysokej úrovni (len meno a účel) stĺpce a typ údajov by ukladať v stĺpci. Sme mohli definovať typy údajov stĺpca hľadiska MOSS nepýtajte, ale obchodné podmienky.

Zhrnutie:

Vytvorili sme pieskovisku prostredie, ktoré môžeme použiť na preukázanie niektoré základné funkcie MOSS ktorého odvolanie je podnik-široký.

Sme modelovaných ľahko zrozumiteľné a spoločných podnikateľských subjektov, aby používatelia mohli sústrediť na MOSS a nie je zabřednout subjektom / Príklady sami.

Podnikoví používatelia odísť z téz sedenie s "domácu úlohu" vo forme excel dokumenty, ktoré sú teraz zodpovedné vyplniť a použitie pre vytváranie svoje vlastné typy obsahu prvého rezaný.

Nakoniec, ako vykonávame dema v priebehu času, klienta tím samotní členovia sa stal viac schopný účtovne, demo na seba a vo všeobecnosti uvoľniť až zvyšok z nás pracovať na zložitejšie problémy, ako sú globálnych taxonómie, komplexné pracovné postupy, BDC a podobne.

MACHY: Funkčné príklad – vlastným typom údajov

Obchodné scenáre:

Podnik-široký plnenie Moss výrobná firma s 30+ stránky a pár desiatok firemné oddelenia.

Obchodný cieľ:

Napriek tomu veľké množstvo obchodných skupín (oddelenia, umiestnenie, atď), určité údaje zachovali na globálnej úrovni. Napríklad, autoritatívne hlavný zoznam všetky fyzické umiestnenie firmy (napr.. výrobné zariadenia, miesta skladu, predajných miest) treba zachovať v centre mesta.

Technický problém:

Podnik taxonómie bola vykonaná pomocou viacerých kolekcií lokalít. By sme si želali vytvoriť autoritatívnu zoznam fyzické umiestnenie vlastného zoznamu WSS. Potom, keď sme potrebovali mať stĺpec typu obsahu (alebo stĺpec pridať do knižnice, zoznam alebo doc) ktorý obsahoval firemné miesta, by sme vytvoriť stĺpec pomocou vyhľadávania"" údajový typ a prejdite na tento nadradený zoznam.

Bohužiaľ, dátové typy vyhľadávania musí pristupovať zdroj zoznamu "lokálne" čo znamená, že naše autoritatívne zoznamu nemôžu byť kolekcie lokalít.

Technické riešenie:

Implementovať nový vlastný typ údajov vykonávané na základe SPField a predstavoval ako DropDownList v UI ktorého ListItems naplnenie z hlavného zoznamu WSS.

Vytvorili sme novú kolekciu lokalít s názvom "http://localhost/EnterpriseData". Tam, sme vytvorili vlastný zoznam s názvom "Corporate umiestnenie". Tento zoznam len používa štandardný názov"" pole obsahuje zoznam skutočných miest, firemné.

Jeden nadväzuje niekoľko samostatných krokov vytvoriť vlastný typ údajov v WSS. Sú:

  1. Definovať trieda, ktorá dedí od SPField (jeden môže zdediť od iných oblastiach v prípade potreby).

Tu je kód, ktorý:

verejné trieda XYZZYCorporateLocationField : SPFieldText
{
verejné XYZZYCorporateLocationField
(SPFieldCollection polia, reťazec atribút typeName, reťazec displayName)
: base(polia, atribút typeName, displayName) { }

verejné XYZZYCorporateLocationField
(SPFieldCollection polia, reťazec displayName)
: base(polia, displayName) { }

verejné override BaseFieldControl FieldRenderingControl
{
get
{
BaseFieldControl Kontrola = nové XYZZYCorporateLocationFieldControl();
Ovládací prvok. NázovPoľa = this.InternalName;
return ovládanie;
} //get
} // fieldrenderingcontrol

verejné override reťazec GetValidatedString(object hodnota)
{
Ak (this.Požadované || hodnota. ToString().Equals(String.Empty))
{
throw nové SPFieldValidationException ("Oddelenie nie je priradený.");
}
return base.GetValidatedString(hodnota);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Define another class that inherits from the base field control, rovnako ako v:

verejné trieda XYZZYCorporateLocationFieldControl : BaseFieldControl
{
protected DropDownList XYZZYCorporateLocationSelector;

protected override reťazec DefaultTemplateName
{
get
{
return "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

verejné override object Hodnota
{
get
{
EnsureChildControls();
return this.XYZZYCorporateLocationSelector.SelectedValue;
} // get
set
{
EnsureChildControls();
this.XYZZYCorporateLocationSelector.SelectedValue = (reťazec)this.ItemFieldValue;
} // set
} // prepísať hodnotu objektu

protected override neplatné CreateChildControls()
{

Ak (this.Pole == null || this.ControlMode == SPControlMode.Display)
return;

base.CreateChildControls();

this.XYZZYCorporateLocationSelector =
(DropDownList)TemplateContainer.FindControl("XYZZYCorporateLocationSelector");

Ak (this.XYZZYCorporateLocationSelector == null)
throw nové Exception("ERROR: Nedá sa načítať. Súbore ASCX!");

Ak (!this.Page.IsPostBack)
{

pomocou (SPSite stránky = nové SPSite("http://localhost/enterprisedata"))
{
pomocou (SPWeb webové stránky =. OpenWeb())
{

SPList currentList = web. Zoznamy["Firemné miesta"];

foreach (SPItem XYZZYCorporateLocation v currentList.Items)
{
Ak (XYZZYCorporateLocation[„Hlava"] == null) pokračovať;

reťazec theTitle;
theTitle = XYZZYCorporateLocation[„Hlava"].ToString();

this.XYZZYCorporateLocationSelector.Items.Add
(nové ListItem(theTitle, theTitle));

} // foreach

} // pomocou spweb web = site.openweb()
} // pomocou spsite stránky = nové spsite("http://localhost/enterprisedata")

} // Ak nie spätného odosielania

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

Vyššie uvedený kód podstate implementuje logika pre naplnenie DropDownList s hodnotami zo zoznamu vlastných WSS nachádza v http://localhost/enterprisedata a s názvom "firemné oddelenia".

I definovaný oboch tried v súbore .cs jednotného, zostavené a dať ju do GAC (silné požadované, samozrejme).

  1. Vykonávať kontrolu šablóny (.ascx) ako je uvedené:

<%@ Ovládanie Jazyk= "C#" Dedí="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Verzia = 12.0.0.0, kultúra = neutrálny,PublicKeyToken = 71e9bce111e9429c" compilationMode= "Vždy" %>
<%
@ Zaregistrovať sa TagPrefix= "wssawc" Namespace="Microsoft.SharePoint.WebControls" Montáž="Microsoft.SharePoint, Verzia = 12.0.0.0, Kultúra = neutrálne, PublicKeyToken = 71e9bce111e9429c" %> <%@ Zaregistrovať sa TagPrefix= "SharePoint" Namespace="Microsoft.SharePoint.WebControls" Montáž="Microsoft.SharePoint, Verzia = 12.0.0.0, Kultúra = neutrálne, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:Šablónu vykresľovania ID= "XYZZYCorporateLocationFieldControl" HTML runat= "server">
<Šablóny>
<ASP:DropDownList ID= "XYZZYCorporateLocationSelector" HTML runat= "server" />
</Šablóny>
</
SharePoint:Šablónu vykresľovania>

Vyššie uvedené je uložený do c:\Program filescommon filesmicrosoft sharedweb server extensions12controltemplates.

  1. Nakoniec, sme vytvoriť XML súbor uložiť do... 12XML adresár. Toto je CAML, ktorá definuje naše vlastné údaje typu a pre môj príklad, Vyzerá to:

<?XML verzia="1.0" kódovanie="UTF-8" ?>
<
Typy polí>
<
FieldType>
<
Pole meno="Atribút TypeName">CorporateLocations</Pole>
<
Pole meno="Nadradený typ">Text</Pole>
<
Pole meno="TypeDisplayName">Firemné miesta</Pole>
<
Pole meno="TypeShortDescription">Všetky firemné xyzzy MINOVÉHO miestach vrátane výrobných a iných zariadení.</Pole>
<
Pole meno="UserCreatable">PRAVDA</Pole>
<
Pole meno="ShowInListCreate">PRAVDA</Pole>
<
Pole meno="ShowInDocumentLibraryCreate">PRAVDA</Pole>
<
Pole meno="ShowInSurveyCreate">PRAVDA</Pole>
<
Pole meno="ShowInColumnTemplateCreate">PRAVDA</Pole>
<
Pole meno="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Verzia = 1.0.0.0, Kultúra = neutrálne, PublicKeyToken = b0b19e85410990c4</Pole>
<
RenderPattern meno="DisplayPattern">
<
Prepínač>
<
Expr>
<
Stĺpec />
</
Expr>

<Prípad Hodnota=""/>

<Predvolené>
<
HTML>
<![CDATA[
<rozpätie štýl = "Farba:Red"><b>]]>
</
HTML>

<
Stĺpec SubColumnNumber="0" HTMLEncode="PRAVDA"/>

<HTML><![CDATA[</b></span>]]></HTML>

</
Predvolené>
</
Prepínač>

</
RenderPattern>
</
FieldType>
</
Typy polí>
Tento XML súbor pridá aktuálny typ údajov WSS "Knižnica" a to sa zápasy proti GAC mal zhromaždenia.

Po presťahovaní všetky tieto kúsky na miesto, iisreset na serveri a to mali všetci začať práca pekne.

MACHY: Aktualizovanie vlastného zoznamu

Existuje mnoho dobrých príkladov aktualizácie vlastných zoznamov pomocou súpravy SDK. Tu je ďalší.

Obchodné problém: Formulár programu InfoPath bol navrhnutý tak, že umožňuje používateľom zadať online nákup rekvizície. PO požiadaviek čísla by mala byť tradičné postupnosti založené celočíselné hodnoty a vypočítať automaticky.

Obchodné riešenia: Vytvorenie vlastného zoznamu MOSS obsahujúce dva stĺpce: "ControlField" a "ControlValue". Hodnota stĺpca obsahuje ďalšie číslo nákupnej žiadanky. Všimnite si, že generic "ovládanie" konvencia poskytuje pre budúce kontroly polia, ktoré môžu byť použité podľa potreby.

Technické riešenie: Vytvorenie webovej služby prístupné klientovi programu InfoPath. Webová služba vráti späť ďalšie číslo nákupnej žiadanky a aktualizuje hodnotu zoznamu.

Poučenie:

  • Pri pridávaní túto webovú službu ako zdroj údajov pre formulár programu InfoPath, Som zistil, že je potrebné previesť ju MDT a uložte ho do knižnice pripojenia údajov.
  • Som tiež zistil, že potrebné skriptovania cez domény cez centrálne služby správy // Správa aplikácií // formulár servera.
  • Prvýkrát forme sa snažil získať prístup k webovej službe, chvíľu to trvá a príležitostne, to by časový limit uplynul. Som si pohrávala s nastavením v konfigurácii servera formulár rozširovať nastavenia časového limitu a ktoré zrejme pomôcť.

Kód:

pomocou Systém;
pomocou System.Web;
pomocou System.Web.Services;
pomocou System.Web.Services.Protocols;
pomocou Microsoft.SharePoint;
pomocou System.Configuration;

[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
verejné trieda PoService : System.Web.Services.WebService
{
verejné PoService () {

//Odkomentovat nasledujúci riadok, ak používate navrhnuté súčasti
//InitializeComponent();
}

/// <Zhrnutie>
/// Získať ďalšie PO číslo zo zoznamu lokality sharepoint po číslo kontroly.
/// Prírastok číslo nákupnej objednávky v tomto zozname.
/// </Zhrnutie>
/// <Vráti></Vráti>
[WebMethod]
verejné reťazec GetNextPoNumber()
{
reťazec SpPoControlSiteName; // Názov aktuálnej stránky MOSS, ktorá je hostiteľom zoznamu PO.
reťazec SpPoControlListName; // Meno skutočného MOSS zoznam obsahujúci Po kontrole.

SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();

reťazec nextPoReqNumber = "xyzzy minového";

pomocou (SPSite stránky = nové SPSite(SpPoControlSiteName))
{
pomocou (SPWeb webové stránky =. OpenWeb())
{

SPList currentList = web. Zoznamy[SpPoControlListName];

foreach (SPItem controlItem v currentList.Items)
{

Ak (((reťazec)controlItem["ControlField"]).Equals("NextPoNumber"))
{
nextPoReqNumber = (reťazec)controlItem["ControlValue"];

int int_nextPoReqNumber;
int_nextPoReqNumber = Previesť.ToInt32(nextPoReqNumber);

int_nextPoReqNumber ;

controlItem["ControlValue"] = int_nextPoReqNumber;
controlItem.Update();
}

} // Umiestnenie, čítanie a aktualizácia číslo nákupnej objednávky v zozname.


} // pomocou spweb web = site.openweb()
} // pomocou spsite stránky = nové spsite("http://localhost/mizuho")

return nextPoReqNumber;

}
}