maandelijkse archieven: November 2007

Je kunt niet verslaan SharePoint van Reach

Tijdens de laatste twee dagen, Ik heb deelgenomen aan twee vergaderingen waarin we de resultaten gepresenteerd van een SharePoint-project. De CIO en zijn team sloot zich aan bij de eerste vergadering. Dat is standaard en niet vooral opmerkelijk. De IT-afdeling is uiteraard betrokken bij de uitrol van een onderneming van een technologieproject. De tweede vergadering uitgebreid met een V.P. van marketing, verschillende bestuurders die vertegenwoordigen HR, Logistiek, Productie, Kapitaal projecten, Kwaliteit, Aankoop, Corporate development en andere afdelingen (van wie sommigen waren niet zelfs direct betrokken bij de huidige fase). Dat is een machtige breed publiek.

In mijn vorige leven, Ik heb voornamelijk gewerkt ERP en CRM projecten. Beiden hebben een vrij brede oplossing domein maar niet zo breed als SharePoint. Om volledig worden gerealiseerd, SharePoint projecten bereiken rechtmatig en noodzakelijkerwijs in elke hoekje en spleet van een organisatie. Hoeveel andere bedrijfsoplossingen hebben dat soort van bereiken? Niet veel.

SharePoint is duidelijk een enorme kans voor degenen onder ons gelukkig genoeg om te worden in deze ruimte. Het biedt een grote technische kans (die een of andere manier is ingeschakeld op zijn kop Hier onder "Technologieën U moet beheersen"). Maar nog beter, SharePoint blootstelt ons tot een uitgebreide en brede scala aan bedrijfsprocessen via deze engagementen. Hoe veel CRM specialisten werken met de fabricage kant van het bedrijf? Hoeveel ERP adviseurs werken met menselijk potentieel aan talent overname? SharePoint overschrijdt beiden.

Als iets, het is niet perfect, maar het is een verdomd goede plek om te worden.

Voor de liefde van [Vul uw meest geliefde persoon/hoger wezen], Wijzig niet de ' titel’ sitekolom.

Op de SharePoint forum, iemand vraagt af en toe over het "wijzigen van het label van titel" of over "verwijderen titel van lijsten".

Bottom line: Don't do it!

Helaas, de gebruikersinterface kunt een unilaterale verandering van dat label van de kolom zoals:

afbeelding

Titel is een kolom die is gekoppeld aan het Item"" type inhoud. Veel, veel, vele CT's gebruiken deze kolom en als u het hier, het rimpelingen uit overal. Er is een goede kans dat u niet van plan om dat te realiseren. U waren waarschijnlijk denken aan jezelf, "Ik heb een aangepaste opzoeklijst en ' titel’ gewoon zinvol niet als de naam van een kolom, so I 'm going te veranderen naar ' Status Code’ en een beschrijvingskolom toevoegen." Maar als je door op die gedachte volgen en hernoemen ' titel’ 'Status code', de titel van elke lijst (met inbegrip van documentbibliotheken) wijzigingen in "Status Code" en u waarschijnlijk niet van plan om dat te realiseren.

Het echte probleem is dat dit een unilaterale verandering. De UI weet"" die titel"" is een gereserveerd woord. Dus, Als u probeert en "statuscode wijzigen" terug naar "Titel", het zal voorkomen dat u en nu je hebt jezelf geschilderd in een hoek using paint that never dries 🙂

Dus wat gebeurt er als je het al veranderd? Ik heb niet gezien het antwoord dat we allemaal willen, Wat is een eenvoudige en gemakkelijke methode om te veranderen van het label terug naar 'Title'. Nu onmiddellijk, het beste advies is om het te veranderen naar iets als "Doc/objecttitel". Dat is een generiek genoeg etiket die niet mag ook schokkend voor uw gebruikers.

Ik heb een paar andere ideeën die op mijn to-do lijst van dingen te onderzoek:

  • Contact opnemen met Microsoft.
  • Doe iets met het objectmodel, misschien in combinatie met een functie.
  • Schema van de database uitzoeken en handmatig bijwerken van SQL. (U moet contact opnemen met Microsoft alvorens dit wel te doen; het vervalt waarschijnlijk uw ondersteuningscontract).

Als iemand weet hoe dit op te lossen, post een reactie.

Update laat in de middag, 11/15: Ik vond deze link die een methode beschrijft voor het maken van een soort lijst die een titelkolom heeft geen: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF en uw vriend, CDATA

Ik heb gemerkt dat sommige onhandig en onnodige hand-codering van RdbCommandText in enkele voorbeelden (met inbegrip van MSDN-documentatie).

