Monatliche Archive: November 2007

Sie können nicht schlagen SharePoint Reach

Während der letzten zwei Tage, Ich habe in zwei Sitzungen teilgenommen, bei denen wir ein SharePoint-Projekt vorgestellt. CIO und sein Team trat das erste Treffen. Das ist standard und nicht besonders bemerkenswert. Die IT-Abteilung engagiert sich offensichtlich in ein Unternehmen Rollout eines jeden Technologieprojekt. Das zweite Treffen eine V.P ausgeweitet. vom marketing, zahlreiche Regisseure, die HR, Logistik, Fertigung, Investitionsvorhaben, Qualität, Einkauf, Unternehmensentwicklung und anderen Abteilungen (von denen einige waren nicht sogar direkt in der aktuellen Phase beteiligt). Das ist ein mächtiger breites Publikum.

In meinem vorherigen Leben, Ich arbeitete vor allem an ERP- und CRM-Projekte. Beide haben eine ziemlich weite Lösung Domain aber nicht so breit wie SharePoint. Voll realisiert werden, SharePoint-Projekte erreichen gesetzmäßig und unbedingt in allen Ecken und Enden einer Organisation. Wie viele andere Enterprise-Lösungen haben Sie, die Art der erreichen? Nicht viele.

SharePoint stellt eindeutig eine Riesenchance für uns glücklich sein in diesem Raum. Es bietet eine große technische Chance (Das ist irgendwie auf den Kopf gestellt. Hier unter "Technologien müssen Sie beherrschen"). Aber noch besser, SharePoint stellt uns eine umfangreiche und breites Angebot Geschäftsprozesse durch diese Verlobung. Wie viele CRM-Spezialisten mit der Fertigung-Seite des Unternehmens zu arbeiten? Wie viele ERP-Berater mit Humanressourcen für Talent-Akquisition zu arbeiten? SharePoint überschreitet sie beide.

Wie alles, Es ist nicht perfekt, aber es ist ein verdammt guter Platz zu sein.

Für die Liebe [Füllen Sie Ihre beliebtesten Person/höher wird], Ändern Sie nicht die ' Titel’ Websitespalte.

Auf der SharePoint-Foren, gelegentlich fragt jemand "ändern die Bezeichnung des Titels" oder über "Titel entfernen von Listen".

Fazit: Tun Sie es nicht!

Leider, die Benutzeroberfläche ermöglicht eine einseitige Änderung der die Spaltenbeschriftung wie gezeigt:

Bild

Titel ist eine Spalte mit dem Element"" Content-type. Viele, viele, viele CTs diese Spalte verwenden, und wenn du es hier ändern, es kräuseln sich ⁿberall. Es gibt eine gute Chance, die Sie beabsichtigen, nicht um das zu erreichen. Sie waren wahrscheinlich denken an sich selbst, "Ich habe eine benutzerdefinierte Nachschlageliste und ' Titel’ nur macht keinen Sinn, als Spaltenname, So werde ich es ändern ' Statuscode’ und fügen Sie eine Beschreibungsspalte." Aber wenn Sie durch diesen Gedanken zu folgen, und benennen Sie "Titel’ auf 'Statuscode', jede Liste Titel (einschließlich Dokumentbibliotheken) Änderungen an "Statuscode" und Sie wahrscheinlich hat nicht die Absicht, daß.

Das eigentliche Problem ist, dass dies eine einseitige Änderung. Die Benutzeroberfläche weiß"" dieser "Titel" ist ein reserviertes Wort. Also, Wenn Sie versuchen, und ändern Sie "Status Code" zurück zu "Titel", Es verhindert, dass Sie und jetzt du manövriert sich Ecke using paint that never dries 🙂

Was passiert, wenn Sie es bereits geändert? Ich habe die Antwort nicht gesehen, was, die wir alle wollen, Das ist eine einfache und einfache Methode das Etikett wieder auf die 'Title' ändern. Jetzt gerade, der beste Rat ist zu ändern, um so etwas wie "Doc/Artikelbezeichnung". Das ist eine generische genug Bezeichnung, die möglicherweise nicht zu Erschütterungen für Ihre Benutzer.

