kategori Achiv: SharePoint

Kijan pou résoudre mistik SharePoint erreurs.

Kourikoulòm:

Débogage difisil lè devlope personnalisé fonctionnalités pou sèvis SharePoint fenèt 3.0 (WSS) ou biwo Microsoft SharePoint sèvè (BAB PANYÒL). Koupab prensipal la se sa SharePoint nòmalman surfaces anpil ti jagnostik enfòmasyon sou browser entènèt la lè penis fè san yo pa. Antre blog sa a dekri kijan pou yo lokalize yo plis sistèm généré jagnostik enfòmasyon souvan ka bay sa extra ti detay sa yonn bezwen pou kapab idantifye gwo zafè rasin. Sa a lè sa a kapab dirije pou rezoud pwoblèm.

Mwen te itilize teknik sa ak anpil siksè pou rezoud san sa mistik erreurs.

Aproche apròch:

SharePoint enregistre yon kontra ki gen enfòmasyon sou yon jagnostik bout bwa nan yon boutèy demi lit dosye ki nan a 12 ruche.

La "12 ruche" dabitid plase nan "C:\Pwogram FilesCommon FilesMicrosoft SharedWeb sèvè Extensions12 ". (Mwen pa fin sèten si posib pou a 12 ruche pou viv nenpòt kote ankò, an reyalite).

Lide an se pou w jwenn fichier journal kouran, fòs aji ak lè sa a prese louvri a ranpli dosye. Fichiers bout bwa sa yo ki karakterize pa:

  • Production nonplis enfòmasyon. SharePoint génère yon trè laj kantite jagnostik enfòmasyon ak ekri li pou ranpli dosye sa byen vit. Ou bezwen rete vit ak dwèt pou kenbe l.
  • Milti plisite. SharePoint pa ekri pou yon sèl bout bwa soumèt men plito génère miltip fichiers bout bwa nan seri.
  • Copie Et bien pat nan Madanm Excel.

Metòd pi renmen mwen:

  1. Louvri fennèt onn t' ap moute a 12 hivelogs.
  2. Kalite vi a pou montre pa dat modifye (premye ki pi resan).
  3. En fichier journal ki pi kouran.
  4. Nan yon fennèt browser web, fòse a fè yo pèdi chemen vin nan tèt yon.
  5. Prese louvri aktyèl fichier journal Et copie contenu li pou Madanm Excel.
  6. Depeche ou jouk sa kaba, Et analyser les entrées pertinentes.

Nòt lòt:

Pa defo, jagnostik boutèy demi lit lokalize nan a 12 anyè hiveLOGS.

Madanm Meilleures pratiques (as per Mike T. de Microsoft) eta fichiers bout bwa ki ta dwe sove pou yon separe dis lou. Moun ki fè sa via admin santral. Administratè sistèm ou ka fè sa, nan ka qui ou pwal vrèman bezwen pou jwenn boutèy demi lit dokiman an gen olye de la defo 12 ruche kote yo ye).

Sa a adresses problèmes tels que:

  • SharePoint workflow ki te tonbe pou yo kòmanse fè entèn san yo pa dwe.
  • (plis pou te ajoute sou tan)
  • Sa a se te utile diagnostic workflow erreurs (par. "Workflow a te tonbe pou yo kòmanse fè entèn san yo pa dwe").

BAB PANYÒL: Entwodiksyon efficace pou yon òganizasyon

(sa a antre cross validées ant http://paulgalvin.spaces.live.com/blog/ Et http://blogs.conchango.com)

Les messages sou sit sa a pwòp Et pa nesesèman repwezante Conchango nan pozisyon yo, stratégies ou Avis.

Kourikoulòm:

Sa a dekri jan nou koumanse kèk enfòmasyon sou yon gwo (3,000 utilisateurs) Biwo Microsoft SharePoint sèvè (BAB PANYÒL) déploiement ak sa nou te fè pou ka woule nan yon jan sa a kliyan an bon ak fèm sou yon wout pwojè a ki fini ak adopsyon plen moun ansanm mak bab PANYÒL. Peyi a antre, nou se environ 50% fini ak premye faz nan pwojè a. Menm jan bagay pwogrè, M ap à sa a ak/oubyen ekri nouvo antre.

Nan ka espesifik sa a, konpayi an te deja installé SharePoint Portal sèvè 2003. Gwoup li a installé pwodwi nan yon kalite "an nou wè si yon moun traka" lamòd. Li byen vit yo te adopte pa anpil moun biznis,, ki moute jan sa dwe fèt popilè nan nan evade antrepriz. Menm jan ou ka konprann, sa a pa t ' pi bon ke estrateji déploiement (ki kliyan a t' ap travay la admèt fayit li) lè bab PANYÒL yo te rive sou sèn, kliyan a rezoud "fè li dwat" yo ak anplwaye nou pou yo ede yo.

