Chak mwa Achiv: Out 2007

Bab PANYÒL avanse recherche personnalisation — Ka anyen nan men modèn recherche XSLT

Mwen pa motifye avanse recherche XSLT trè souvan, Se konsa, li sanble tankou mwen menm Eskalad ti mòn chak fwa.

M' leson destriktè pi nouvo an, se pou sa: Ka questions lè qui yon kolòn. M' ap toujou chache avanse nan, Mwen gen kolòn jan l defini tankou sa a:

<rasin xmlns:xsi="http://www.w3.org/ lane 2001/XMLSchema-bagay">
<
Kolòn>
<
Kolòn fe-apel="GafTrainingInvoiceNumber" />
<
Kolòn fe-apel="GafTrainingInvoiceLocation" />
<
Kolòn fe-apel="WorkId"/>
<
Kolòn fe-apel="Grad"/>
<
Kolòn fe-apel="Tit"/>
<
Kolòn fe-apel="Otè"/>
<
Kolòn fe-apel="Taille"/>
<
Kolòn fe-apel="Ti chemen"/>
<
Kolòn fe-apel="Dekri teren"/>
<
Kolòn fe-apel="Ekri"/>
<
Kolòn fe-apel="SiteName"/>
<
Kolòn fe-apel="CollapsingStatus"/>
<
Kolòn fe-apel="HitHighlightedSummary"/>
<
Kolòn fe-apel="HitHighlightedProperties"/>
<
Kolòn fe-apel="ContentClass"/>
<
Kolòn fe-apel="IsDocument"/>
<
Kolòn fe-apel="PictureThumbnailURL"/>
</
Kolòn>
</
rasin>

XLST sa affiche la facture nombre Et facture kote te konn:

<p i>
Antrènman Facture nimewo: <xsl:valè-de fè chwa="GafTrainingInvoiceNumber"/>
<
br></br>
Antrènman Facture kote yo ye: <xsl:valè-de fè chwa="GafTrainingInvoiceLocation"/>
</
p i>

Sepandan, sélectionnez la gen pou référence jaden an nan tout ka lower, menm jan nan:

<p i>
Antrènman Facture nimewo: <xsl:valè-de fè chwa="gaftraininginvoicenumber"/>
<
br></br>
Antrènman Facture kote yo ye: <xsl:valè-de fè chwa="gaftraininginvoicelocation"/>
</
p i>