Ich habe einige Ideen, die auf meiner to-do-Liste der Dinge zu Forschung sind:

  • Wenden Sie sich an Microsoft.
  • Tun Sie etwas mit dem Objektmodell, Vielleicht in Verbindung mit einer Funktion.
  • Herauszufinden Sie, das Datenbankschema und manuell aktualisieren Sie SQL. (Sie sollten Microsoft kontaktieren, bevor Sie das aber tun; Es wird wahrscheinlich Ihrem Support-Vertrag nichtig.).

Wenn jemand weiß, wie dieses Problem zu lösen, Bitte post a comment.

Update am späten Nachmittag, 11/15: Ich habe diesen Link, der beschreibt eine Methode zum Erstellen einer Liste, die eine Title-Spalte keine: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC-ADF und Ihr Freund, CDATA

Ich habe bemerkt etwas umständlich und unnötig Hand-Codierung des RdbCommandText in einigen Beispielen (einschließlich der MSDN-Dokumentation).

Ich wollte Neulinge BDC darauf hinweisen, dass Befehle in einem CDATA-Tag in ihrer "natürlichen gewickelt werden kann" Form. Also, Diese schwierige Konstruktion:

<Eigenschaft Name="RdbCommandText" Typ="System.String">
Wählen Sie Dbo.MCRS_SETTLEMENT.ID, Dbo.MCRS_SETTLEMENT.Settlement von Dbo.MCRS_SETTLEMENT
WO (ID &gt;= @MinId) UND (ID &lt;= @ MaxId)
</Eigenschaft>

kann auf diese Weise besser dargestellt werden:

<Eigenschaft Name="RdbCommandText" Typ="System.String">
<![CDATA[
Wählen Sie Dbo.MCRS_SETTLEMENT.ID, Dbo.MCRS_SETTLEMENT.Settlement von Dbo.MCRS_SETTLEMENT
WO (ID >= @MinId) UND (ID <= @ MaxId)
]]>
</Eigenschaft>

</Ende>

BDC-Primer

Einführung in die BDC

Funktionale Beispiel: BDC-ADF, die Verbindung zu SQL Datenbank mit eingebetteter Benutzer-Id und Kennwort