Yon kesyon santral à nou lè nou te kòmanse aplike pwojè sa a se te: Ki jan fè nou prezante bab PANYÒL pou kliyan sa a? Bay ke kliyan a deja gen eksperyans nan SharePoint, nou se — èske sa nou bezwen pou fè "différentielle" antrènman ou fè sa nou kòmanse nan tè a leve? Apre travay ak nèg kle, nou te detèmine ki ap trete yon malad sa a kòm yon pwojè vèt nan jaden ki te fè plis sans.

Desizyon sa te kòmanse yon pwen men toujou kite nou ak gwo egzijans ki figurant soti yon estrateji bon pou woule bab PANYÒL a antrepwiz. Bab PANYÒL se gwo animo … sa gen ladann pi kontan jesyon, gestion dokiman, recherche, sekirite, odyans vize, pwojè administrasyon, "fabuleux quarante" modèles, workflow, biznis done connecteur, ets. Couple sa ak Lefèt ke li se yon gwo òganizasyon sa kapab se vre wi: yo k'ap Presque tout bab PANYÒL gwo mak Et ou ont makings de yon gwo pwojè ak yon antrepwiz atenn ak anpil bon bagay ki pase.

Nou ap à ak sijè sa a tanzantan ankò … Bab PANYÒL, ki gen yon antrepwiz ki rive ak tout antrepwiz mak-ansanm, poko menm yon ti jan sofistike kliyan genyen lè mantalman absorption fonctionnalités sa, pou enkòporamman pou kont yon fraksyon sensible yo nan woutin chak jou yo.

M pa gen yon solisyon majik pou pwoblèm. Mwen adrese olye de jis yon premye kadran sa nou te pran ak kliyan pou mennen yo desann nan wout la pou siksè yon tan ki long adopsyon.

Dimansyon:

Mezi mwen te vle ekip la pou twouve yon plan pwojè ki enkli ladan li yon tèl étapes kòm "PoepleSoft entegrasyon via BDC te konplete", "Nouvo pwodwi depatmantal kwa anlanse Workflow nèt sou tout pwen" ak "Egzekitif administrasyon) a te asepte", Mwen te gen pou etabli pou yon bagay mwens. Sa a se pou yo pa di sa "te ranmase pi piti" pa bon. an reyalite, la "moins" sa nou te deside pou déploiement inisyal a te genyen kilomèt devan kote yo rete anvan nou te kòmanse. Nan sitiyasyon nou an, la "moins" tounen:

  • Gestion senp dokiman ki ap itilize nan bibliyotèk dokiman, vèsyon pipiti de youn tip kontwòl ak sanisfè.
  • Recherche efficace baze sou tip contenu Et personnalisées recherche an avans (Via propriétés asirans sante0, XSLT pou pwodwi rezilta bèl, ets).

San konte CI-dessus fonctions antrepwiz laj (ki vle di ke pou yo te woule pou tout Depatman Et les), nou te ajoute sa singleton nan-champ mini-site:

  • Prèv pou konsèp entegrasyon BDC.
  • Divès kanpe pou yo osinon divès workflow pwosè ki te kreye via pati sosyal Demokratik.
  • Fòm InfoPath konplèks.
  • Lamanten) a pou kèk biznis pwosesis (pwobableman h mil goud akizisyon nan sitiyasyon nou an, Men sa ka chanje).

Dimansyon isit la se pa 100% byen mezire men repwezantatif ki posib nou ak ase pou m' te vle isit la, ki se pou kapab eksplike sa mwen konsidere pou yon "efficaces" yon ti rale bab PANYÒL ki pral mete kliyan yo an fermement desann chimen pou lò soufle pou tout bab PANYÒL adopsyon.

