Kategooria Arhiiv: SharePointi

Tõrkeotsing salapärane SharePoint vead.

Ülevaade:

Silumine on raske, kui arendada kohandatud funktsioonid Windows SharePoint Services 3.0 (WSS-I) või Microsoft Office SharePoint Server (MOSS). Peamine süüdlane on, et SharePointi tavaliselt tasapind väga vähe diagnostiline teave veebibrauseri kohta tõrke ilmnemisel. See blogi kirjeldatakse täiendavad süsteemi loodud diagnostilise teabe leidmiseks mida annab sageli et ekstra detail, et üks bit vajab sügavamate põhjuste väljaselgitamiseks. Siis võib see viia probleemi lahendamine.

Olen kasutanud seda tehnikat suure eduga lahendada teisiti salapärane vead.

Lähenemine:

SharePoint salvestab palju teavet diagnostic log log faili ning 12 taru.

"12 taru" asub tavaliselt "c:\Program FilesCommon FilesMicrosoft SharedWeb Server Extensions12 ". (Ma ei ole kindel, kas see on võimalik, et 12 taru elada kuskil mujal, Tegelikult).

Mõte on leida praeguse logifaili, kehtiva viga ja seejärel kiiresti avada logifail. Need logifailid iseloomustab:

  • Rohke teabe. SharePointi tekitab väga suurel hulgal diagnostikateabe ja kirjutab väga kiiresti seda logifaili. Sa pead olema kiire lugemisseadet sõrmedega.
  • Keeleline mitmekesisus. SharePointi kirjuta ühe logifaili, kuid pigem tekitab järjest mitu logifailid.
  • Kopeeri ja kleebi kenasti MS Excel.

Minu lemmik meetod:

  1. Ava windows explorer, osutades selle 12 hivelogs.
  2. Kuva muutmiskuupäeva järgi sortida (kõige uuemad esmalt).
  3. Tõsta esile kõige värskemad logifail.
  4. Web browser aknas, sundida viga esineb.
  5. Kiiresti avada praeguse logifaili ja selle sisu kopeerimine MS Exceli.
  6. Hüpata lõppu ja analüüsida vastavaid kandeid.

Muud märkused:

Vaikimisi, diagnostikalogi asub selle 12 hiveLOGS kataloog.

MS Best tavad (nagu iga Mike T. Microsoft) et logifailid salvestatakse eraldi kõvakettale. Üks teeb seda administreerimiskeskuse kaudu. Teie süsteemiadministraator võib seda teinud, siis oleks ilmselt vaja leida logifaili seal asemel vaikimisi 12 taru asukoht).

Sissekanne käsitletakse küsimusi nagu:

  • SharePointi töövoo ei käivitunud sisemise tõrke tõttu.
  • (rohkem lisada aja jooksul)
  • See kirje on kasulik diagnoosimiseks töövoo vead (näiteks. "Töövoogu ei saanud sisemise tõrke tõttu alustada").

MOSS: Tõhus Sissejuhatus organisatsioon