Ich brauchte, MOSS verbinden mit einer SQL-Datenbank über BDC. Für Zwecke der Prüfung/POC, Ich wollte den SQL-Konto-Benutzer-Id und das Kennwort in der ADF einbetten. Beginnend mit Diese Vorlage (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Ich habe eine ADF, die eine Verbindung mit einer bestimmten SQL Server-Instanz herstellt und meldet sich mit einer bestimmten Benutzer-Id und das Kennwort und in dieser Ausschnitt gezeigt:

  <LobSystemInstances>
    <LobSystemInstance Name="ClaimsInstance">
      <Eigenschaften>
        <Eigenschaft Name="AuthenticationMode" Typ="System.String">PassThrough</Eigenschaft>
        <Eigenschaft Name="DatabaseAccessProvider" Typ="System.String">SqlServer</Eigenschaft>
        <Eigenschaft Name="RdbConnection-Datenquelle" Typ="System.String">tatsächliche Serveractual Instanz</Eigenschaft>
        <Eigenschaft Name="RdbConnection Initial Catalog" Typ="System.String">tatsächliche Anfangskatalog</Eigenschaft>
        <Eigenschaft Name="RdbConnection integrierte Sicherheit" Typ="System.String">SSPI</Eigenschaft>
        <Eigenschaft Name="RdbConnection Bündelung" Typ="System.String">falsch</Eigenschaft>

        <!-- Dies sind die wichtigsten Werte: -->
        <Eigenschaft Name="RdbConnection Benutzer-ID" Typ="System.String">eineCtual Benutzer-ID</Eigenschaft>
        <Eigenschaft Name="RdbConnection Passwort" Typ="System.String">tatsächliche Kennwort</Eigenschaft>
        <Eigenschaft Name="RdbConnection Trusted_Connection" Typ="System.String">falsch</Eigenschaft>

      </Eigenschaften>
    </LobSystemInstance>
  </LobSystemInstances>

Es wird nicht empfohlen, aber es ist nützlich für eine schnelle und einfache Konfiguration für die Prüfung. Das war überraschend schwierig, herauszufinden. Ich habe nie eine funktionale Beispiel mit Suchbegriffe:

  • ADF eingebettet, Userid und password
  • Benutzer-Id und Kennwort in Adf einbetten
  • Benutzer-Id und Kennwort in Adf Bdc einbetten
  • SharePoint Bdc Grundierung
  • SharePoint-Benutzer-Id und Kennwort in Adf einbetten

</Ende>

Onnieren Sie meinen Blog ab.

SPD benutzerdefinierte Workflow-Aktionen — Zeichenfolge Manipulation Erweiterungen

Vor etwa einer Woche, Ich begann ein Codeplex-Projekt, das ermöglicht eine einfache und relativ generische Methode zum Hinzufügen von benutzerdefinierten Aktion Funktionen zur SharePoit Designer-workflow. Es wird hier beschrieben: http://www.codeplex.com/spdwfextensions. Darüber hinaus einfach die Rahmenbedingungen, Darüber hinaus soll eine Reihe von nützlichen Funktionen bereit, die SPD nützlich/flexibel/leistungsfähiger machen.

Hier sind die aktuellen geplanten Funktionen für version 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Wenn jemand Interesse an diesem Projekt, Bitte einen Kommentar hinterlassen oder Start/hinzufügen zu einer Diskussion hier: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Hier sind der aktuelle Satz von Funktionen, die programmiert wurden, haben (Obwohl nicht in vollem Umfang als der getestet 11/08/07):

Funktion Beschreibung (Wenn nicht identisch.NET-Funktion)
NUM-Einträge() Gibt die Anzahl "Einträge" in einem String nach einem angegebenen Trennzeichen.

Zum Beispiel: NUM-Einträge in einer Zeichenfolge "a,b,c" mit Trennzeichen"," = 3.

Eintrag() Gibt das n-ten Token in einem String nach einem angegebenen Trennzeichen.
Länge String.length
Ersetzen() String.Replace()
Enthält() String.Contains()
Gibt das Wort "wahr" oder das Wort "False".
Teilzeichenfolge(Start) String.Substring(Start)
Teilzeichenfolge(Start,Ende) String.Substring(Start,Ende)
ToUpper() String.ToUpper-Methode()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Gibt das Wort "wahr" oder das Wort "False".
EndsWith() String.EndsWith()
Gibt das Wort "wahr" oder das Wort "False".

Schnell & einfache Url-Codierung desktop Dienstprogramm

Ich habe zu Url benötigt wurde-diese Woche einige Zeichenfolgen zu codieren und schlug zusammen ein ein wenig Dienstprogramm, das ich dachte, ich würde in Aufmachungen auf SkyDrive für die Gemeinschaft.

Die binäre hier erhalten: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Bekommen Sie hier die visual Studio-Projektmappe: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Hier ist ein Screenshot:

Bild

Schnell und einfach: Betten Sie einen Hyperlink in Datenansicht-Webpart XSLT

UPDATE (01/17/08): Dieser Blog-Eintrag spricht über weitere Hyperlink XSL Güte: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Übersicht und Zielsetzung: Ich hatte ein einfaches Balkendiagramm dienen als Komponente auf einem Dashboard erstellt.. Ich werde die Details zum Erstellen von Diagrammen für eine andere Stelle zu retten, aber ich nicht, dass Technik erfinden (noch das Fragezeichen, für diese Angelegenheit). Es stellte sich heraus, dass gab es ein Bug im Diagramm, und während ich das behoben, Ich nutzte die Gelegenheit, einige Labels in Hyperlinks umwandeln, die auf die zugrunde liegende Liste hinter der Graph gerichtet. Zum Beispiel, Es gibt eine Bezeichnung mit dem Wert "Hold". Ich wollte das Label in einen Hyperlink umwandeln, so dass der Benutzer könnte darauf klicken und Drilldown bestimmte Einträge in der Liste, deren Status ist "Hold".

Schritte:

  1. Verwendung von visual Studio für SharePoint-fähige intellisense.
  2. Kopieren Sie die DVWP XSLT in visual studio (Erstellen Sie ein leeres Projekt, eine XSL-Datei dem Projekt hinzufügen).
  3. Kopieren Sie den Link in die Zwischenablage verwenden möchten.
  4. Fügen Sie ihn in die richtige Stelle in das XSL.
  5. Convert URL-Argument-Trennzeichen in der Abfragezeichenfolge aus"&" zu"&amp;"
  6. URL-Kodierung einzelner Argumente.
  7. Wickeln, dass innen ein <ein href…> </eine>

Beispiel:

Ich habe eine URL:

http://[Server]/[Standort]/Lists/Open Positions/AllItems.aspx?Ansicht ={84EEA2F5-VOULIAGMENI-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = halten

Ich konvertiere es in:

     <eine href="Lists/Open Positions/AllItems.aspx?Ansicht = % 7b84EEA2F5-Vouliagmeni-40B7-946F-
0FA704A1DAA1 % 7 d&amp;FilterField1 = Recruiter&amp;FilterValue1 = halten"> Halten: </eine>

Ich habe manuell das erste Argument von umgewandelt.:

{84EEA2F5-VOULIAGMENI-40B7-946F-0FA704A1DAA1}

An:

%7b84EEA2F5-Vouliagmeni-40B7-946F-0FA704A1DAA1 % 7 d

(In diesem, die öffnende geschweifte Klammer Transformationen % 7b und der schließenden Klammer Transformationen % 7 d)

Die zweiten und dritten Argumente’ Parameter ("FilterField1 =Personalvermittler" und "FilterValue1 =Halten" bzw.) müssen Sie nicht Url-codiert werden, da sie keine unsicheren Zeichen enthalten.

Hinweise:

Diese Technik sollte in der Regel überall arbeiten Sie einen Hyperlink in XSLT einbinden wo der Hyperlink Parameter für die URL wie enthält:

http://[Server]/[Standort]/Lists/Open Positions/AllItems.aspx?Ansicht ={84EEA2F5-VOULIAGMENI-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = halten

Ich habe die URL selbst durch den Zugriff auf die benutzerdefinierte Liste und manuell auf der Statusspalte Filtern (beschriftete "Recruiter" oben).

Schnell und einfach: Aktivieren von SharePoint Designer-Workflow zu einem InfoPath-Formular aktualisieren

Szenario: Ich habe ein InfoPath-Formular, das einen Workflow-Prozess implementiert mithilfe von SharePoint Designer Frontends. An einer Stelle, ein Manager muss das Formular genehmigen.. Da ich kann nicht zählen auf Workflow-Historie meiner Überwachungsanforderungen zu erfüllen, Ich entscheide mich, meine eigene Überwachung Meldung direkt auf dem Formular selbst speichern.

Übersicht:

Form-Design entwerfen und veröffentlichen es als ein Content-type und das Formular selbst in eine Dokumentbibliothek. Mark auf Wunsch Formularfelder als aktualisierbare aus Moos. Das Formular ist dem Inhaltstyp gebunden und der Inhaltstyp "angeschlossen ist" in einer Formularbibliothek (oder viele, Wenn du willst). Schreiben Sie einen Workflow, der das Feld aktualisiert.

Konkrete Schritte:

  1. Erstellen einer Dokumentbibliothek. Dies wird Ihre InfoPath-Vorlage halten..
  2. Erstellen einer Formularbibliothek.
  3. Das InfoPath-Formular erstellen. Sind Sie ein Textfeld, "Überwachungsmeldung".
  4. Veröffentlichen Sie das Formular als Inhaltstyp (NICHT in einem Dokument).
  5. Beim Ausfüllen der Veröffentlichung Dialoge:
    eine) Die XSN-Datei in der Dokumentbibliothek speichern (Schritt #1).
    b) Die Überwachungsmeldung"veröffentlichen" Feld und mark wahr: "Können Sie Benutzer Daten in diesem Feld Bearbeiten mithilfe einer Datenblatt oder Eigenschaften-Seite".
    c) Erstellen Sie einen neuen Inhaltstyp, und geben sie einen passenden Namen.
  6. Zugang der Formularbibliothek.
    eine) Gehen Sie auf die erweiterten Einstellungen und aktivieren Sie die Forms-Bibliothek Inhaltstypen verwalten.
    b) Wählen Sie den neu erstellten Inhaltstyp (5c über). Es wird unter "Microsoft InfoPath gruppiert werden" (oder ähnlich).
    c) Entfernen Sie die Standard-Form"" Content-Type aus der Bibliothek.
    d) Markieren Sie die Bibliothek "als Webseite anzeigen" so dass die Form von SharePoint und nicht die InfoPath-Workstation-Client startet.
  7. Gehen Sie zurück zu der entsprechenden Formularbibliothek, und klicken Sie auf "neu" einfach überprüfen, ob die Form ist korrekt eingestellt und handeln wie Sie wollen.
  8. Starten Sie SharePoint Designer und navigieren Sie zu der Website, die Ihrer Formularbibliothek hostet (von Schritt 2).
  9. Erstellen eines neuen Workflows in der Formularbibliothek befestigt.
  10. Fügen Sie eine einzelne Aktion "Feld in Aktuelles Element festlegen". Sollten Sie SharePoint Designer Liste erwarten Sie sind Ihr Feld, "Überwachungsmeldung". Weisen sie einen Wert.
  11. Klicken Sie auf Fertig stellen und gehen Sie zurück zur Formularbibliothek.
  12. Erstellen Sie ein neues Formular und legen Sie einige Testwert in die Überwachungsmeldung"" Feld.
  13. Speichern Sie es und gehen Sie zurück zur Formularbibliothek.
  14. Mit der rechten Maustaste, Wählen Sie "Workflow" und starten Sie Ihren workflow.
  15. Es sollte fast sofort laufen. Ziehen Sie das Formular (von Schritt 12) und wenn alle gegangen, planen, "Überwachungsmeldung" hat Wert zugewiesen wurde, Sie in Schritt sofern 10.