Mwen p ap ekri pa bezwen mande osijè de singleton a nan sa a. Mwen vle montre ke se pati de estrateji nou pase foure arching. Lide an se pou aplike sant dokiman jesyon ak chache fiti pou tout moun ankò bay trè fonksyonèl, anwo nan syèl la vizib ak anpil repwezantatif egzanp de lòt aparans bab PANYÒL nan sant ki tou senpleman dèyè abilite pifò moun pou absòbe jikapwezan bonè. Sepandan, yo pral "la" Et, yonn espere ke lòt inite biznis yo pral konnen ou aprann sou yo Et vle fonctionnalités sa pou yo, ki mennen ale nan pi gwo adopsyon. Sa yo singleton siksè nan istwa tou sèvi pou bay ekip nou kliyan ki pou vann an "minisyon" pou anpil siksè genyen dezyèm, twazyèm ak n-faz pwojè.

Sa nou te fè prezante epi Poukisa?

Te etabli sou dokiman gestion Et recherche kòm yon kondisyon antrepwiz laj base, nou gen bezwen pou yo kòmanse konbit detay. Kòm yo kesyon de pwatik, sa révolution autour compréhension dokiman yo ak sa, avec compréhension tip contenu.

Mwen te jwenn li difisil pou kapab eksplike pi kontan tip san èd izyèl. Oun plis teknik ka mache kite yon diskisyon sou kalite yo pi kontan lè CT a te dekri nan tèm detabez. "Yon CT menm jan an pou yon tab detabez, li gen colonnes Et colonnes sont jan l defini tèm kalite eleman yo, Men, CT done tip genyen plis ke senp entier/dat, Men tou "choix" Et "recherche" e konsa a." Nou kapab pale de "de" contenu tip, anpil tankou yonn kapab eritye fonctionnalités nan yon baz nan klas nan bagay ki te oryante lang. Sepandan sa evidamman pa konsèy itil pou transpò Depatman admin moun la ki gen okenn teknik jan nou koumanse. C'est-à-dire, pwèske tout sa pwoblèm yo nan yon déploiement bab PANYÒL.

W ap itilize yon komite blan iffy. Mwen te gen pwezante lide yon pi kontan tip e ki établi briyan (Se konsa yo pran pòz ou) foto tip contenu, kisa yo fè pou ou tèm recherche ak kijan yo ka pou elaji, ets. Nan fen, li santi tankou kèk anpoul te vire do, Men foto blan tablo detèmine se yon total dezòd.

Sa te mennen nou pou nou plas aterisaj kouran ak sa byen lwen pi meyè: yon bab PANYÒL sandbox kote ki gen configuré pou montre fiti sa.

W ap itilize a kote ki gen sandbox, nou montre:

  • Contenu tip:
    • Ap kreye yon CT ak plizyè kalite eleman yo (tèks, dat, chwa, booléenne, recherche, ets).
    • Extension CT yon pa kreye yon nouvo CT ki baze sou yon paran.
    • Chache nan dokiman w ap itilize CT métadonnées.
  • Dokiman bibliyotèk:
    • Association yon CT moun ki pa marye ak yon bibliyotèk.
    • Kisa ki rive lè nou téléchargement yon dokiman ke bibliyotèk?
    • Association miltip CT ak yon doktè bibliyotèk.
    • Kisa ki rive lè nou téléchargement yon dokiman ke bibliyotèk?
    • Filtrage Et triyay via rubriques kolòn nan yon doktè lib.
    • Dokiman bibliyotèk pwen de vi:
      • Riyaj
      • Regroupement
      • "Rapide antre" (done dra view)
      • "Non done" (kouche ak imigrasyon pou bab PANYÒL de lòt sous contenu; plis sou sa pi ba pase).

A kote ki gen Sandbox:

Nou conçu sit sandbox nou pou yon mak pèmanan nan devlòpman anviwònman pou itilize pou rezon antrènman lontan apre nou fin pwojè a e te gen plizyè objets jan te dekri:

Contenu tip:

Nou jan l defini ki tip contenu suivantes: Facture, Acha lòd, Sèvis Facture.

Nou te chwazi Facture Et acha lòd paske yo menm yo osinon ki kata pwopozisyon sou
se òganizasyon. Tout moun nan biznis konprann sa facture yon se yon demand pou peye pou yon kliyan pou yon montan a sou yon kèk dat pou peye as per kèk tèm peye. Sa ki kondwi a yon definisyon natirèl CT yon bagay nou te rele antrènman Facture"" (ye li poko li konn de nenpòt lòt jan de facture). Lòd achte menm byen defini. Nou tou te kreye yon "antrènman sèvis Facture" pa kreye yon nouvo CT ki baze sou yon a "antrènman Facture" CT Et te ajoute yon sèl rèl do, "sèvis an ki te rann".

