Categoria Arkistot: SharePoint

Salaperäinen SharePoint virheiden vianmäärityksestä.

Yleiskatsaus:

Debugging on vaikeaa kehitettäessä mukautettuja toimintoja Windows SharePoint Services 3.0 (WSS) tai Microsoft Office SharePoint Server (MOSS). Ensimmäinen syy on, että SharePoint yleensä pinnat hyvin vähän diagnostiikkatietoja selain virheen tapahtuessa. Tämän blogimerkinnän kuvataan miten etsiä lisää järjestelmän luoma diagnostiikkatietoja, jotka tarjoavat usein että ylimääräinen vähän tarkemmin, että yksi tarvitsee tunnistaa perimmäiset syyt. Tämä johtaa ongelman ratkaisemiseksi.

Olen käyttänyt tätä tekniikkaa menestyksekkäästi ratkaista muuten salaperäinen virheitä.

Lähestymistapa:

SharePoint tallentaa paljon tietoa diagnostinen Kirjaudu lokitiedoston 12 pesää.

"12-pesää" yleensä kansiossa "C:\Program FilesCommon FilesMicrosoft SharedWeb Server Extensions12 ". (En ole varma, jos se on mahdollista, 12 pesää asua missään muualla, Itse asiassa).

Ajatuksena on löytää nykyinen lokitiedosto, voimaan virhe ja sitten nopeasti auki halko arkistoida. Nämä lokitiedostot ovat ominaista:

  • Runsaalla tiedot. SharePoint luo paljon diagnostisia tietoja ja kirjoittaa lokitiedosto nopeasti. Sinun täytyy olla nopea sormella voit kaapata se.
  • Moninaisuus. SharePoint ei kirjoittaa lokitiedostoon mutta melko tuottaa useita lokitiedostoja järjestyksessä.
  • Kopioi ja liitä kauniisti osaksi MS Excel.

Minun suosikki menetelmä:

  1. Avaa windows explorer osoittaa 12 hivelogs.
  2. Lajitella näkymän näyttämään muokkauspäivämäärän mukaan (Viimeisin ensimmäisenä).
  3. Korosta uusimmat lokitiedosto.
  4. Web-selainikkunassa, pakottaa virhe esiintyy.
  5. Nopeasti nykyisen lokitiedoston avaaminen ja kopioida sen sisältöä MS Excel.
  6. Siirtyä loppuun ja analysoida asiaankuuluvat.

Muut liitetiedot:

Oletusarvoisesti, tarkasteltava sijaitsee 12 hiveLOGS hakemisto.

MS Best practices (kohti Turkkila. Microsoft) valtion lokitiedostot on tallentaa erillistä kovalevyä. Yksi tekee tämän keskitetyn hallinnan kautta. Järjestelmänvalvoja voi olla näin, siinä tapauksessa sinun täytyy tietenkin Etsi lokitiedosto on oletuksen sijaan 12 rakenteen sijainti).

Tämä merkintä käsitellään kuten:

  • SharePoint-työnkulku ei käynnistynyt sisäisen virheen vuoksi.
  • (Lisää lisätään ajan)
  • Tämä merkintä on ollut hyötyä diagnosoinnissa työnkulun virheitä (virrankatkaisu. "Työnkulku ei käynnistynyt sisäisen virheen vuoksi").

MOSS: Tehokas Johdatus organisaatio

