Ik heb gepost een advertentie voor de verkoop van mijn auto in Bergen county, NJ op zondagavond. Ik ontving verschillende aanvragen via e-mail kort daarna en sloot de deal met iemand op dinsdag avond.
Bijna te mooi om waar te zijn …
Ik heb gepost een advertentie voor de verkoop van mijn auto in Bergen county, NJ op zondagavond. Ik ontving verschillende aanvragen via e-mail kort daarna en sloot de deal met iemand op dinsdag avond.
Bijna te mooi om waar te zijn …
Ik wijzigen Geavanceerd zoeken XSLT heel vaak niet, zodat het lijkt alsof ik ben klein heuvels telkens klimmen.
Mijn nieuwste les is dit: Geval van belang wanneer wordt verwezen naar een kolom. In mijn Geavanceerd zoeken, Ik heb kolommen gedefinieerd als dit:
<wortel xmlns:XSi="http://www.w3.org/2001/XMLSchema-instance">
<Kolommen>
<Kolom Naam="GafTrainingInvoiceNumber" />
<Kolom Naam="GafTrainingInvoiceLocation" />
<Kolom Naam="WorkId"/>
<Kolom Naam="Rang"/>
<Kolom Naam="Titel"/>
<Kolom Naam="Auteur"/>
<Kolom Naam="Grootte"/>
<Kolom Naam="Pad"/>
<Kolom Naam="Beschrijving"/>
<Kolom Naam="Schrijven"/>
<Kolom Naam="SiteName"/>
<Kolom Naam="CollapsingStatus"/>
<Kolom Naam="HitHighlightedSummary"/>
<Kolom Naam="HitHighlightedProperties"/>
<Kolom Naam="ContentClass"/>
<Kolom Naam="IsDocument"/>
<Kolom Naam="PictureThumbnailURL"/>
</Kolommen>
</wortel>
De XSLT die wordt weergegeven de locatie van de factuur nummer en factuur geweest:
<p>
Opleiding factuurnummer: <XSL:waarde-van Selecteer="GafTrainingInvoiceNumber"/>
<BR></BR>
Opleiding factuur locatie: <XSL:waarde-van Selecteer="GafTrainingInvoiceLocation"/>
</p>
Echter, het selecteren heeft om te verwijzen naar de eigenschap in alle kleine letters, Als in:
<p>
Opleiding factuurnummer: <XSL:waarde-van Selecteer="gaftraininginvoicenumber"/>
<BR></BR>
Opleiding factuur locatie: <XSL:waarde-van Selecteer="gaftraininginvoicelocation"/>
</p>
Totdat ik gecorrigeerd die, Zoekresultaten toonden de etiketten (dwz. "Opleiding factuurnummer") maar geen gegevens.
Bedrijfsscenario:
Ondernemingswijde uitvoering van MOSS voor productiebedrijf met 30+ sites en een paar dozijn stafafdelingen.
Zakelijke doel:
Ondanks een veelheid van business groups (afdelingen, locaties, etc), bepaalde gegevens moeten worden gehandhaafd op een mondiaal niveau. Bijvoorbeeld, een gezaghebbende hoofdlijst van alle fysieke locaties van het bedrijf (bijvoorbeeld. productiefaciliteiten, magazijn locaties, verkoopkantoren) moet worden gehandhaafd op een centrale locatie.
Technisch probleem:
De taxonomie van de onderneming werd uitgevoerd met behulp van meerdere siteverzamelingen. Wij hadden gewild de gezaghebbende lijst van fysieke locaties maken in een aangepaste WSS-lijst. Vervolgens, Wanneer we die nodig is om een kolom in een inhoudstype (of een kolom toegevoegd aan een lijst of doc bibliotheek) die opgenomen corporate locaties, We zouden een kolom met behulp van de "lookup maken" datatype en punt aan dit master lijst.
Helaas, opzoeken datatypes moet toegang hebben tot een bronlijst 'lokaal" Wat betekent dat onze gezaghebbende lijst niet meerdere siteverzamelingen kunnen omvatten.
Technische oplossing:
Uitvoering van een nieuwe aangepaste gegevenstype ten uitvoer gelegd op basis van SPField en vertegenwoordigd als een DropDownList in de UI waarvan ListItems vanuit de hoofdlijst WSS vullen.
We hebben een nieuwe siteverzameling genoemd gemaakt "http://localhost/EnterpriseData". Er, we gemaakt een aangepaste lijst met de naam 'Corporate locaties'. Deze lijst gebruikt enkel de standaard "titel" veld bevatten de lijst van werkelijke corporate locaties.
Een volgt verschillende discrete stappen voor het maken van een aangepast gegevenstype in WSS. Ze zijn:
Hier is de code voor dat:
openbare klasse XYZZYCorporateLocationField : SPFieldText
{
openbare XYZZYCorporateLocationField
(SPFieldCollection velden, tekenreeks typeName, tekenreeks displayName)
: Base(velden, typeName, displayName) { }
openbare XYZZYCorporateLocationField
(SPFieldCollection velden, tekenreeks displayName)
: Base(velden, displayName) { }
openbare overschrijven BaseFieldControl FieldRenderingControl
{
Toevoegen
{
BaseFieldControl controle = Nieuw XYZZYCorporateLocationFieldControl();
controle. FieldName = Dit.InternalName;
terugkeer controle;
} //Toevoegen
} // fieldrenderingcontrol
openbare overschrijven tekenreeks GetValidatedString(object waarde)
{
Als (Dit.Vereist || waarde. ToString().Is gelijk aan(Tekenreeks.Leeg))
{
gooien Nieuw SPFieldValidationException ("Departement is niet toegewezen.");
}
terugkeer Base.GetValidatedString(waarde);
} // getvalidatedstring
} // XYZZYCorporateLocation
openbare klasse XYZZYCorporateLocationFieldControl : BaseFieldControl
{
beschermd DropDownList XYZZYCorporateLocationSelector;
beschermd overschrijven tekenreeks DefaultTemplateName
{
Toevoegen
{
terugkeer "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName
openbare overschrijven object Waarde
{
Toevoegen
{
EnsureChildControls();
terugkeer Dit.XYZZYCorporateLocationSelector.SelectedValue;
} // Toevoegen
instellen
{
EnsureChildControls();
Dit.XYZZYCorporateLocationSelector.SelectedValue = (tekenreeks)Dit.ItemFieldValue;
} // instellen
} // object waarde overschrijven
beschermd overschrijven VOID CreateChildControls()
{
Als (Dit.Veld == Null || Dit.ControlMode == SPControlMode.Weergave)
terugkeer;
Base.CreateChildControls();
Dit.XYZZYCorporateLocationSelector =
(DropDownList)TemplateContainer.FindControl("XYZZYCorporateLocationSelector");
Als (Dit.XYZZYCorporateLocationSelector == Null)
gooien Nieuw Uitzondering("FOUT: Kan niet laden. ASCX bestand!");
Als (!Dit.IsPostBack de pagina.)
{
met behulp van (SPSite site = Nieuw SPSite('http://localhost/enterprisedata"))
{
met behulp van (SPWeb Web = site. OpenWeb())
{
SPList currentList = web. Lijsten['Corporate locaties"];
foreach (SPItem XYZZYCorporateLocation in currentList.Items)
{
Als (XYZZYCorporateLocation["Titel"] == Null) «««;
tekenreeks Krijgt;
Krijgt = XYZZYCorporateLocation["Titel"].ToString();
Dit.XYZZYCorporateLocationSelector.Items.Add
(Nieuw ListItem(Krijgt, Krijgt));
} // foreach
} // met behulp van spweb web = site.openweb()
} // gebruik van spsite site = nieuwe spsite('http://localhost/enterprisedata")
} // Als niet een terugsturen
} // CreateChildControls
} // XYZZYCorporateLocationFieldControl
De bovenstaande code implementeert in principe de logica voor het vullen van de DropDownList met waarden uit de WSS aangepaste lijst attractiepark http://localhost/enterprisedata en met de naam "Corporate afdelingen".
Ik heb beide klassen gedefinieerd in een enkele .cs-bestand, gecompileerd het en zet het in de GAC (sterke vereist, Natuurlijk).
<%@ Controle Taal= "C#" Erft="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Versie = 12.0.0.0, Culture = neutral,PublicKeyToken = 71e9bce111e9429c" compilationMode= "Always" %>
<%@ Registreren Tagprefix"wssawc =" Namespace="Microsoft.SharePoint.WebControls" Vergadering="Microsoft.SharePoint, Versie = 12.0.0.0, Cultuur = neutraal, PublicKeyToken = 71e9bce111e9429c" %> <%@ Registreren Tagprefix= "SharePoint" Namespace="Microsoft.SharePoint.WebControls" Vergadering="Microsoft.SharePoint, Versie = 12.0.0.0, Cultuur = neutraal, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:RenderingTemplate ID"XYZZYCorporateLocationFieldControl =" RUNAT= "server">
<Sjabloon>
<ASP:DropDownList ID"XYZZYCorporateLocationSelector =" RUNAT= "server" />
</Sjabloon>
</SharePoint:RenderingTemplate>
Het bovenstaande wordt opgeslagen in c:\Program filescommon filesmicrosoft sharedweb server extensions12controltemplates.
<?XML Versie="1.0" codering="UTF-8" ?>
<FieldTypes>
<FieldType>
<Veld Naam="TypeName">CorporateLocations</Veld>
<Veld Naam="ParentType">Tekst</Veld>
<Veld Naam="TypeDisplayName">Corporate locaties</Veld>
<Veld Naam="TypeShortDescription">Alle Corporate XYZZY locaties met inbegrip van de productie- of andere voorzieningen.</Veld>
<Veld Naam="UserCreatable">WAAR</Veld>
<Veld Naam="ShowInListCreate">WAAR</Veld>
<Veld Naam="ShowInDocumentLibraryCreate">WAAR</Veld>
<Veld Naam="ShowInSurveyCreate">WAAR</Veld>
<Veld Naam="ShowInColumnTemplateCreate">WAAR</Veld>
<Veld Naam="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Versie = 1.0.0.0, Cultuur = neutraal, PublicKeyToken = b0b19e85410990c4</Veld>
<RenderPattern Naam="DisplayPattern">
<Schakelaar>
<Expr>
<Kolom />
</Expr>
<Geval Waarde=""/>
<Standaard>
<HTML>
<![CDATA[<span stijl = "kleur:Red"><b>]]>
</HTML>
<Kolom SubColumnNumber="0" HTMLEncode="WAAR"/>
<HTML><![CDATA[</b></span>]]></HTML>
</Standaard>
</Schakelaar>
</RenderPattern>
</FieldType>
</FieldTypes>
Dit XML-bestand wordt het aangepaste gegevenstype toegevoegd aan de WSS "bibliotheek" en komt overeen met het op tegen de GAC hadden vergadering.
Na het verplaatsen van al deze stukjes op zijn plaats, iisreset op de server en het moet alle gaan werken mooi.
Aanvullende categorie: CAML
Hier is een grote terbeschikkingstelling door een kerel met de naam "craig" op een techniek voor het vinden van CAML definities voor veld inhoudstypen gebaseerd op echte live definities van een site.
Zijn post zegt het al. In het kort:
Extra categorieën: Visual Studio 2005
Nuttige intellisense inschakelen voor functies, elementen, enz in visuele studio 2005:
IntelliSense is nu ingeschakeld voor dat XML-document.
Zie Hier voor meer informatie over dit onderwerp en voor instructies over hoe WSS intellisense automatisch koppelen aan een XML-bestand.
Ik nam en de hierboven genoemde test vanmorgen doorstaan. Ik vond het examen moeilijk en eerlijk.
Er is een relatieve gebrek aan informatie over dit examen op het web. Ik ben niet zeker waarom.
Ik uiteraard gewoon te krijgen in elk detail over het examen dat ik nam, maar ik denk dat ik kan gerust zeggen de volgende:
Het vindt u wat u moet weten om te passeren van het examen en het is, IMO, zeer nauwkeurig.
</einde>Abonneren op mijn blog!
Aanvullende categorie: InfoPath
Samenvatting: Een InfoPath 2007 formulier geïmplementeerd op een server MOSS biedt een drop-down lijst van leveranciers die zijn gekoppeld aan een aangepaste lijst MOSS. Bij het selecteren van een leverancier, regels toewijzen veldwaarden aan een handvol tekstvelden zoals de naam van de verkoper, adres, stad, staat, zip en telefoon. Prestaties is verschrikkelijk. We merken dat de prestaties slechter (in een niet-lineaire mode) voor elk extra veld bijwerken we op deze manier. H.D., Als we gewoon de naam verkoper bijwerken, het duurt [x] hoeveelheid tijd. Als we sales rep updaten, adres1, Adres2, stad, staat, zip, het duurt 10 keer langer.
Oplossing: Schrijven van een webservice (code van de steekproef kan worden gevonden Hier) dat wordt doorgegeven in de naam van een leverancier en is het resultaat terug de leverancier details. Vervolgens, de velden op deze manier toewijzen. Hoewel dit te lijkt vertragen, Er was geen waarneembaar verschil in prestaties wanneer wij toegewezen 1 veld versus 8 velden. Als een toegevoegde bonus, gebruikers krijgen een koele "contact opnemen met de server" Cylon effect terwijl ze wachten voor het formulier beroepen en consumeren de service resultaten.
UPDATE: Wij vastbesloten nooit de oorzaak van dit probleem en het nooit oppervlakte weer.
We merken dat plotseling tijdens de uitvoering van een site ontwikkeling, twee gebruikers hebben geen toegang tot een siteverzameling. Deze accounts kunnen worden geverifieerd naar de belangrijkste site, maar wanneer het proberen om toegang tot een bepaalde site-collectie, ze krijgen gewoon een leeg scherm. Geen fouten weergegeven, gewoon een witte lege pagina.
Wij als een site collectie admin inloggen en probeert toe te voegen een van die gebruikers als een site admin en deze keer, op op "OK" te drukken, We krijgen deze boodschap:
Uitzondering is opgetreden. (Uitzondering op HRESULT: 0x 80020009 (DISP_E_EXCEPTION))
We enige tijd dit onderzoeken en helaas, niet komen met iets nuttigs. Er waren sommige berichten in diagnoselogboek van het, maar het was moeilijk om precies het correleren van hen met dit probleem.
In het einde, wij de siteverzameling wordt verwijderd en opnieuw gemaakt en dat het opgelost.
Als ik erachter te komen veroorzaakt wat dit in de toekomst, Ik zal deze post bijwerken.