Ak tout CI-dessus, nou kounye a kapab montre kèk karakteristik kle nan CT a san route enliser desann yo ap eseye pou kapab eksplike konsèp résumé yon premye; tout moun deja konprann sa nou vle di ke "facture" Et "achte lòd" Et au yo ka vize sou mécanique de CT a se.

Lis personnalisé:

CT ak colonnes de jan de recherche"" pou yon repòtaj lis oubyen dokiman bibliyotèk pwent (n). Nou itilize sa finn ak pou sandbox a, nou te kreye yon de lis repòtaj ki gen ladann kliyan. Nou te chwazi kliyan paske li se yon konsèp fasil pou konprann ak fasil pou montre. La Facture CT gen yon kolòn, "kliyan" sa jan l defini de jan de recherche"" ki pwen yo nan lis sa a.

Nou te kreye yon personnalisé lis menm jan an pou gérer "fournisseurs" Acha lòd"" CT.

Dokiman bibliyotèk:

Nou te kreye de bibliyotèk dokiman: "Factures" "melanje dokiman".

Nou configuré factures bibliyotèk dokiman pou gérer sèlman dokiman ki kalite CT "Facture".

Nou configuré a "Mixte dokiman" bibliyotèk pou jere tout twa CT a.

Kreye kèk pwen de vi ki montre triyay, filtrage, done dra Et pwesyonen.

Recherche:

Nou jan l defini de nouvo asirans sante0 propriétés Et avec yo pou Facture Nombre Et kliyan.

Nou te kreye yon nouvo avans personnalisé recherche kote ki gen Et modifye li pou pèmèt moun pou fè rechèch pou "factures" itilize sa de propriétés avec.

Motifye XSLT a sa facture Et kliyan nombre, Lè pwezante, parèt nan yon tab HTML nan yon koulè klere. Objektif isit la, se pou montre ke en konsa posib.

Y ap mete l' tout:

Nou ka gen utilisateurs kle pou patisipe nan yon démonstration.

Nou swiv script senp sa a:

  1. Dekri a sens Et fin de yon CT, itilize factures Et acha lòd kòm ekzanp yo.
  2. Montre definisyon CT facture pandan simultanément assurer yo ke yo pa bezwen sèvi ak écrans sa yo, jis ranmase konsèp yo.
  3. Ale nan bibliyotèk dokiman factures.
  4. Téléchargement yon dokiman.
  5. Montre sa a kliyan ane ke yo bliye-desann vrèman provenant de yon lis personnalisé.
  6. Ajoute yon nouvo kliyan pou kliyan lis Et puis à meta done facture récemment chargé ak kliyan nouvellement créé la.
  7. Ta chanje a yon "mixte dokiman" bibliyotèk ak téléchargement, yon dokiman. Eksplike kouman sistèm vous pou yon kalite dokiman.
  8. Tounen al jwenn factures dokiman bibliyotèk e montre jan Sur nan yon kolòn non chanje kalite lòd.
  9. Demontre kolòn nan nivo filtrage.
  10. Montre diferan pwen de vi ki montre plizyè kiyè triyay, filtrage Et regroupement.
  11. Montre aklè dra done.
  12. Eksplike sa nan yon "non dokiman" vi.
  13. Ta chanje a yon la recherche personnalisées avanse.
  14. Pou kounye a, depi kèk tan chargé dokiman an ta dwe ont te analysées Et endis, Se konsa, se fè yon rechèch ki montre abilite pou w jwenn sa facture via la propriété avec.
  15. Nou montre diferans ant chache via vs propriétés avec. jis yon tèks recherche.

Nan pwen sa a, nou osinon ki kata k'ap fèt ak la démo. Li sanble pou yo pran osijè de 30 pou 45 minit, selon konbyen kesyon moun poze.

Nou lè sa a, voye yo tounen pou yo bureaux ak "devwa lakay". Sa a se moun pote lestonmak li bay yon excel calcul kote nou mande yo pou yo defini pou nou sa yo panse ke yo bezwen tèm CT a, les ak wo nivo (objectif jis non ak biznis) osi byen ke kolòn ak kalite done yo ta boutik nan kolòn a. Nou pa mande yo pou yo defini kalite done kolòn yo nan tèm bab PANYÒL, Men tèm biznis.

Nan somè:

Nou te kreye yon anviwonman sandbox pou nou kapab itilize pou montre kèk sant bab PANYÒL karakteristik apèl ki gen laj antrepriz.

Nou te Sur fasil compris e komen biznis òganizasyon pou moun kapab vize sou bab PANYÒL e pa gen enliser sou òganizasyon yo / egzanp yo.

Utilisateurs biznis ap mache kite ces sesyon yo ak devwa lakay"" nan fòm excel dokiman kote yo koulye a pyès pou ranpli ak epi itilize pou conception pwòp tip contenu premye-koupe.

A la fen, menm jan nou fè démonstrations sou tan, manm ekip la kliyan yo vin pi ka pòte an avan, fè démonstration a la tèt yo Et jeneralman libere moute ti rès ki rete nan nou pou yo travay sou kesyon plis konplèks, tankou classification mondyal, workflows konplèks, BDC Et la tankou.

BAB PANYÒL: Fonctionnelles egzanp-tip Personnalisé done

Biznis Scénario:

Enterprise laj aplikasyon de bab PANYÒL pou konpayi manifakti ak 30+ pozisyon ak kèk douzèn lis entreprise.

Objèktif biznis:

Malgre yon multitude de gwoup biznis yo (lis, kote yo ye, ets), done konnen se ta dwe rete nan yon nivo mondyal. Pa ekzanp, yon mèt lis autorité de tout kote fizik yo nan konpayi an (par. fasilite manifakti yo, depo kote yo ye, kliyan ki pou vann nan biwo) ta dwe rete nan yon sant kote yo ye.

Pwoblèm teknik:

La classification antrepwiz te aplike itilize miltip koleksyon yo kote ki gen. Nou ta renmen pou kreye lis la faisant fizik kote yo ye nan yon lis personnalisé WSS. apre, Lè nou bezwen pou gen yon kolòn nan yon jan de contenu (ou yon kolòn te ajoute pou yon lis ou doktè bibliyotèk) ki genyen entreprise kote yo ye, nou pwal kreye yon kolòn itilize la "recherche" datatype Et pwen pou mèt lis sa a.

Malerezman, recherche datatypes dwe jwenn yon sous lis "lokalman" ki vle di ke nou autorité lis ne pon koleksyon yo kote ki gen.

Solisyon teknik:

Implement yon nouvo modèl personnalisé done aplike ki baze sou SPField Et repwezante kòm yon DropDownList nan ListItems ki peple nan lis WSS mèt UI a.

Nou te kreye yon nouvo koleksyon sit ki te rele "http://localhost/EnterpriseData". La, nou te kreye yon lis personnalisé ki rele "Emplacements Entreprise". Lis sa a sèlman itilize estanda "Tit" jaden pou mete a revizyon lis lokasyon entreprise réel.

Yonn te swiv plizyè disrè etap sa yo pou kreye yon kalite personnalisé done nan WSS. Yo se:

  1. Defini nan yon klas ki hérite de SPField (yonn pou eritye nan lòt sistèm yo si yo mande).

Se isit la a kòd pou sa:

piblik klas XYZZYCorporateLocationField : SPFieldText
{
piblik XYZZYCorporateLocationField
(SPFieldCollection jaden, filè typeName, filè displayName)
: baz(jaden, typeName, displayName) { }

piblik XYZZYCorporateLocationField
(SPFieldCollection jaden, filè displayName)
: baz(jaden, displayName) { }

piblik remplacer BaseFieldControl FieldRenderingControl
{
jwenn
{
BaseFieldControl kontwòl = nouvo XYZZYCorporateLocationFieldControl();
kontwòl. FieldName = sa a.InternalName;
retounen kontwòl;
} //jwenn
} // fieldrenderingcontrol

piblik remplacer filè GetValidatedString(objet valè)
{
Si (sa a.Mande || valè. ToString().Fèt pou l egal(Filè.Vid))
{
voye nouvo SPFieldValidationException ("Depatman pa plase.");
}
retounen baz.GetValidatedString(valè);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Defini nan yon lòt klas ki hérite de baz jaden kontwòl, menm jan nan:

piblik klas XYZZYCorporateLocationFieldControl : BaseFieldControl
{
pwoteje DropDownList XYZZYCorporateLocationSelector;

pwoteje remplacer filè DefaultTemplateName
{
jwenn
{
retounen "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

piblik remplacer objet Valè
{
jwenn
{
EnsureChildControls();
retounen sa a.SelectedValue XYZZYCorporateLocationSelector.;
} // jwenn
ansanm nonm
{
EnsureChildControls();
sa a.XYZZYCorporateLocationSelector.SelectedValue = (filè)sa a.ItemFieldValue;
} // ansanm nonm
} // remplacer objè valè

pwoteje remplacer vid CreateChildControls()
{

Si (sa a.Jaden == null || sa a.ControlMode == SPControlMode.Ekspozisyon)
retounen;

baz.CreateChildControls();

sa a.XYZZYCorporateLocationSelector =
(DropDownList)FindControl TemplateContainer.("XYZZYCorporateLocationSelector");

Si (sa a.XYZZYCorporateLocationSelector == null)
voye nouvo Eksepsyon("ERREUR: Pa kapab chaje. Ranpli ASCX!");

Si (!sa a.IsPostBack Page.)
{

itilize (SPSite kote ki gen = nouvo SPSite("http://localhost/enterprisedata"))
{
itilize (SPWeb Web = direksyon. OpenWeb())
{

Splist.update() currentList = web. Lis["Kòpore lame an kote yo ye"];

foreach (SPItem XYZZYCorporateLocation nan currentList.Items)
{
Si (XYZZYCorporateLocation["Tit"] == null) «««;

filè theTitle;
theTitle = XYZZYCorporateLocation["Tit"].ToString();

sa a.XYZZYCorporateLocationSelector.Items.Add
(nouvo ListItem(theTitle, theTitle));

} // foreach

} // w ap itilize entènèt spweb = site.openweb()
} // w ap itilize kote ki gen spsite = spsite nouvo("http://localhost/enterprisedata")

} // Si se pa sa publication yon

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

Kòd CI-dessus a fondamantalman en a lojik pou remplissage DropDownList ak valè de WSS personnalisé lis la se nan http://localhost/enterprisedata Et rele "Entreprise lis".

Jan mwen l defini tou de klas nan yon fichier .cs moun ki pa marye, konpile l, yo tounen GAC a (gwo nécessaires, Men wi).

  1. Aplike yon modèle de kontwòl (.ascx) jan montre:

<%@ Kontwòl Lang= "C#" Hérite="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Vèsyon pipiti de youn = 12.0.0.0, kilti = neutres,PublicKeyToken = 71e9bce111e9429c" compilationMode= "Toujou" %>
<%
@ Anrejistre Tagprefix= "wssawc" Namespace="Microsoft.SharePoint.WebControls" Asanble="Microsoft.SharePoint, Vèsyon pipiti de youn = 12.0.0.0, Kilti = neutres, PublicKeyToken = 71e9bce111e9429c" %> <%@ Anrejistre Tagprefix= "SharePoint" Namespace="Microsoft.SharePoint.WebControls" Asanble="Microsoft.SharePoint, Vèsyon pipiti de youn = 12.0.0.0, Kilti = neutres, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:RenderingTemplate DIDANTITE= "XYZZYCorporateLocationFieldControl" runat= "sèvè">
<Modèle>
<asp:DropDownList DIDANTITE= "XYZZYCorporateLocationSelector" runat= "sèvè" />
</Modèle>
</
SharePoint:RenderingTemplate>

La CI-dessus sove nan c:\pwogram filescommon filesmicrosoft sharedweb sèvè extensions12controltemplates.

  1. A la fen, nou, kreye yon fichier XML pou sove nan tout rekòt kafe/zaboka anyè 12XML. Se sa rele CAML définit tip done koutim nou, pou m' moutre, recherche kon sa:

<?xml vèsyon pipiti de youn="1.0" codage="utf-8" ?>
<
FieldTypes>
<
FieldType>
<
Jaden fe-apel="TypeName">CorporateLocations</Jaden>
<
Jaden fe-apel="ParentType">Tèks</Jaden>
<
Jaden fe-apel="TypeDisplayName">Kòpore lame an kote yo ye</Jaden>
<
Jaden fe-apel="TypeShortDescription">Tout kote XYZZY kòpore lame an ki gen fabrication oubyen lòt fasilite.</Jaden>
<
Jaden fe-apel="UserCreatable">TOUT BON</Jaden>
<
Jaden fe-apel="ShowInListCreate">TOUT BON</Jaden>
<
Jaden fe-apel="ShowInDocumentLibraryCreate">TOUT BON</Jaden>
<
Jaden fe-apel="ShowInSurveyCreate">TOUT BON</Jaden>
<
Jaden fe-apel="ShowInColumnTemplateCreate">TOUT BON</Jaden>
<
Jaden fe-apel="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Vèsyon pipiti de youn = 1.0.0.0, Kilti = neutres, PublicKeyToken = b0b19e85410990c4</Jaden>
<
RenderPattern fe-apel="DisplayPattern">
<
Chanjman>
<
Expr>
<
Kolòn />
</
Expr>

<Ka Valè=""/>

<Par>
<
HTML>
<![CDATA[
<pon stil = "koulè:Red"><b>]]>
</
HTML>

<
Kolòn SubColumnNumber="0" HTMLEncode="TOUT BON"/>

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

</
Par>
</
Chanjman>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
Fichier XML sa a ajoute ki tip personnalisé done pou WSS "bibliyotèk" Et alimè li sou GAC lan te asanble.

Apwè li te fè tout moso sa yo nan plas, iisreset sou sèvè a e li ta dwe tout kòmanse travay bien.

BAB PANYÒL: Mete kanpe sou pye yon lis personnalisé

Genyen anpil egzanp bon de lis personnalisé via SDK an mete kanpe sou pye. Isit la se yon lòt.

Pwoblèm biznis: Fòm InfoPath ki te fèt aux utilisateurs pou antre sou liy achte demandes. LA demande anpil moun ta dwe sekans tradisyonèl baze entier valè Et calculé otomatikman.

Solisyon biznis: Kreye yon repòtaj lis bab PANYÒL ki contenant colonnes de: "ControlField" Et "ControlValue". Kolòn valè a contient a pwochen acha bon nombre. Note ke générique a "kontwole" konvansyon D' offre pou pwochen kontwòl savann sa yo va sèvi tankou bezwen pou.

Solisyon teknik: Kreye yon sèvis entènèt ki otorize moun vin ladan pa kliyan InfoPath a. Sèvis entènèt la renvoie tounen a pwochen acha bon nombre Et à rapòte ou lajan pou lis la.

Leson Appris:

  • Lè ajoute ke sèvis entènèt sa a tankou yon sous enfòmasyon pou fòm InfoPath, Mwen te twouve li nesesè pou kouvri l' pou yon udc Et boutique li nan bibliyotèk koneksyon done.
  • Mwen tou te twouve li nesesè pou pèmèt cross domèn scripting via administrasyon an sèvis santral // gestion aplikasyon // fòm sèvè configuration.
  • Premye fwa fòm lan te eseye pou jwenn sèvis entènèt la, li pran yon moman Et sou occasion, li ta gen tan pou rekreyasyon. Mwen fiddled ak paramètres nan fòm sèvè configuration pou elaji les paramètres D' Et sa a la pou ede.

Kòd la:

itilize Sistèm;
itilize System.Web;
itilize System.Web.Services;
itilize System.Web.Services.Protocols;
itilize Microsoft.SharePoint;
itilize System.Configuration;

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

//Supprimez apwe liy si w ap itilize fèt konpozan
//InitializeComponent();
}

/// <rezime>
/// Jwenn anpil PO pwochen nan a sharepoint po nimewo kontwòl lis.
/// Nimewo enkreman, PO a nan lis sa.
/// </rezime>
/// <cette></cette>
[WebMethod]
piblik filè GetNextPoNumber()
{
filè SpPoControlSiteName; // Non aktyèl bab PANYÒL sit la ki hôtes lis la kontwòl.
filè SpPoControlListName; // Non aktyèl bab PANYÒL lis ki gen Po kontwòl.

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

filè nextPoReqNumber = "xyzzy";

itilize (SPSite kote ki gen = nouvo SPSite(SpPoControlSiteName))
{
itilize (SPWeb Web = direksyon. OpenWeb())
{

Splist.update() currentList = web. Lis[SpPoControlListName];

foreach (SPItem controlItem nan currentList.Items)
{

Si (((filè)controlItem["ControlField"]).Fèt pou l egal("NextPoNumber"))
{
nextPoReqNumber = (filè)controlItem["ControlValue"];

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

int_nextPoReqNumber ;

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

} // Lokalize, devwa nan lekti ak à PO anpil nan lis la.


} // w ap itilize entènèt spweb = site.openweb()
} // w ap itilize kote ki gen spsite = spsite nouvo("http://localhost/mizuho")

retounen nextPoReqNumber;

}
}