Som vyslaný inzerát na predaj auta v Bergen county, NJ v nedeľu večer. Dostala niekoľko otázok prostredníctvom e-mailu krátko a uzavrel dohodu s niekým v utorok večer.
Takmer príliš dobrý byť pravdivý …
Som vyslaný inzerát na predaj auta v Bergen county, NJ v nedeľu večer. Dostala niekoľko otázok prostredníctvom e-mailu krátko a uzavrel dohodu s niekým v utorok večer.
Takmer príliš dobrý byť pravdivý …
Nechcem upraviť pokročilé vyhľadávanie XSLT veľmi často, Takže sa zdá, ako som lezenie malých kopcov zakaždým.
Je to môj najmladší Lekcia: Prípad veciach pri uvádzaní stĺpca. V mojom Rozšírené vyhľadávanie, Mám stĺpce definované ako to:
<koreň xmlns:XSI="http://www.w3.org/ 2001/XMLSchema-stupňa">
<Stĺpce>
<Stĺpec meno="GafTrainingInvoiceNumber" />
<Stĺpec meno="GafTrainingInvoiceLocation" />
<Stĺpec meno="Identifikácia"/>
<Stĺpec meno="Hodnosť"/>
<Stĺpec meno="Hlava"/>
<Stĺpec meno="Autor"/>
<Stĺpec meno="Veľkosť"/>
<Stĺpec meno="Cesta"/>
<Stĺpec meno="Popis"/>
<Stĺpec meno="Písať"/>
<Stĺpec meno="SiteName"/>
<Stĺpec meno="CollapsingStatus"/>
<Stĺpec meno="HitHighlightedSummary"/>
<Stĺpec meno="HitHighlightedProperties"/>
<Stĺpec meno="ContentClass"/>
<Stĺpec meno="IsDocument"/>
<Stĺpec meno="PictureThumbnailURL"/>
</Stĺpce>
</koreň>
XSL, ktorý zobrazuje faktúry číslo a fakturačná umiestnenie bolo:
<p>
Číslo faktúry školenia: <XSL:hodnoty z Vyberte="GafTrainingInvoiceNumber"/>
<br></br>
Školenia faktúry umiestnenie: <XSL:hodnoty z Vyberte="GafTrainingInvoiceLocation"/>
</p>
Avšak, Vyberte má odkaz na vlastnosť všetkých malými písmenami, rovnako ako v:
<p>
Číslo faktúry školenia: <XSL:hodnoty z Vyberte="gaftraininginvoicenumber"/>
<br></br>
Školenia faktúry umiestnenie: <XSL:hodnoty z Vyberte="gaftraininginvoicelocation"/>
</p>
Kým som to opravil, Hľadať Výsledky ukázali menovky (tj. "Číslo faktúry školenia") ale žiadne údaje.
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ú:
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
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).
<%@ 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.
<?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.
Ďalšie kategórie: CAML
tu je skvelé vysielania chlapík menom "craig" na techniku pre nájdenie CAML definície typov obsahu poľa vychádza z živú definície lokality.
Jeho vysielania hovorí za všetko. V kocke:
Ďalšie kategórie: Visual Studio 2005
Povoliť užitočná intellisense pre funkcie, prvky, atď vo visual studio 2005:
IntelliSense je teraz povolené pre daný dokument XML.
Pozrite si tu pre viac informácií o tejto téme a pokyny ako WSS intellisense automaticky priradiť ľubovoľný súbor XML.
Vzal a prešiel vyššie uvedených test dnes ráno. Našiel som skúšku bolo ťažké a spravodlivé.
Tam je relatívny nedostatok informácií na túto skúšku na webe. Nie som si istý prečo.
Samozrejme nebudem sa dostať do detailov o skúšku som si vzal, ale myslím, že môžem povedať, tieto:
Obsahuje to, čo potrebujete vedieť prejsť skúškou a je to, IMO, veľmi presné.
</koniec>Vyberajte môj blog!
Ďalšie kategórie: Program InfoPath
Zhrnutie: Programu InfoPath 2007 forme nasadených MOSS server poskytuje rozbaľovací zoznam dodávateľov viazaná na vlastný zoznam MOSS. Pri výbere dodávateľa, pravidlá priradenie hodnoty poľa hrsť textové polia ako obchodný zástupca meno, adresa, mesto, štát, ZIP a telefón. Výkon je hrozné. Môžeme všimnúť, že výkon ešte horšie (v non-lineárne) pre každé ďalšie pole sme aktualizácie týmto spôsobom. T. j., keby sme jednoducho aktualizovať názov obchodný zástupca, to trvá [x] množstvo času. Ak sme aktualizácie obchodný zástupca, IKT1, address2, mesto, štát, ZIP, to trvá 10 krát dlhšie.
Roztok: Napíšte webovú službu (Ukážkový kód možno nájsť tu) prelietajúce meno dodávateľa a vracia údaje dodávateľa. Potom, priradiť polia týmto spôsobom. Hoci sa to zdá príliš pomalé, tam bol žiadne rozpoznateľné rozdiel vo výkone, keď sme priradili 1 pole verzus 8 polia. Ako pridaný bonus, Užívatelia si v pohode "kontaktovať server" Cylon efekt, kým čakajú na formulár na vyvolanie a konzumovať služby výsledky.
AKTUALIZÁCIA: Nikdy sme zistili príčinu tohto problému a to nikdy povrch znova.
Môžeme všimnúť počas realizácie vývoja webu, že zrazu, dvaja užívatelia sú schopní prístup ku kolekcii lokalít. Tieto účty môžu overiť na hlavnej stránke, ale pri pokuse o prístup k konkrétnu kolekciu lokalít, dostanú len prázdna obrazovka. Žiadne chyby zobrazí, len biele prázdna stránka.
Prihláste sa ako správca kolekcie lokalít a skúste pridať jeden z týchto užívateľov ako admin stránky a tentoraz, po stlačení "OK", sme si túto správu:
Vyskytla sa výnimka. (S výnimkou HRESULT: 0x 80020009 (DISP_E_EXCEPTION))
Sme strávili nejaký čas skúmaním tohto a bohužiaľ, nemala prísť s niečím užitočným. Tam boli niektoré správy do denníka diagnostiky, ale bolo to ťažké presne korelovať s touto otázkou.
V závere, sme Odstránenie kolekcie lokalít a re-vytvoril a že to vyriešil.
Ak som sa zistiť, čo spôsobilo to v budúcnosti, Budem aktualizovať tento príspevok.