Ik wilde erop wijzen aan nieuwkomers aan BDC dat commando's kunnen worden verpakt in een CDATA-tag in hun "natuurlijke" formulier. Dus, deze lastige constructie:

<Eigenschap Naam="RdbCommandText" Type="System.String">
Selecteer dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement van dbo.MCRS_SETTLEMENT
WAAR (id &gt;= @MinId) EN (id &lt;= @MaxId)
</Eigenschap>

kan beter worden vertegenwoordigd op deze manier:

<Eigenschap Naam="RdbCommandText" Type="System.String">
<![CDATA[
Selecteer dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement van dbo.MCRS_SETTLEMENT
WAAR (id >= @MinId) EN (id <= @MaxId)
]]>
</Eigenschap>

</einde>

BDC Primer

Inleiding tot de BDC

Functioneel voorbeeld: BDC ADF die verbinding met SQL database met ingesloten gebruikers-id en wachtwoord maakt

Ik moest kabellengte tot MOSS naar een SQL-database via BDC. Oog op testen/POC, Ik wilde de SQL account gebruiker-id en het wachtwoord in de automatische Documentinvoer insluiten. Beginnen met Deze sjabloon (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Ik heb gemaakt een ADF dat is verbonden aan een bepaald exemplaar van SQL server en logt in met een specifieke gebruikers-id en wachtwoord en getoond in dit fragment:

  <LobSystemInstances>
    <LobSystemInstance Naam="ClaimsInstance">
      <Eigenschappen>
        <Eigenschap Naam="AuthenticationMode" Type="System.String">PassThrough</Eigenschap>
        <Eigenschap Naam="DatabaseAccessProvider" Type="System.String">SqlServer</Eigenschap>
        <Eigenschap Naam="RdbConnection gegevensbron" Type="System.String">werkelijke serveractual instantie</Eigenschap>
        <Eigenschap Naam="RdbConnection Initial Catalog" Type="System.String">werkelijke eerste catalogus</Eigenschap>
        <Eigenschap Naam="Geïntegreerde beveiliging van RdbConnection" Type="System.String">SSPI</Eigenschap>
        <Eigenschap Naam="RdbConnection bundelen" Type="System.String">vals</Eigenschap>

        <!-- Dit zijn de waarden voor de sleutel: -->
        <Eigenschap Naam="RdbConnection gebruikersnaam" Type="System.String">eenctual gebruikersnaam</Eigenschap>
        <Eigenschap Naam="RdbConnection wachtwoord" Type="System.String">huidige wachtwoord</Eigenschap>
        <Eigenschap Naam="RdbConnection Trusted_Connection" Type="System.String">vals</Eigenschap>

      </Eigenschappen>
    </LobSystemInstance>
  </LobSystemInstances>

Het is niet een best practice, maar het is nuttig voor een snelle en eenvoudige configuratie voor het testen. Dit was verrassend moeilijk om erachter te komen. Ik heb nooit gevonden een functionele voorbeeld met zoektocht keywords:

  • ADF ingesloten userid en wachtwoord
  • gebruikersnaam en wachtwoord in adf insluiten
  • gebruikersnaam en wachtwoord in adf bdc insluiten
  • SharePoint bdc primer
  • SharePoint gebruikers-id en wachtwoord in adf insluiten

</einde>

Abonneren op mijn blog.

SPD aangepaste workflow-acties — string manipulatie verbeteringen

Ongeveer een week geleden, Ik begon een codeplex project dat een eenvoudige en redelijk algemene methode biedt voor het toevoegen van aangepaste actie functies aan SharePoit Designer workflow. Hier wordt beschreven: http://www.codeplex.com/spdwfextensions. Dan gewoon die een kader bieden:, het beoogt eveneens te voorzien in een reeks van nuttige functies die zal EPD nuttig/flexibele/krachtiger.

Hier zijn de huidige geplande functies voor versie 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Als iemand belang bij dit project heeft, laat een reactie of start/toevoegen aan een discussie hier: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Hier zijn de huidige set van functies die hebben gecodeerd (Hoewel niet volledig getest als van 11/08/07):

Functie Beschrijving (Als niet hetzelfde als.Netto functie)
Num-entries() Deze eigenschap retourneert het nummer "entries" in een string volgens een opgegeven scheidingsteken.

Bijvoorbeeld: Num-posten in een tekenreeks "een,b,c" met scheidingsteken"," = 3.

Post() Het nde token terugstuurt in een tekenreeks volgens een opgegeven scheidingsteken.
Lengte String.length
Vervangen() String.Replace()
Bevat() String.contains()
Deze eigenschap retourneert het woord "waar" of het woord "onwaar".
Subtekenreeks(Start) String.substring(Start)
Subtekenreeks(Start,einde) String.substring(Start,einde)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Deze eigenschap retourneert het woord "waar" of het woord "onwaar".
EndsWith() String.EndsWith()
Deze eigenschap retourneert het woord "waar" of het woord "onwaar".

Snelle & eenvoudig url codering desktop utility

Ik heb gewenst naar url-coderen sommige tekenreeksen deze week en sloeg samen een een klein nut dat ik dacht ik zou opgemaakt dat op SkyDrive voor de Gemeenschap.

De binaire hier krijgen: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

De visual studio-oplossing hier krijgen: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Hier is een screenshot:

afbeelding

Snel en eenvoudig: Een hyperlink in een webonderdeel voor gegevensweergave XSLT-insluiten

UPDATE (01/17/08): Deze blog entry praat over meer hyperlink XSL-goedheid: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Overzicht en doelstelling: Ik had gemaakt een eenvoudig staafdiagram om te dienen als onderdeel op een dashboard. Ik zal de details opslaan op het opbouwen van grafieken voor een andere post, maar ik heb niet bedacht die techniek (noch het vraagteken, voor die kwestie). Het bleek er was een bug in de grafiek en terwijl ik dat vast, Ik nam de gelegenheid om te zetten sommige etiketten in hyperlinks die wees op de onderliggende lijst achter de grafiek. Bijvoorbeeld, Er is een label met de waarde "Hold". Ik wilde het label omzetten in een hyperlink zodat de gebruiker kan daarop tikken en boor neer aan de specifieke vermeldingen in de lijst waarvan de statuswaarde is "Hold".

Stappen:

  1. Gebruik visuele studio voor SharePoint-bewust intellisense.
  2. Kopieer de DVWP XSLT in visuele studio (Maak een leeg project, een XSL-bestand toevoegen aan het project).
  3. Kopieer de link die u wilt gebruiken naar het Klembord.
  4. Plak deze in de juiste locatie in de XSL.
  5. Convert URL argument scheidingstekens in de querytekenreeks van"&" tot"&amp;"
  6. URL coderen afzonderlijke argumenten.
  7. Terugloop voorzien dat een <een href…> </een>

Voorbeeld:

Ik heb een URL:

http://[Server]/[site]/Lists/Open Positions/AllItems.aspx?Weergave ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hold

Ik converteren naar:

     <een href="Lists/Open Positions/AllItems.aspx?Weergave = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&amp;FilterField1 = Recruiter&amp;FilterValue1 = Hold"> Houd: </een>

Ik heb het eerste argument van handmatig getransformeerd:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

Aan:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d

(In dit, de open brace transformaties naar % 7b en de afronding brace transformaties naar de %7 d)

De tweede en derde argumenten’ parameters ("FilterField1 =Recruiter" en "FilterValue1 =Houd" respectievelijk) hoeft niet te worden url-gecodeerde omdat ze niet alle onveilige tekens bevatten.

Notities:

Deze techniek moet over het algemeen werken overal die u wilt insluiten van een hyperlink in XSLT waar de hyperlink parameters op de URL zoals bevat:

http://[Server]/[site]/Lists/Open Positions/AllItems.aspx?Weergave ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hold

Ik heb de URL zelf door toegang tot de aangepaste lijst en handmatig filteren op de statuskolom (met het label "Recruiter" boven).

Snelle en eenvoudige: SharePoint Designer workflow een InfoPath-formulier bijwerken inschakelen

Scenario: Ik heb een InfoPath-formulier dat front-ends een workflowproces geïmplementeerd met behulp van SharePoint Designer. Op een gegeven moment, een manager moet het formulier goedkeuren. Aangezien ik niet kan rekenen op de werkstroomgeschiedenis om te voldoen aan mijn controlevereisten, Ik besluit om op te slaan mijn eigen controle boodschap rechtstreeks op het formulier zelf.

Overzicht:

Het formulier ontwerpen en publiceren als een type inhoud en het formulier zelf voor een documentbibliotheek. Mark gewenst formuliervelden als die kan worden bijgewerkt van MOSS. Het formulier is gekoppeld aan het inhoudstype en het type inhoud is "aangesloten" in een formulierenbibliotheek (of een groot aantal, Als je wilt). Schrijven van een werkstroom die wordt het veld bijgewerkt.

Specifieke stappen:

  1. Een documentbibliotheek maken. Dit zal houden uw InfoPath-sjabloon.
  2. Een formulierenbibliotheek maken.
  3. Het InfoPath-formulier maken. Een tekstveld opnemen, "Controlebericht".
  4. Publiceer het formulier als een inhoudstype (NIET een document).
  5. Bij het invullen van de uitgeverij dialogen:
    een) Het XSN-bestand opslaan in de documentbibliotheek (stap #1).
    b) Het "Audit bericht publiceren" veld en mark ware: 'Sta toe gebruikers kunnen gegevens in dit veld te bewerken via een gegevensblad of eigenschappenvenster pagina'.
    c) Een nieuw inhoudstype maakt en geef het een passende naam.
  6. Toegang tot de formulierenbibliotheek.
    een) Ga naar de geavanceerde instellingen en de formulierenbibliotheek voor het beheer van inhoudstypen inschakelen.
    b) Selecteer het zojuist gemaakte inhoudstype (5c hierboven). Het zal worden gegroepeerd onder "Microsoft InfoPath" (of gelijkaardig).
    c) De standaard "formulier verwijderen" type van de inhoud van de bibliotheek.
    d) Mark de bibliotheek "weergeven als webpagina" zodat het formulier van SharePoint en niet de InfoPath workstation-client lanceren zal.
  7. Ga terug naar de juiste formulierenbibliotheek en klik "nieuw" gewoon controleren dat het formulier is geplaatst correct en waarnemend zoals u wilt.
  8. Fire up SharePoint Designer en ga naar de site die als host uw formulierbibliotheek fungeert (vanaf stap 2).
  9. Als u een nieuwe workflow gekoppeld aan de formulierenbibliotheek maken.
  10. Een interne actie "Veld instellen in de huidige Item" toevoegen. U moet SharePoint Designer verwachten aan lijst je uw vakgebied, "Controlebericht". Een waarde toewijst.
  11. Klik op Finish en ga terug naar de formulierbibliotheek.
  12. Maak een nieuw formulier en zet sommige testwaarde in het controlebericht"" veld.
  13. Sla het en ga terug naar de formulierbibliotheek.
  14. Klik met de rechtermuisknop, Selecteer "Workflow" en voorsprong opwaarts uw workflow.
  15. Het zou bijna onmiddellijk uitvoeren. Trek opwaarts naar de vorm (vanaf stap 12) en als alles is gegaan om te plannen, "Controlebericht" welke waarde u hebt opgegeven in stap is toegewezen 10.