(Tämä merkintä on rajat lähetetty välillä http://paulgalvin.spaces.live.com/blog/ ja http://blogs.conchango.com)

Viestejä tällä sivustolla on oma ja eivät välttämättä edusta Conchango's kannat, strategioita tai lausuntoja.

Yleiskatsaus:

Tämä merkintä kuvaa taustatietoa suuri (3,000 käyttäjät) Microsoft Office SharePoint Server (MOSS) käyttöönotossa ja mitä teimme saada hanke siten, että asiakas on tyytyväinen ja tiukasti tiellä joka päättyy kokonaisuudessaan käyttöön MOSS-toimintoja. Tapahtuma kirjoitettaessa, Olemme noin 50% täydellinen hankkeen ensimmäisen vaiheen. Asioiden edetessä, Ajantasaistaa nyt kuluva kohta tai kirjoittaa uusia merkintöjä.

Tässä yhteydessä, yhtiö oli jo asennettu SharePoint Portal Server 2003. IT-ryhmä asettaa hedelmä on eräänlainen "Katsotaanpa jos joku välittää" muoti. Se on nopeasti hyväksynyt monille yrityskäyttäjille ja tuli varsin suosittu suuren yrityksen. Kuten voitte kuvitella, Tämä ei ollut paras käyttöönotossa strategia (asiakkaan helposti myöntää) ja kun MOSS saapui paikalle, asiakkaan päätti "tee se heti" ja palkkasi apuamme.

Yksi ydinkysymyksistä edessämme, kun aloitimme tämän hankkeen toteuttaminen oli: Miten voimme toteuttaa MOSS työasemaan? Ottaen huomioon, että asiakas oli jo kokemusta SharePoint, mietimme — Meidän täytyy tehdä "ero" koulutusta tai käynnistyy maasta? Työskenneltyään tärkeimpien käyttäjien kanssa, päättänyt, että hoitoon tämä vihreä kenttä hankkeena, joka on järkevämpää.

Päätös antoi lähtökohta, mutta jätti meille tärkeä vaatimus selvittämiseen, hyvä strategia tuloaan MOSS yrityksen. MOSS on Iso eläin … Se sisältää sisällön hallinta, dokumenttien hallinta, Etsi, turvallisuus, käyttäjäryhmälle kohdistaminen, Projektinhallinta, "upea neljäkymmentä" mallit, työnkulun, Business liittimeen, jne. Pari tätä siitä, että se on suuri organisaatio joka voi todella hyödyntää lähes kaikki suuret MOSS ominaisuus ja sinulla on ainekset suurta projektia yrityksen ulottuville ja monia hyviä asioita tapahtuu.

Olemme kohtaamaan tämän ongelman yhä uudestaan … MOSS on yritys saavuttaa sen yrityksen ominaisuus-set, vielä jopa hieman hienostunut asiakkaiden on vaikea vaimentava henkisesti nämä ominaisuudet, Anna tuntuva osa niistä yksin sisällyttämistä päivittäisiin.

Minulla ei ole maaginen ratkaisu ongelmaan. Sen sijaan puhun vain aivan ensimmäiset askeleet, jotka olemme ottaneet asiakas johtaa heidät tielle pitkän aikavälin onnistuminen.

Soveltamisala:

Niin paljon kuin halusin joukkue luoda projektisuunnitelman, joka sisälsi tällaisia välitavoitteita kuin "PoepleSoft yhdentymisen kautta BDC valmis", "Uusi osastojen tuotteen käynnistää työnkulun päätyttyä" ja "Johdon KPI hyväksytty", Minun täytyi ratkaista jotain vähemmän. Tämä ei ole sanoa, että "vähemmän" on huono. Itse asiassa, vähemmän"" Päätimme ensimmäisen käyttöönotossa on mailia ennen missä ne olivat ennen kuin aloitimme. Tässä tapauksessa, vähemmän"" muuttui:

  • Yksinkertainen tiedostojen hallinnan asiakirjakirjastojen käyttäminen, versio-komponenttia ja sisältöä tyyppejä.
  • Tehokkaiden etsintä perustuu sisältötyypit ja mukauttaa Ennakko haku (hallittujen ominaisuuksien kautta, XSLT tuottaa kauniita tuloksia, jne).

Lisäksi edellä yritystason ominaisuuksia (eli ne olivat rakentaneet kaikilla osastoilla ja käyttäjät), Lisäsimme seuraavat singleton-scope mini-hankkeiden:

  • Koe-lta idea BDC integraatio.
  • Monivaiheinen ja monen haara työnkulkuprosessi aiheuttaa kautta SPD.
  • Monimutkainen InfoPath-lomake.
  • Päällysteen KPI joitakin Liiketoimintaprosessi (luultavasti HR kykyjenhankintaa meidän tapauksessamme, Vaikka tämä voi muuttua).

Soveltamisala tässä ei ole 100% tarkka mutta edustaja lähestymistapamme ja riittävä minun tehtäväni tässä, Mikä on selittää mielestäni tehokas"" käyttöönotto MOSS, joka asettaa asiakkaan tiukasti golden tiellä kokonaisuudessaan MOSS käyttöön.

En aio kirjoittaa paljon lisää Singleton-suunnittelumallia, Tämä merkintä. Haluan huomauttaa, että nämä ovat osa alaisena. Ajatuksena on toteuttaa asiakirjan ja haku ydinominaisuudet kaikille käyttäjille mutta tarjoavat erittäin toimiva, korkea näkyvissä ja erittäin edustava esimerkkejä muita keskeisiä MOSS ominaisuuksia, joita vain useimmille käyttäjille kyky imeä tässä varhaisessa vaiheessa. Kuitenkin, "siellä ne" ja toivotaan että muiden liiketoimintayksiköiden tiedä tai oppia niistä ja haluavat nämä ominaisuudet itse, suurempi antamiseen johtaneen. Nämä singleton menestystarinat voidaan tarjota Myyntitiimimme "ammuksia" onnistuneesti voittaa toinen, Kolmas-ja n-vaihe.

Mitä me käyttöön ja miksi?

On ratkaistaan asiakirjojen hallintaan ja Etsi perusaikataulun yrityksenlaajuisen vaatimus, Meidän piti alkaa kerätä tiedot. Käytännössä asia, Tämä pyöri ymmärtää niiden asiakirjojen ja lopulta yhdistää ymmärtämään sisältötyypit.

Olen huomannut, on vaikea selittää sisältötyypit ilman visual aides. Teknisiä folk voi kävellä pois keskustelua sisältölajeja, kun CT on kuvattu tietokantojen. "A CT vastaa tietokantataulukon, se on sarakkeita ja sarakkeiden määritellään tietotyypit, mutta CT tietotyyppejä ovat esimerkiksi yli yksinkertainen kokonaisluku/päivämäärä, mutta myös "valinta" ja "haku" ja niin edelleen." Voimme puhua "laajennetaan" sisältötyypit, aivan kuten yksi voi periä toiminnallisuuden perustaa luokan olio kieliä. Mutta tämä ei tietenkään ole hyvä kuljetus osasto admin henkilö, joka ei ole teknistä taustaa. Eli, lähes kaikki, mitä asioita MOSS käyttöönotossa.

Käyttämällä white board on epävarma. Olen esittänyt ajatuksen sisältötyypin ja laadittu loistava (tai niin ne näyttävät) kuvia sisältötyyppien ja mitä he tekevät sinulle kannalta ja miten ne voidaan laajentaa, jne. Lopulta, tuntuu jotkut lamput on käytössä, mutta saatu tussitaulu kuva sotku.

Siihen nykyiset ja niin paljon tehokkain purkamispaikkaan: MOSS hiekkalaatikko sivuston määritetty näyttämään näitä ominaisuuksia.

Sandbox-sivuston käyttäminen, osoitamme:

  • Sisältötyypit:
    • Luominen CT erityyppisiä tietoja (teksti, päivämäärä, valinta, Totuusarvo, haku, jne).
    • Laajentaa CT luomalla uuden CT perustuu vanhempi.
    • CT-metatiedot asiakirjojen hakeminen.
  • Asiakirjakirjastot:
    • Liittämällä yhteen CT Kirjasto.
    • Mitä tapahtuu, kun me ladata asiakirjan kyseisessä kirjastossa?
    • Liittämällä useita CT doc Kirjasto.
    • Mitä tapahtuu, kun me ladata asiakirjan kyseisessä kirjastossa?
    • Suodatuksen ja lajittelun kautta sarakeotsikot doc lib.
    • Asiakirjan kirjaston näkymiä:
      • Lajittelu
      • Ryhmittely
      • "Nopea pääsy" (tiedot taulukkonäkymään)
      • "Korvamerkittöminä tiedot" (avustamaan muuttoliikkeen Moss muihin sisältölähteisiin; Lisää tästä alla).

Sandbox-sivusto:

Suunniteltu pysyväksi kehitysympäristössä voidaan käyttää koulutustarkoituksiin pitkä jälkeen päätämme hankkeen hiekkalaatikko sivustostamme ja mukana useita esineitä, kuten:

Sisältölajit:

Määrittelimme seuraavat sisältötyypit: Laskun, Ostotilaus, Palvelut laskun.

Valitsimme laskun ja ostaa, koska ne ovat enemmän tai vähemmän yleisesti
oli yksiköt. Jokainen liike ymmärtää, että lasku on maksupyyntö asiakkaan varten määrä annettu tietty päivämäärä kuten jotkut maksetaan maksuehdot. Tämä johtaa luonnon määritelmää CT, jolle annoimme nimeksi "koulutus lasku" (jotta se erottuisi muu laskun). Ostotilauksen samoin helppo määritellä. Olemme myös luoneet "koulutus Palvelut lasku" luomalla uuden CT perustuu "koulutus lasku" CT ja lisätty vain yksi sarake, "palveluista".

Edellä, näytämme nyt muutamia keskeisiä piirteitä CT ilman saa takertua yrittää selvittää abstrakti käsite; Jokainen jo ymmärtää, mitä me tarkoitamme "lasku" ja "ostotilaus" ja sen sijaan keskittyä mekaniikka CT itse.

Mukautettuja luetteloita:

CT sarakkeita "valinta" Valitse mukautettu luettelo tai tiedostokirjasto. Käytämme tätä laajasti ja eristetyn, Loimme yhden tukevat mukautetun luettelon, joka sisältää asiakkaat. Me valitsimme Asiakkaat, koska se on helppo käsite ymmärtää ja helppo osoittaa. Laskun CT on sarake, "asiakas" Se käsittää "haku-tyyppinen" joka osoittaa tästä luettelosta.

Loimme samanlainen mukautetun luettelon "toimittajien hallinta" tilauksen"" CT.

Asiakirjakirjastot:

Olemme luoneet kaksi asiakirjakirjastot: "Laskut" ja "asiakirjat".

Meillä määritetty laskujen asiakirjakirjaston hallita vain CT tiedostojen "Lasku".

Meillä määritetty "Mixed-asiakirjat" Kirjasto hallita kaikki kolme CT.

Luoda useita näkymiä, jotka osoittavat lajittelu, suodatus, Tiedote ja ryhmittely.

Etsi:

Määritelty kaksi uutta hallittujen ominaisuuksien ja liitetty laskunumero ja asiakkaan.

Loimme uuden mukautetun etukäteen Haku päällä ja muutettu se avulla käyttäjät voivat etsiä "laskut" Nämä kaksi yhdistettyjen ominaisuuksien avulla.

Muokkaa XSLT Jotta Laskutus- ja numero, Kun esitellä, näkyvät HTML-taulukossa kirkas väri. Tavoitteena on osoittaa, että tällaista muotoilua on mahdollista.

Kaikki yhdessä:

Järjestämme tärkeimpien käyttäjien osallistua demo.

Seuraamme yksinkertainen skripti:

  1. Kuvata sisältöä ja tarkoitusta CT, laskuja ja ostotilauksia käyttäen esimerkkeinä.
  2. Näytä laskun CT määritys ja samanaikaisesti vakuuttaen heille, että he eivät tarvitse käyttää näyttöjä, itse, vain poimia käsitteet.
  3. Siirry laskujen asiakirjakirjaston.
  4. Lataa asiakirja.
  5. Osoittaa, että asiakas avattavasta on todella peräisin mukautetun luettelon.
  6. Uuden asiakkaan lisääminen asiakasluetteloon ja uusille asiakas päivittää äskettäin lähettänyt laskun metatiedot.
  7. Siirry "mixed-asiakirjat" Kirjasto ja Lataa asiakirja. Selittää, miten järjestelmä pyytää Asiakirjatyyppi.
  8. Palaa laskujen asiakirja- ja Näytä miten klikkaamalla sarakkeen nimen muutokset lajittelujärjestys.
  9. Osoittaa saraketason suodatus.
  10. Näyttää erilaisia käsityksiä, jotka osoittavat monitasoisen lajittelu, suodatuksen ja ryhmittelyn.
  11. Näytä tiedot taulukkonäkymään.
  12. Selittää tarkoitus "korvamerkittöminä asiakirjat" näkymä.
  13. Siirry mukautetun Tarkennettu haku.
  14. Nyt, Äskettäin ladatulla asiakirjalla olisi indeksoitu ja indeksoitu, Joten tehdä haun, joka osoittaa kykyä paikantaa tämän laskun kautta yhdistetty ominaisuuden.
  15. Osoitamme ero haku yhdistettyjen ominaisuuksien vs. vain tekstihaku.

Tässä vaiheessa, Olemme enemmän tai vähemmän valmiita demo. Se näyttää vievän noin 30 - 45 minuuttia, sen mukaan, kuinka monta kysymystä kysytään.

Me sitten lähettää ne takaisin niiden työpöydät kanssa "läksyjä". Tämä koostuu yksinkertainen excel-taulukko jossa pyydämme heitä määrittelemään meille, mitä he ajattelevat he tarvitsevat kannalta CT, sekä korkean tason (vain nimi ja tarkoitus) sarakkeet ja tyyppisiä tietoja ne tallentaa sarakkeessa. Me emme pyydä heitä Määrittele sarakkeiden tietotyyppejä MOSS, mutta liiketaloudellisesti.

Yhteenveto:

Olemme luoneet sandbox-ympäristöä, jota voimme käyttää osoittamaan, jonka valitus on yrityksen laajuinen jotkin core MOSS.

Olemme mallinnettu ymmärrettäviä ja yhteisten yritysten yhteisöjä, jotta käyttäjät voivat keskittyä MOSS ettemme takerru julkisyhteisöiltä / Esimerkkejä itse.

Yrityskäyttäjille kävelymatkan päässä Opinnäytteet istuntojen "läksyt" muodossa olevaa excel-asiakirjat, joilla ne on nyt valtuudet täyttää ja käyttävät suunniteltaessa oman ensimmäinen leikkaus sisältötyypit.

Lopuksi, koska teemme demoja ajan, asiakkaan ryhmän jäsenet itse kyetä viemään eteenpäin, demo: n itse ja yleensä vapauttaa ylös loput meidän työskennellä monimutkaisempi, kuten maailmanlaajuinen taksonomia, monimutkaisia työnkulkuja, BDC- ja niiden kaltaiset.

MOSS: Toimiva esimerkki-määrite

Business skenaario:

Yrityksen laajuinen toteuttamisesta MOSS valmistajayritys, jolla 30+ sivustojen ja muutamia kymmeniä yrityksen yksiköt.

Liiketoiminnan tavoite:

Huolimatta monenlaisia yritysten ryhmille (osastot, sijainnit, jne), tietyt tiedot olisi säilytettävä maailmanlaajuisella tasolla. Esimerkiksi, Kaikki fyysinen sijainti yrityksen arvovaltainen pääluettelo (virrankatkaisu. tuotantolaitokset, varastosijainteja, myyntikonttorit) olisi säilytettävä keskeisellä paikalla.

Tekninen ongelma:

Yrityksen taksonomia on toteutettu useita sivustokokoelmia. Olisimme halunneet luoda arvovaltainen luettelo sijainneissa WSS luettelon. Sitten, kun tarvitsimme sarakkeen sisällön tyyppi (tai sarake lisätään luettelon tai doc) joka sisälsi yritysten tiloissa, Haluamme luoda sarakkeen "valinta" tietotyypin ja kohta siihen.

Valitettavasti, haku tietotyypit on pääsy lähdeluettelon "paikallisesti" eli arvovaltainen listalta ei voi ulottua sivustokokoelmat.

Tekninen ratkaisu:

Toteuttaa uuden mukautetun tietotyypin täytäntöön perustuu SPField ja edustettuina DropDownList UI joiden ListItems täyttää WSS pääluettelo.

Olemme luoneet uuden sivustokokoelman kutsutaan "http://localhost/EnterpriseData". Siellä, Olemme luoneet luettelon nimeltään "Paikoissa". Tässä luettelossa käytetään vain standardi "otsikko" kenttä sisältää luettelon yritysten sijainnit.

Yksi seuraa useita erillisiä vaiheita voit luoda mukautetulle tietotyypille WSS. Ne ovat:

  1. Määritä luokka, joka perii SPField (Yksi voi periä muiden kenttien tarvittaessa).

Tässä on koodi, että:

yleiset luokan XYZZYCorporateLocationField : SPFieldText
{
yleiset XYZZYCorporateLocationField
(SPFieldCollection-asetus kentät, merkkijono typeName, merkkijono displayName)
: Base(kentät, typeName, displayName) { }

yleiset XYZZYCorporateLocationField
(SPFieldCollection-asetus kentät, merkkijono displayName)
: Base(kentät, displayName) { }

yleiset Ohita BaseFieldControl FieldRenderingControl
{
saada
{
BaseFieldControl ohjaus = Uusi XYZZYCorporateLocationFieldControl();
ohjausobjekti. Kentän nimi = Tämä.InternalName;
paluu valvonta;
} //saada
} // fieldrenderingcontrol

yleiset Ohita merkkijono GetValidatedString(objekti arvo)
{
Jos (Tämä.Tarvitaan || arvo. Ominaisuuden ToString().Vastaa(Merkkijono.Tyhjä))
{
heittää Uusi SPFieldValidationException ("Osasto ei ole määritetty.");
}
paluu Base.GetValidatedString(arvo);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Määritä toinen luokka, joka perii peruskentän valvonta, kuten:

yleiset luokan XYZZYCorporateLocationFieldControl : BaseFieldControl
{
suojattu DropDownList XYZZYCorporateLocationSelector;

suojattu Ohita merkkijono DefaultTemplateName
{
saada
{
paluu "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

yleiset Ohita objekti Arvo
{
saada
{
EnsureChildControls();
paluu Tämä.XYZZYCorporateLocationSelector.SelectedValue;
} // saada
Määritä
{
EnsureChildControls();
Tämä.XYZZYCorporateLocationSelector.SelectedValue = (merkkijono)Tämä.ItemFieldValue;
} // Määritä
} // ohittaa objektin arvo

suojattu Ohita mitättömäksi Kohdetta CreateChildControls()
{

Jos (Tämä.Kentän == Null || Tämä.ControlMode == SPControlMode.Näyttö)
paluu;

Base.Kohdetta CreateChildControls();

Tämä.XYZZYCorporateLocationSelector =
(DropDownList)TemplateContainer. FindControl("XYZZYCorporateLocationSelector");

Jos (Tämä.XYZZYCorporateLocationSelector == Null)
heittää Uusi Poikkeus("VIRHE: Ei voi ladata. ASCX-tiedostossa!");

Jos (!Tämä.IsPostBack sivu.)
{

käyttäminen (SPSite sivusto = Uusi SPSite("http://localhost/enterprisedata"))
{
käyttäminen (SPWeb Web = sivusto. OpenWeb())
{

SPList currentList = web. Luettelot["Yritysten tiloissa"];

foreach (SPItem XYZZYCorporateLocation Tässä currentList.Items)
{
Jos (XYZZYCorporateLocation["Otsikko"] == Null) Jatka;

merkkijono Asiasana;
Asiasana = XYZZYCorporateLocation["Otsikko"].Ominaisuuden ToString();

Tämä.XYZZYCorporateLocationSelector.Items.Add
(Uusi Luettelokohde(Asiasana, Asiasana));

} // foreach

} // käyttämällä spweb web = site.openweb()
} // spsite-sivuston = uusi spsite("http://localhost/enterprisedata")

} // Jos ei takaisinlähetys

} // Kohdetta CreateChildControls

} // XYZZYCorporateLocationFieldControl

Edellä koodi periaatteessa toteuttaa logiikan asuttavat DropDownList arvoilla WSS mukautetun luettelon osoitteessa http://localhost/enterprisedata ja nimetty "yrityksen yksiköt".

Molempien luokkien määriteltyjen yhden .cs tiedosto, kootaan se ja laita se GAC (vahva tarvitaan, Tietysti).

  1. Toteuttaa valvonnan malli (.ascx) kuten:

<%@ Valvonta Kieli= C#" Perii="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Version = 12.0.0.0, kulttuuri = neutraali,PublicKeyToken = 71e9bce111e9429c" compilationMode= "Aina" %>
<%
@ Rekisteröidy TagPrefix-määritettä= "wssawc" Namespace="Microsoft.SharePoint.WebControls" Kokoonpano="Microsoft.SharePoint, Version = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %> <%@ Rekisteröidy TagPrefix-määritettä= "SharePoint" Namespace="Microsoft.SharePoint.WebControls" Kokoonpano="Microsoft.SharePoint, Version = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:Ohjausobjektimallin TUNNUS= "XYZZYCorporateLocationFieldControl" RUNAT= "palvelin">
<Malli>
<ASP:DropDownList TUNNUS= "XYZZYCorporateLocationSelector" RUNAT= "palvelin" />
</Malli>
</
SharePoint:Ohjausobjektimallin>

Edellä on tallennettu c:\ohjelma filescommon filesmicrosoft sharedweb server extensions12controltemplates.

  1. Lopuksi, voimme luoda XML-tiedoston tallentaa... 12XML hakemisto. Tämä on CAML, joka määrittää mukautetulle tietotyypille ja esimerkiksi, näyttää tältä:

<?XML versio="1.0" koodaus="UTF-8" ?>
<
FieldTypes>
<
FieldType>
<
Kenttä Nimi="TypeName">CorporateLocations</Kenttä>
<
Kenttä Nimi="ParentType">Teksti</Kenttä>
<
Kenttä Nimi="TypeDisplayName">Yritysten tiloissa</Kenttä>
<
Kenttä Nimi="TypeShortDescription">Kaikki XYZZY paikoissa kuten valmistus- tai.</Kenttä>
<
Kenttä Nimi="UserCreatable">TOTTA</Kenttä>
<
Kenttä Nimi="ShowInListCreate">TOTTA</Kenttä>
<
Kenttä Nimi="ShowInDocumentLibraryCreate">TOTTA</Kenttä>
<
Kenttä Nimi="ShowInSurveyCreate">TOTTA</Kenttä>
<
Kenttä Nimi="ShowInColumnTemplateCreate">TOTTA</Kenttä>
<
Kenttä Nimi="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Versio = tulee ilmoittaa yleisessä muodossa, Culture = neutral, PublicKeyToken = b0b19e85410990c4</Kenttä>
<
RenderPattern Nimi="DisplayPattern">
<
Kytkin>
<
Lauseke>
<
Sarake />
</
Lauseke>

<Tapauksessa Arvo=""/>

<Oletus>
<
HTML>
<![CDATA[
<span style = "color:Punainen"><b>]]>
</
HTML>

<
Sarake SubColumnNumber="0" HTMLEncode="TOTTA"/>

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

</
Oletus>
</
Kytkin>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
Tämä XML-tiedosto lisää mukautetulle tietotyypille WSS "Kirjasto" ja vastaa sen vastaan GAC oli kokoonpano.

Muutettuaan Nämä bitit paikalleen, iisreset palvelimella ja se pitäisi aluksi toimi hienosti.

MOSS: Mukautetun luettelon ajantasaistamiseksi

On olemassa monia hyviä esimerkkejä päivitetään Mukautettujen luetteloiden kautta SDK. Tässä on jälleen.

Liiketoimintaan liittyvästä ongelmasta: InfoPath-lomake on suunniteltu avulla käyttäjät voivat syöttää verkossa ostoehdotukset. PO ostoehdotuksen numerot olisi perinteinen järjestys perustuu kokonaislukuarvoja ja lasketaan automaattisesti.

Yritysratkaisujen: Luoda MOSS luettelon, joka sisältää kaksi saraketta: "ControlField" ja "ControlValue". Arvo-sarakkeessa on seuraava hankinta tilausnumero. Huomaa, että yleinen "valvonta" nimeämiskäytännön säädetään tulevaisuuden aloilla, joita voidaan käyttää tarvittaessa.

Tekninen ratkaisu: Luo web-palveluun, InfoPath asiakkaan käyttämiin. Web-palvelu palauttaa seuraavan ostotilauksen tilausnumero ja päivittää luettelon.

Kokemukset:

  • Kun lisäät tämän web-palvelun tietolähteenä InfoPath-lomake, Löysin sen muuntaminen udc ja säilyttää se ardor tietoyhteyskirjaston.
  • Olen myös löytänyt tarvittavat toimialueiden scripting keskitetyn hallinnan kautta // sovellusten hallinta // palvelimen asetusten.
  • Kun lomakkeen yrittänyt saada web-palveluun, Se vie aikaa ja, aikakatkaisu tapahtuu. Olen temppuja asetukset palvelimen asetusten laajentaa aikakatkaisuasetukset ja jotka näyttivät auttaa.

Koodi:

käyttäminen Järjestelmän;
käyttäminen System.Web;
käyttäminen System.Web.Services;
käyttäminen System.Web.Services.Protocols;
käyttäminen Microsoft.SharePoint;
käyttäminen System.Configuration;

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

//Kommentti, seuraava rivi, jos suunnitellut komponentit
//InitializeComponent();
}

/// <Yhteenveto>
/// Saada seuraavan PO useita sharepoint-luettelosta po numero valvonta.
/// Lisäys luetteloon PO-numeron.
/// </Yhteenveto>
/// <palauttaa></palauttaa>
[WebMethod]
yleiset merkkijono GetNextPoNumber()
{
merkkijono SpPoControlSiteName; // Todellinen MOSS-sivuston, joka isännöi Ostotilauksen hallinta-luettelon nimi.
merkkijono SpPoControlListName; // Nimen varsinainen MOSS Po-komponentti.

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

merkkijono nextPoReqNumber = "xyzzy";

käyttäminen (SPSite sivusto = Uusi SPSite(SpPoControlSiteName))
{
käyttäminen (SPWeb Web = sivusto. OpenWeb())
{

SPList currentList = web. Luettelot[SpPoControlListName];

foreach (SPItem controlItem Tässä currentList.Items)
{

Jos (((merkkijono)controlItem["ControlField"]).Vastaa("NextPoNumber"))
{
nextPoReqNumber = (merkkijono)controlItem["ControlValue"];

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

int_nextPoReqNumber ;

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

} // Sijainti, lukeminen ja päivittäminen luettelon PO-numeroa.


} // käyttämällä spweb web = site.openweb()
} // spsite-sivuston = uusi spsite("http://localhost/mizuho")

paluu nextPoReqNumber;

}
}