Jiskaske mwen corriger sa, rezilta rechèch ki te montre étiquettes yo (c'est-à-dire. "Antrènman Facture nimewo") Men se pa done.

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.

WSS: Teknik pou kreye définitions jaden CAML.

Kategori supplémentaires: CAML

Isit se yon gwo validation pa yon nèg ki rele "craig" sou yon teknik pou jwenn définitions CAML pou kalite jaden contenu yo baze sou vrèman viv définitions de kote ki gen yon.

Validation l' di l' tout. An brèf:

  1. Kreye yon jan de contenu.
  2. Asosye li ak yon lis.
  3. Louvri leve ansanm ak SharePoint fè desen.
  4. Lwa nan pou yon "web pèsonèl pakè".
  5. Yon .cab pou bay yon lòt non.
  6. Extrait manifest a.
  7. Jwenn ou contenu tip e ki asosye CAML.

WSS: Rezime etap sa yo pou pèmèt itil Fonctionnalités/eleman/ets. Intellisense nan VS 2005

Kategori supplémentaires: Woblèm estidyo 2005

Pou pèmèt intellisense itil pou Fonctionnalités, eleman yo, etc nan estidyo izyèl 2005:

  1. Accès sèvè WSS yon.
  2. Navige pou "c:\pwogram filescommon filesmicrosoft sharedweb sèvè extensions12TEMPLATEXML"
  3. Louvri yon lòt onn fennèt t' ap: "C:\Pwogram FilesMicrosoft izyèl estidyo 8XmlSchemas"
  4. Copie suivant les fichiers de la WSS sèvè VS ou 2005 anyè schémas:
    1. Wss.xsd
    2. CamlQuery.xsd
    3. CamlView.xsd
    4. CoreDefintions.xsd
  5. Redémarrer VS 2005
  6. Ajoute yon nouvo fichier XML pou yon pwojè.
  7. Sur nan kò sa a de fichier XML a.
  8. Nan volet propriétés a, Klike sou "Schémas" Et sélectionnez "wss.xsd" de chwa. (Se pa nesesè pou yo chwazi lòt xsd depi yo sont référencés de wss.xsd).

Intellisense koulye a pèmèt pou sa dokiman XML.

Gade Isit pou plis enfòmasyon sou sijè sa a ak pou kèk enstriksyon sou kijan pou yo otomatikman asosye WSS intellisense ak tout fichier XML.

Egzamen WSS 70-541, Fenèt Microsoft SharePoint sèvis 3.0 – Aplikasyon developman

Mwen pran, te pase tès pi wo mentionné maten sa a. Mwen jwenn ekzamen an va difisil ak bèl.

Se yon famin paran enfòmasyon sou egzamen sa a sou entènèt la. Mwen pa fin sèten Poukisa.

Mwen evidamman p ap ka antre nan tout ti detay sou ekzamen an, mwen te fè, Men mwen panse mwen kapab en di swivan:

  1. Konfyans sa a ki lye: http://www.microsoft.com/learning/exams/70-541.mspx.

    Li montre yon lis sa ou dwe konnen pou yo pase ekzamen an Et sa a, OMI, trè byen mezire.

  2. Lyen tou recommande L' fennèt Microsoft SharePoint sèvis 3.0 pa Ted Pattison & Daniel Larson. Liv sa a kouvri pwèske tout sijè ki anba tantasyon adresses. Mwen te twouve li a gen gwo pouvwa nan Et de kont li dèyè senp konkou.. Li bay anpil egzanp Et vrèman a m panse ak swen sou kèk nouvo Et enteresan sa ki gen pou eseye. Si ou vle mande pou sote kèk pyès nan liv la, jis référence Des liv lan ak tout bagay nan lyen nan pi wo pase.
  3. Pa gen anyen temps réel eksperyans hands. Si ou gen tan ak enterè, swiv ansanm ak ekzanp yo nan liv la, lè sa a fè esperyans ak yo. W ap gen yon tan pi fasil nan egzamen an dapre travay yo aprann vrèman WSS aplikasyon programmation.

</fen>Vous pou m' blog!

BAB PANYÒL / InfoPath fòmilè sèvè (InfoPath 2007) ane ke yo bliye-desann lis pèfòmans

Kategori supplémentaires: InfoPath

Rezime: Yon InfoPath 2007 fòm pou yon sèvè bab PANYÒL bay yon lis ane ke yo bliye-desann de fournisseurs mare a yon lis personnalisé bab PANYÒL. Sou sélection yon machann, règles Deziyen yon valè jaden pou yon ti ponyen tèks jaden tankou kliyan ki pou vann repwezantan non, adrès, vil, eta, postal ak nimewo telefòn. Pèfòmans tèrib. Nou santi ke pèfòmans vin pi mal (a la mad yon ki pa lineyè) pou chak lòt jaden nou à wout sa a. C'est-à-dire, Si nou tout à la vente repwezantan non, li pran [x] kantite tan. Si nou à repwezantan kliyan ki pou vann, 1, 2, vil, eta, postal, li pran 10 fwa plus.

Solisyon: Ekri yon sèvis entènèt (echantiyon kòd ka jwenn Isit) sa te pase nan non yon machann Et renvoie tounen detay machann. apre, Deziyen yon jaden wout sa a. Malgre ke sa a twò semble lent, te gen okenn discernable diferans nan pèfòmans lè nou plase 1 jaden à 8 jaden. Kòm yon bonus te ajoute, utilisateurs jwenn yon frèt "kontakte sèvè a" Cylon effet pandan ke yap tann pou fòm pou envoke Et utiliser sèvis la ke rezilta yo.

BAB PANYÒL: Eksepsyon ki te fèt. (Eksepsyon de HRESULT: 0x 80020009 (DISP_E_EXCEPTION))

AJOU: Nou pa janm detèmine rasin kòz pwoblèm sa a e li pa janm sifas ankò.

Nou remake pandan aplikasyon de yon direksyon devlopman sa rete konsa, utilisateurs de pa gen anyen pou accès yon sit ranmase kèt. Comptes sa kapab s' al sou prensipal, Men, lè ap eseye pou jwenn yon koleksyon an patikilye sit, yo jwenn jis yon écran vid. Pa erreurs affiche, jis yon blan blanch paj.

Nou lògin kòm yon sit koleksyon admin Et eseye ajoute yonn nan moun sa tankou yon sit admin Et fwa sa a, sou presan "Bon", nou resevwa mesaj sa a:

Eksepsyon ki te fèt. (Eksepsyon de HRESULT: 0x 80020009 (DISP_E_EXCEPTION))

Nou te pase kèk tan sou sa Et malerezman, pa t vini ak yon bagay itil. Te gen kèk mesaj nan ak demi lit dyagnostik, Men, li te di pou exactement en yo ak bagay sa a.

Nan fen, nou efase koleksyon direksyon an ak recréée li ak sa rezoud li.

Si mwen evalye sa a sa nan tan kap vini, M ap à pòs sa a.