(cross lähetatud vahel sissekanne http://paulgalvin.spaces.live.com/blog/ ja http://blogs.conchango.com)

Postitused sellel saidil on minu oma ja ei esinda tingimata Conchango's seisukohad, strateegiaid või arvamused.

Ülevaade:

See kirje kirjeldab mõned tausta infot suur (3,000 kasutajatele) Microsoft Office SharePoint Server (MOSS) levikuga ja me ei saada jooksvalt nii, et klient oleks rahul ja kindlalt ette tee projekti mis lõpeb täielikku rakendamist funktsioonikogum MOSS. Alates kirjalikult kanne, Meil on umbes 50% koos esimese etapi projekti. Nagu asjad edu, Ma tulen Uuenda kande ja/või kirjutada uusi kirjeid.

Sellel konkreetsel juhul, ettevõttel oli juba installitud SharePoint Portal Server 2003. IT grupi installitud toote omamoodi "vaatame, kui keegi hoolib" mood. Vastu võtnud paljude ärikasutajatele ja sai üsna populaarne osavõttu ettevõttele. Nagu võite ette kujutada, see polnud parim levikuga strateegia (mida klient kergesti möönab) ja kui SAMMAL saabusid, kliendi otsustanud "Kas on õige" ja palgatud meid aidata neil.

Üks keskne küsimus meie ees, kui me hakkasime projekti rakendamisel oli: Kuidas kehtestada MOSS sellesse klientarvutisse? Arvestades, et klient on juba kogemusi SharePointi, oleme mõelnud — Me peame tegema "diferentseeritud" koolituse või hakkame maapinnast kuni? Pärast töötamine peamiste kasutajate, oleme otsustanud, et ravivad seda kui rohelisel väljal projekti rohkem mõtet.

Otsuse tegi lähtepunkt aga ikkagi jättis meid peamine nõue figuring hea strateegia jooksvalt MOSS läbi ettevõtte. MOSS on suur loom … See sisaldab sisu haldamise, Dokumendihaldus, Otsi hotelle, Turvalisus, Sihtrühma määramine, Projektijuhtimine, "vapustav nelikümmend" Mallid, töövoog, äri andmeliidese, jne. Paar seda asjaolu, et see on suur organisatsioon mis Saate tõeliselt peaaegu kõigi suuremate MOSS kasutada funktsiooni ja teil on suur projekt, mille ettevõte reach ja palju häid asju juhtub eeldusi.

Me oleme vastamisi selles küsimuses ikka ja jälle … MOSS on ettevõttel saavutada oma ettevõtte funktsiooni-komplekti, veel isegi mõnevõrra keerukamaid klientidel on raske aeg vaimselt neelavad need omadused, lase üksi sisaldavad arvestatavat osa neist oma igapäevaellu.

Mul ei ole võlukepikest probleemile. Ma tegeleda asemel just esimesi samme, et oleme võtnud kirja teel edukas pikaajaline vastuvõtmine kaasa kliendiga.

Reguleerimisala:

Sest ma tahtsin meeskond käsitöö projekti kava, mis sisaldas sellised verstapostid nagu "PoepleSoft integratsiooni kaudu BDC lõpetatud", "Uue risti ametkondlik toote käivitada töövoo täielik" ja "Executive juhtimise KPI aktsepteeritud", Mul pidi leppima midagi vähem. See ei tohi öelda, et "vähem" on halb. Tegelikult, "vähem" et me otsustasime esialgse levikuga oli miili enne kui nad olid enne hakkasime. Antud juhul, "vähem" kujunes:

  • Lihtne dokumentide haldamise abil dokumenditeegid, versiooni kontrolli ja sisu tüübid.
  • Tõhus sisutüübid põhinevad ja kohandatud ettemakse otsing (Via hallatavad atribuudid, XSLT toota ilus tulemused, jne).

Lisaks eespool nimetatud ettevõtet hõlmavaid funktsioone (tähendab, et nad olid kõik osakonnad ja kasutajate rullitakse), oleme lisanud järgmised singleton määruse reguleerimisala mini-projektid:

  • Tõendi mõiste BDC integratsiooni.
  • Multi-Step ja mitut filiaali töövoo protsessi loonud kaudu SPD.
  • Keerukate InfoPathi vorm.
  • Katte jaoks mõned äriprotsessi KPI-d (ilmselt HR oskuste omandamine meie puhul, Kuigi see võib muutuda).

Võimalusi siin ei ole 100% täpne, kuid esindavad meie lähenemise ja sobib mu eesmärk siin, mis tuleb selgitada, mis minu arvates on "tõhus" SAMMAL, mis loob kliendile kindlalt alla golden path täis MOSS vastuvõtmine tutvustus.

Ma ei kirjuta palju lähemalt selle singleton sissekanne. Ma tahan rõhutada, et need on osa meie kõikehõlmav strateegia. Selleks tuleb rakendada dokumendi haldamise ja Otsi kursisolekut kõigile kasutajatele veel annavad väga funktsionaalne, kõrge nähtav ja ülimalt tüüpilised näited muid core MOSS funktsioone, mis lihtsalt enamik kasutajaid võime absorbeerida varases staadiumis. Aga, neid "seal" ja üks loodab, et muude äriüksuste ei tea või õpivad nende kohta ja tahavad need ise, suurem vastuvõtmiseni viinud. Need singleton edulood ühtlasi pakkuda meie müügimeeskonna "laskemoona" edukalt võitnud teine, kolmanda ja n-faasi projektid.

Mida me tegime tutvustada ja miks?

Olles lahendatud Dokumendihaldus ja otsida nii ettevõttesiseseks põhinõuet, Meil oli vaja hakata koguma andmeid. Praktiline küsimusena, See keerles ümber mõista nende dokumentide ja mis lõppkokkuvõttes vastendatud mõistmine sisutüübid.

Olen märganud, on raske seletada, ilma visuaalse aides sisutüübid. Tehnilisemat folk saab kõndida sisutüüpide arutelu eemale kui CT's on kirjeldatud andmebaasi mõttes. "A CT on sarnane Andmebaasitabel, See on veerud ja veerud määratletakse andmete liikide kaupa, kuid CT andmetüüpide hulka rohkem kui lihtne täisarv/kuupäev, kuid ka "valik" ja "otsing" jne." Saame rääkida "laiendamine" sisutüübid, palju nagu üks funktsionaalsuse päri baasklassi objektorienteeritud keeles. Aga see pole ilmselt abiks transport osakonna admin isik, kellel on tehniline taust. St, peaaegu kõik, et küsimusi MOSS levikuga.

Kasutades valge tahvel on ebakindel. Esitasin sisutüübi ja joonistatud geniaalne idee (või nii nad näivad) sisutüüpide pildid ja mida nad teevad teile nii otsingu ja kuidas neid saab laiendada, jne. Aasta lõpus, see tunne, nagu mõned lambid on sisse lülitatud, kuid tulemuseks valgel pilt on jama.

See viinud meid meie praeguse ja nii kaugelt kõige tõhusamaid lossimise koht: MOSS Liivakasti saidi konfigureeritud kuvama kõik võrgud.

Liivakasti saidi kasutamine, tahame näidata:

  • Sisutüübid:
    • Luues CT mitu andmetüüpi (teksti, kuupäev, valik, Boolean, otsing, jne).
    • Millega pikendatakse CT luues uue CT põhineb vanem.
    • Dokumentide kasutamine CT metaandmete otsimine.
  • Dokumenditeegid:
    • Seostada ühe CT Raamatukogu.
    • Mis juhtub, kui me üles laadima dokumendi, et Raamatukogu?
    • Seostada mitu CT doc Raamatukogu.
    • Mis juhtub, kui me üles laadima dokumendi, et Raamatukogu?
    • Filtreerimine ja sortimine kaudu doc lib veerupäised.
    • Dokumendi Raamatukogu views:
      • Sorteerimine
      • Rühmitamine
      • "Kiire saabumine" (lehe vaade)
      • "Sildistamata andmed" (abistada kolmandate riikidega MOSS sisu mujalt; Täpsem teave allpool).

Liivakasti saidi:

Me kavandatud meie Liivakasti kohas olema arenduskeskkonna kasutamiseks koolitusega kaua pärast seda, kui me lõpetada projekti alased ja sisaldas mitmeid esemeid nagu kirjeldatud:

Sisutüübid:

Me määratleda järgmised sisutüübid: Arve, Vormista tellimus, Teenuste arve.

Valisime arve ja ostu tellimus, sest nad on enam-vähem universaalselt all
seisis üksused. Igaüks äri mõistab, et arve on maksenõue-a kliendi puhul on summa antud teatud kuupäev nagu iga mõned makstav maksetingimused. See toob kaasa loodusliku määratluse CT, mida me nn "koolitus arve" (muud tüüpi arvele eristamiseks). Ostutellimus on samuti kergesti määratleda. Oleme loonud "koolitus teenuste arve" luues uusi CT "koolitus arve aluseks" CT ja lisatud ühe veeru, "teenete eest".

Koos eespool, me nüüd näitama kohta CT's ilma saada takerdunud selgitamisele abstraktne mõiste esimene; kõik juba aru, mida me mõistame "arve" ja "Vormista tellimus" ning on selle asemel saaksid keskenduda mehaanika CT ise.

Kohandatud loendid:

CT veerge tüübiga "otsing" Valige kohandatud loend või dokumenditeek. Me kasutame seda ulatuslikult ja liivakast, lõime üks toetavad kohandatud loendi, mis sisaldab külastajad. Korjasime hotelli, sest see on lihtne mõiste, et mõista ja lihtne. Arve CT on veerus, "klient" mis on määratletud tüüpi "otsing" mis juhib seda nimekirja.

Oleme loonud sarnased kohandatud loendi haldamiseks "müüjad" ostutellimuse"" CT.

Dokumenditeegid:

Oleme loonud kaks dokumenditeegid: "Arved" ja "Segatud dokumendid".

Me konfigureeritud arvete dokumenditeegi CT tüüp "Arve" ainult dokumentide haldamiseks.

Me konfigureeritud "segatud dokumendid" Raamatukogu haldamiseks kõik kolm CT.

Saate luua mitu vaadet, mis näitavad sorteerimine, filtreerimine, tooteinfo ja rühmitamine.

Otsi hotelle:

Meil kaks uut hallatavaid atribuute määratletud ja vastendada arve Number ja kliendi.

Me loob uue kohandatud ettemakse otsingusaidil ja see võimaldab kasutajatel otsida "arved" need kaks vastendatud atribuutide abil.

Muuda XSLT, et arvete ja klientide arv, Kuna praegu, HTML tabelis ereda värvi. Siin on näidata, et sellist vormingut on võimalik.

Haara see kõik koos:

Korraldame põhikasutajad osalema demo.

Jälgime seda lihtsat skripti:

  1. Kirjelda mυiste ja όlesanded CT, arveid ja ostutellimusi kasutades näitena.
  2. Näita arve CT määratlemine samal ajal tagades neile, et nad ei pea kasutama neid ekraane, ise, lihtsalt kiirenemist mõisted.
  3. Arvete dokumenditeegi minna.
  4. Laadi dokument üles.
  5. Näidata, et kliendi rippmenüüst on tõesti pärit kohandatud loend.
  6. Uute klientide lisamine kliendi loendisse ja seejärel värskendage hiljuti üleslaaditud arve metaandmed vastloodud kliendiga.
  7. Aktiveerige "segatud dokumendid" teek ja laadida dokument. Selgitada, kuidas süsteem küsib dokumendi liik.
  8. Me naasta arvete dokumenditeegi ja Näita, kuidas klõpsates veeru nimi muutub sortimisjärjestus.
  9. Näidata veerutaseme filtreerimine.
  10. Näidata erinevatele seisukohtadele, mis näitavad mitmetasandilise sorteerimine, filtreerimine ja rühmitamine.
  11. Kuva andmevaade leht.
  12. Selgitada "sildistamata dokumentide eesmärk" Vaade.
  13. Aktiveerige kohandatud Laiendatud otsing.
  14. Nüüd, hiljuti üles laaditud dokument peaks olema indekseeritud ja indekseeritud, nii teostab otsingu, mis näitab võimalusi leida selle arve kaudu vastendatud atribuut.
  15. Tahame näidata vahe otsige vastendatud atribuudid vs. teksti otsing.

Sel hetkel, enam-vähem sai läbi demo. Tundub, et võtta umbes 30 et 45 minutit, sõltuvalt sellest, kui palju küsimusi inimesed küsivad.

Seejärel saadame neile tagasi nende töölauad "kodutöö". See koosneb lihtne Exceli tabelisse, milles palume neid määratleda meile, mida nad arvavad, et nad vajavad nii CT's, nii kõrgel tasemel (lihtsalt nimi ja eesmärk) Samuti veergude ja andmete tüüp oleks veerus talletatava. Me ei palu neid määratleda veeru andmetüüpide tingimustega SAMMAL, kuid ettevõttes kasutatav.

Kokkuvõte:

Lõime Liivakasti keskkond, et saame kasutada näidata mõned kelle kaebuse on ettevõttesiseseks MOSS kursisolekut.

Me modelleerida kergesti mõistetavad ja ühise majandusüksuste nii, et kasutajad saavad keskenduda MOSS ja mitte Tyssätä kohta / näiteid, ise.

Ärikasutajatele jalutuskäigu kaugusel teesid istungid "kodutöö" Exceli dokumendid, nende saajad nüüd täita ja kujundades oma esimese lõigatud sisutüüpi kasutage vormi.

Lõpuks, Kui me teostame demod ajas, kliendi meeskonna liikmed ise muutuma võimalik kanda, demo's ise ja üldiselt vabastada me üles töötama Keerukamate probleemide, näiteks globaalse taksonoomia, keerulised tööprotsesse, BDC ja nagu.

MOSS: Funktsionaalne näide – kohandatud andmetüübi

Äri stsenaariumi:

Ettevõtte-tasandil rakendamise MOSS tootev ettevõte koos 30+ saidid ja paar tosinat ettevõtte osakonnad.

Äri eesmärgi:

Kuigi ärirühmad hulgaliselt (osakonnad, asukohad, jne), teatavate andmete säilitamise ülemaailmsel tasandil. Näiteks, kõik füüsilised asukohad ettevõtte autoriteetne juhtloendi (näiteks. tootmisüksused, lao asukohad, harukontorid) säilitamise keskses asukohas.

Tehnilise probleemi:

Ettevõtte taksonoomia rakendati, kasutades mitut saidikogumit. Me oleksime soovinud füüsilist asukohta autoriteetne loendit luua kohandatud WSS loend. Seejärel, Kuna meil oli vaja on veeru sisu tüüp (või veeru lisada nimekirja või doc Raamatukogu) mis sisaldas ettevõtte asukohtades, Loome veeru abil otsing"" andmetüübi ja sellega punkti.

Kahjuks, otsing andmetüübid peavad pääseda "kohaliku allikas loendi" Meie autoriteetse nimekirja ei saa jaotada saidikogumite tähendus.

Tehniline lahendus:

Rakendada uue kohandatud andmetüübi rakendamine põhineb SPField ja DropDownList, kelle ListItems asustamiseks alates WSS juhtloendi UI esindatud.

Oleme loonud uue saidikogumi nimega "http://localhost/EnterpriseData". Seal, oleme loonud kohandatud loend nimega "Ettevõtte asukohta". See loend kasutab lihtsalt standard "tiitel" väli sisaldab tegeliku ettevõtte asukohtade nimekiri.

Üks tuleneb mitme diskreetse samme, et luua kohandatud andmetüübi WSS. Nad on:

  1. Määrata klassi, mis pärib SPField (üks võib pärivad muid välju kui vaja).

Siin on kood, et:

avalik klass XYZZYCorporateLocationField : SPFieldText
{
avalik XYZZYCorporateLocationField
(Atribuuti SPFieldCollection väljad, stringi typeName, stringi displayName)
: baasi(väljad, typeName, displayName) { }

avalik XYZZYCorporateLocationField
(Atribuuti SPFieldCollection väljad, stringi displayName)
: baasi(väljad, displayName) { }

avalik alistada BaseFieldControl FieldRenderingControl
{
Saada
{
BaseFieldControl kontrolli = Uus XYZZYCorporateLocationFieldControl();
kontrolli. Väljanimi = See.InternalName;
edasi-tagasi kontrolli;
} //Saada
} // fieldrenderingcontrol

avalik alistada stringi GetValidatedString(objekti väärtus)
{
Kui (See.Nõutav || väärtus. ToString().Võrdub(String.Tühi))
{
viska Uus SPFieldValidationException ("Osakond on määratud.");
}
edasi-tagasi baasi.GetValidatedString(väärtus);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Määratleda baasvälja juhtelement pärib teise klassi, nagu ka:

avalik klass XYZZYCorporateLocationFieldControl : BaseFieldControl
{
kaitstud DropDownList XYZZYCorporateLocationSelector;

kaitstud alistada stringi DefaultTemplateName
{
Saada
{
edasi-tagasi "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

avalik alistada objekti Väärtus
{
Saada
{
EnsureChildControls();
edasi-tagasi See.XYZZYCorporateLocationSelector. SelectedValue;
} // Saada
komplekt
{
EnsureChildControls();
See.XYZZYCorporateLocationSelector.SelectedValue = (stringi)See.ItemFieldValue;
} // komplekt
} // alistada objekti väärtus

kaitstud alistada tühine CreateChildControls()
{

Kui (See.Väli == null || See.Atribuuti ControlMode == SPControlMode.Kuva)
edasi-tagasi;

baasi.CreateChildControls();

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

Kui (See.XYZZYCorporateLocationSelector == null)
viska Uus Erand("VIGA: Ei saa laadida. ASCX-faili!");

Kui (!See.IsPostBack leht.)
{

kasutades (SPSite'i Site = Uus SPSite'i("http://localhost/enterprisedata"))
{
kasutades (SPWebi Web = site. OpenWeb())
{

SPList currentList = web. Nimekirjad["Ettevõtte asukohad"];

foreach (SPItem XYZZYCorporateLocation aastal currentList.Items)
{
Kui (XYZZYCorporateLocation["Tiitel"] == null) jätkata;

stringi theTitle;
theTitle = XYZZYCorporateLocation["Tiitel"].ToString();

See.XYZZYCorporateLocationSelector.Items.Add
(Uus Sisendparameeter(theTitle, theTitle));

} // foreach

} // kasutades spweb web = site.openweb()
} // kasutate SPSite'i koduleheküljel = uue SPSite'i("http://localhost/enterprisedata")

} // kui mitte tagasipostitamine

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

Eespool kood põhiliselt rakendab logic populating väärtustega WSS kohandatud loend asub aadressil DropDownList http://localhost/enterprisedata ja nimega "ettevõtte osakonnad".

Mõlema klassi määratletud ühtse .cs faili, See koostatakse ja seda ellu GAC-s (tugev nõutav, Muidugi).

  1. Elluviimiseks juhtelement Mall (.ascx) nagu on näidatud:

<%@ Kontrolli Keel= "C#" Pärib="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Versioon = 12.0.0.0, kultuuri = Arvamus puudub,PublicKeyToken = 71e9bce111e9429c" compilationMode= "Alati" %>
<%
@ Registreeru TagPrefix= "wssawc" Namespace="Microsoft.SharePoint.WebControls" Assamblee="Microsoft.SharePoint, Versioon = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %> <%@ Registreeru TagPrefix= "SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assamblee="Microsoft.SharePoint, Versioon = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>
<SharePointi:RenderingTemplate ID= "XYZZYCorporateLocationFieldControl" runat= "server">
<Mall>
<ASP:DropDownList ID= "XYZZYCorporateLocationSelector" runat= "server" />
</Mall>
</
SharePointi:RenderingTemplate>

Eespool on säästetud c:\programm filescommon filesmicrosoft sharedweb server extensions12controltemplates.

  1. Lõpuks, me luua XML-faili, et salvestada selle... 12XML kataloog. See on meie kohandatud andmetüüpi määratleva CAML ja minu näide, näeb välja selline:

<?XML-i versioon="1.0" kodeering="UTF-8" ?>
<
FieldTypes>
<
FieldType>
<
Väli Nimi="TypeName">CorporateLocations</Väli>
<
Väli Nimi="ParentType">Teksti</Väli>
<
Väli Nimi="TypeDisplayName">Ettevõtte asukohtades</Väli>
<
Väli Nimi="TypeShortDescription">Kõik XYZZY ettevõtte kohtades, sealhulgas tootmis- või muud vahendid.</Väli>
<
Väli Nimi="UserCreatable">TÕSI</Väli>
<
Väli Nimi="ShowInListCreate">TÕSI</Väli>
<
Väli Nimi="ShowInDocumentLibraryCreate">TÕSI</Väli>
<
Väli Nimi="ShowInSurveyCreate">TÕSI</Väli>
<
Väli Nimi="ShowInColumnTemplateCreate">TÕSI</Väli>
<
Väli Nimi="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Versiooni = 1.0.0.0, Culture = neutral, PublicKeyToken = b0b19e85410990c4</Väli>
<
RenderPattern Nimi="DisplayPattern">
<
Lüliti>
<
Avaldis>
<
Veerg />
</
Avaldis>

<Juhtum Väärtus=""/>

<Vaikimisi>
<
HTML>
<![CDATA[
<span style = "värv:Punane"><b>]]>
</
HTML>

<
Veerg SubColumnNumber="0" HTMLEncode="TÕSI"/>

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

</
Vaikimisi>
</
Lüliti>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
See XML-fail lisatakse kohandatud andmetüübi WSS "Raamatukogu" ja sobitab vastu GAC-s oli assamblee.

Pärast nende bittide siirdunud koht, iisreset server ja see peaks kõik Alustame kenasti.

MOSS: Kohandatud loendi värskendamine

Seal on palju häid näiteid ajakohastamine kohandatud loendite kaudu SDK. Siin on veel üks.

Äriprobleemi: InfoPathi vorm on mõeldud võimaldab kasutajatel sisestada online osta ostutellimused. PO nõudelehe numbrid peaksid olema traditsiooniline järjestus põhineb täisarvulised väärtused ja arvutatakse automaatselt.

Majandustarkvaraga: Looge kohandatud MOSS loend sisaldab kahte veergu: "ControlField" ja "ControlValue". Väärtuse veerg sisaldab järgmise ostu ostutellimuse kood. Pange tähele, et liiginimi "ülevaade" nimetamistava nähakse ette tulevasi kontrolli väljad, mida võib kasutada vastavalt vajadusele.

Tehniline lahendus: Luua InfoPathi kliendi juurde veebiteenusele. Veebiteenus tagastab tagasi Järgmise ostu ostutellimuse kood ja värskendab loendis väärtus.

Õppetunnid:

  • See veebiteenus lisamisel andmeallikana InfoPathi vorm, Olen pidanud vajalikuks teisendamine on udc ja talletada selle andmeühendusteegi.
  • Olen ka leidsin selle domeenidevahelist skriptimise kaudu kesksete talituste haldamise võimaldamiseks // rakenduse haldamine // serveri konfiguratsiooni.
  • Esimest korda vormi proovis pääseda juurde veebiteenusele, See võtab aega ja mõnikord, See oleks aja maha. Ma fiddled seadetega serveri konfiguratsiooni ajalõpu sätteid laiendada ja see tundus, et aidata.

Kood:

kasutades Süsteemi;
kasutades System.Web mitu;
kasutades System.Web.Services;
kasutades System.Web.Services.Protocols;
kasutades Microsoft.SharePoint;
kasutades System.Configuration;

[Veebiteenuse(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
avalik klass PoService : System.Web.Services.Veebiteenuse
{
avalik PoService () {

//Eemalda kommentaar rea kui kasutades loodud komponendid
//InitializeComponent();
}

/// <Kokkuvõte>
/// Saada järgmise PO number SharePointi loendist po arv kontroll.
/// Juurdekasvu PO number selles nimekirjas.
/// </Kokkuvõte>
/// <Tagastab></Tagastab>
[WebMethod]
avalik stringi GetNextPoNumber()
{
stringi SpPoControlSiteName; // Nime tegelik MOSS veebilehekülg, mis majutab PO Control list.
stringi SpPoControlListName; // Tegelik MOSS loendi Po juhtelementi sisaldavat nime.

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

stringi nextPoReqNumber = "xyzzy";

kasutades (SPSite'i Site = Uus SPSite'i(SpPoControlSiteName))
{
kasutades (SPWebi Web = site. OpenWeb())
{

SPList currentList = web. Nimekirjad[SpPoControlListName];

foreach (SPItem controlItem aastal currentList.Items)
{

Kui (((stringi)controlItem["ControlField"]).Võrdub("NextPoNumber"))
{
nextPoReqNumber = (stringi)controlItem["ControlValue"];

int int_nextPoReqNumber;
int_nextPoReqNumber = Teisendada.ToInt32(nextPoReqNumber);

int_nextPoReqNumber ;

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

} // Asukoha kindlaksmääramine, lugemine ja PO number loendi värskendamine.


} // kasutades spweb web = site.openweb()
} // kasutate SPSite'i koduleheküljel = uue SPSite'i("http://localhost/mizuho")

edasi-tagasi nextPoReqNumber;

}
}