Notities:

Niet alle besturingselementen kunnen geconfigureerd voor deze bidirectionele communicatie. Bijvoorbeeld, het lijkt niet om een EPD workflow die tekstvelden verpakt wijzigt in een herhalende secties.

Een van de belangrijkste nemen-weg van hier is dat we echt een inhoudstype hebt gemaakt met een bijbehorende sjabloon. Dit stelt ons voor het opslaan van meerdere InfoPath-formuliersjablonen in dezelfde vorm bibliotheek ook in staat.

Hiervoor vormen server. Het gaat zeker niet om te werken in een WSS 3.0 milieu en waarschijnlijk zelfs vereist een onderneming SharePoint-omgeving.

De Beagle is geland (Oktober 2007 probleem)

(Dit is eigenlijk een beetje oud nieuws, maar zoals mijn favoriete brandweerkazerne motto verkondigt, "Beter laat dan nooit").

Check it out here: http://www.sharepointbeagle.com/

Als u niet reeds hebt, Zorg ervoor dat u Aanmelden.

Natuurlijk, Zorg ervoor dat u lezen mijn artikel over een levensechte SharePoint project (met inbegrip van eisen definitie, KPI's, inhoudstypen, dashboards en meer) evenals mijn collega 's artikel over het webonderdeel Inhoudsquery.

Er is ook veel andere goede dingen.

Hoe te verwijderen “Alle site-inhoud weergeven” koppeling

Ik ben gevraagd deze vraag bijna elke week, normaal gesproken in het kader van een beveiliging-discussie. De maker van een beheerder/site heeft een site ingericht, geconfigureerde veiligheid, ingerichte web delen en aanpassen van de werkbalk Snel starten zodat deze oh-zo-perfect reeks van opties aan de eindgebruiker. Maar, out of the box, u kunt de "Bekijk alle site-inhoud niet verwijderen" koppeling.

Mark Wagner biedt het antwoord Hier (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Zijn verslag is geweldig op twee niveaus. Het geeft een antwoord op de vraag, "Hoe verwijder ik de alle Site-inhoud weergeven" koppeling? Vervolgens, het antwoord op de onmiddellijke opvolgzuigelingenvoeding vraag: Hoe kan ik de weergave Alle site-inhoud koppelen op basis van de door de site gemakkelijk inschakelen?

Als een bonus: Zijn aanpak werkt voor WSS, niet alleen MOSS.

</einde>

Abonneren op mijn blog!