Hinweise:

Nicht alle Steuerelemente möglicherweise konfiguriert für diese bidirektionale Kommunikation. Zum Beispiel, Es scheint nicht, einen SPD-Workflow implementieren, der Textfelder eingewickelt in wiederholtem Bereichen ändert.

Einer der wichtigsten nehmen Sie entfernten die hier ist, dass wir wirklich einen Inhaltstyp mit einer zugehörigen Vorlage erstellt haben. Dies erlaubt uns auch, mehrere InfoPath-Formularvorlagen in der gleichen Formularbibliothek speichern.

Dies erfordert Formularserver. Es wird ganz sicher nicht in eine WSS arbeiten 3.0 Umwelt und wahrscheinlich sogar erfordert eine Enterprise SharePoint-Umgebung.

Die Beagle ist gelandet (Oktober 2007 Thema)

(Dies ist tatsächlich ein wenig old news, aber wie mein Lieblings Feuerwache Motto verkündet, "Besser spät als nie").

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

Wenn Sie nicht bereits haben, Achten Sie darauf Anmelden.

Natürlich, Achten Sie darauf, lesen meine Artikel über eine reale SharePoint-Projekt (einschließlich Anforderungsdefinition, KPI's, Content-Typen, Dashboards und vieles mehr) als auch Mein Kollege Artikel über das Webpart für Inhaltsabfragen.

Es gibt auch viele andere gute Sachen.

Entfernen “Alle Websiteinhalte einblenden” Verbindung

Ich werde diese Frage fast jede Woche gefragt., normalerweise im Kontext einer Diskussion Sicherheit. Ein Administrator/Website-Creator hat eine Website bereitgestellt., konfigurierten Sicherheit, angeordneten Web Teile und angepasste Schnellstart um diesen Ach so perfekten Satz von Optionen für den Endbenutzer bereitzustellen. Aber, Out of the box, Sie können nicht entfernen, die "view Alle Websiteinhalte einblenden" Verbindung.

Mark Wagner liefert die Antwort Hier (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Seiner Zuschreibung ist großartig auf zwei Ebenen. Es bietet eine Antwort auf die Frage, "Wie kann ich die alle Websiteinhalte einblenden entfernen" Verbindung? Dann, Es beantwortet die Frage: sofortige Folgenahrung: Wie aktiviere ich leicht die Ansicht Alle Websiteinhalte auf Basis von Standorten verknüpfen?

Als bonus: Sein Ansatz funktioniert für WSS, nicht nur Moos.

</Ende>

Onnieren Sie meinen Blog ab!