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"&"
  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!

Meine ganz eigene CodePlex-Projekt: Workflow-Erweiterungen für SharePoint Designer

UPDATE: Finden Sie hier (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) für die neuesten auf dieses Projekt.

Ich habe ein CodePlex Projekt heute zu Hause die generischen SPD-Schnittstelle code, dass ich gebloggt Hier (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Schauen Sie sich Hier (http://www.codeplex.com/spdwfextensions) zu sehen das CodePlex-Projekt und die Reifen kick.

Wenn Sie mit mir arbeiten möchten, Feuer aus eine e-Mail an mailto:galvin.paul@gmail.com

SharePoint Designer — Benutzerdefinierte Aktivität auszuführende benutzerdefinierte C#-Funktionen

UPDATE: Dies ist auf CodePlex hier erschienen: http://www.codeplex.com/spdwfextensions

UPDATE: Hier finden Sie aktuelle Versionshinweise: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Hier finden Sie meine Gedanken über die Kommerzialisierung dieses Projekts: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Dieses Projekt bietet eine benutzerdefinierte Aktivität in SharePoint Designer. Verwenden Sie diese benutzerdefinierte Aktivität aufrufen (Versand) Alle c#-Funktion, die Sie in der verknüpften Assembly integriert.

Ab Ende Oktober, 2007, Dies ist nur eine erste Version des Projekts. Ich habe vor, es mit einer Reihe von Zusatzfunktionen erweitern, einschließlich der Teilzeichenfolge, Index, Ersetzen, Aufrufen von Webdiensten und alles, was nützlich oder interessant scheint. Ich habe auch vor, dies auf Codeplex veröffentlichen, sobald ich meine Tat zusammen an dieser Front haben. Dies wird auch als Lösung zu einem bestimmten Zeitpunkt einsetzbar sein.

Wenn Sie Kommentare, Fragen oder Anregungen, Bitte lassen Sie sie in den Kommentaren oder mailen Sie mir.

Haftungsausschluss:

Ich mache absolut keine Ansprüche bezüglich der Eignung von dies für jeden Zweck. Verwenden Sie auf eigene Gefahr.

Installationsschritte (für jede WFE in der farm):

1. Das .zip herunterladen und entpacken.

2. Installieren Sie die dll in den GAC. Ich öffne in der Regel c:\Windowsassembly mithilfe von Windows_explorer und kopieren dort.

3. Ändern von web.config die Versammlung um die sichere Steuerelemente hinzuzufügen:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<AuthorizedType Assembly = "SpdGenericInterface, Version = 1.0.0.0, Kultur = Neutral, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorisiert = "True" />

4. "SpdGenericInterface.actions kopieren" bis c:\Programm c:ProgrammeGemeinsame DateienMicrosoft Sharedweb Server extensions12TEMPLATE1033Workflow

Beachten Sie, dass das oben angegebene Verzeichnis speziell für englischsprachige Installationen.

5. Schließen Sie SharePoint Designer (Wenn sie bereits geöffnet ist).

6. iisreset

7. Öffnen Sie SPD und erstellen Sie einen neuen workflow.

Wenn alles gut geht, Sie sollten mit einer neuen Kategorie von Aktion belohnt werden:

Bild

Hinweise:

Siehe Hier (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) eine tolle Übersicht über das Verfahren zum Erstellen, Installation und Konfiguration einer Lösung wie dieser.

Das .zip ist entworfen, um direkt zu Ihnen C extrahieren:\ Laufwerk. Wenn Sie dies tun, Sie können das Projekt öffnen und alle Pfade werden konsistent.

Um dies in visual Studio verwenden, Sie müssen wahrscheinlich "Erweiterungen für Windows WF" installieren.

Der erste Upload enthält nur ein "Dispatcher-Funktion", "ToLower()". Weitere Funktionen hinzufügen, Fügen sie der Execute-Methode, wie gezeigt:

 geschützt Überschreiben ActivityExecutionStatus
          Ausführen(ActivityExecutionContext executionContext)
        {

            Zeichenfolge functionToDispatch;
            FunctionToDispatch = Dies.DispatchFunction.ToLower();

            Schalter (functionToDispatch)
            {
                Fall "tolower()":
                    {
                        Dies.OutResult1 = Dies.InParam1.ToLower();
                        Pause;
                    }

                Standard:
                    {
                        Dies.OutResult1 = "Unbekannte Funktion: [" + Dies.DispatchFunction + "].";
                        Pause;
                    }
            }

            Rückkehr ActivityExecutionStatus.Geschlossen;
        } // ActivityExecutionStatus

    }

Dann, Erstellen Sie das Projekt erneut, und kopieren Sie die Assembly im GAC. Ich erwarte, dass ein Iisreset erforderlich wäre.

SPD Workflow benutzerdefinierte Aktion – erhalten die <WorkflowInfo> Tag Recht um Frust zu vermeiden

Teil des Prozesses für das Erstellen einer benutzerdefinierten Aktion für SharePoint Designer beinhaltet eine ".actions erstellen" Datei.

Ich habe gefunden und versucht, eine Beispielvorlage verwenden, die als beginnt:

<?XML Version="1.0" Codierung="UTF-8" ?>
<
WorkflowInfo xmlns="http://Schemas.Microsoft.com/SharePoint/">
<
Aktionen Sequenzielle="dann" Parallel="und">

Jedoch, Das Xmlns-Attribut verhindert, dass meine Umgebung arbeiten. Meine Aktionen bloßstellen nicht in SPD.

Die Lösung besteht darin, das Xmlns-Attribut entfernen, tun ein Iisreset und schließen/re-offene SPD.

Schnell und einfach: Konfigurieren von MOSS um eine bestimmtes Dokument-Bibliothek durchsuchen

Finden Sie unter UPDATE (ICH) unter (11/24/07) auf Gewusst wie: Konfigurieren von Microsoft Office SharePoint Server 2007 Index und Crawl Netzwerkordner für Suche

Ziel: Ich Suche auf ein bestimmtes Dokumentbibliothek eingeschränkt ausgeführt werden soll. In diesem Fall, die Dokumentbibliothek enthält Schulungsunterlagen.

Schritte:

1. Erfassen Sie die URL der Dokumentbibliothek.

2. Erstellen eines Bereichs:

Wechseln Sie zur Zentraladministration.

Zugang des SSP.

Gehen Sie zu "Sucheinstellungen".

Scrollen Sie die den Schutzbereich festlegen, und wählen Sie "Bereiche anzeigen".

Erstellen eines neuen Bereichs. Geben Sie ihm einen Namen und eine nützliche Beschreibung.

3. Bereichsregeln Crawl zu definieren:

Hinzufügen einer Regel, die für diesen Bereich die Dokumentbibliothek definiert.

Wählen Sie "web-Adresse" für "Bereichsregeltyp".

Geben Sie den Namen des Ordners (finden Sie unter #1 oben).

Akzeptieren Sie den Standardwert von "Include".

Für den Bereich aktualisieren warten (oder manuell starten).

4. Aktivieren Sie den Bereich in einer Websitesammlung.

Auf Websitesammlung zu gehen, wo Sie diesen Bereich verwenden möchten.

Die entsprechende Anzeige oder Gruppen Ihre neuen Bereich hinzufügen.

5. Suche!

An diesem Punkt, Sie sind fertig. Vorausgesetzt, des Bereichs ist korrekt definiert., Es werden in den Dropdownlisten Bereiche, für die einfache oder Erweiterte Suche und bei der Suche mit diesem Bereich, Sie erhalten nur Resultate, erwarten Sie.

Hinweise:

Ich schrieb diesen Blog-Eintrag weil meine Recherchen für einfache Bereich Setup tauchte trocken mit, dass Sätze wie:

  • Konfigurieren von Bereichen in MOSS
  • Suche Bereich Moos konfigurieren
  • Bereiche in sharepoint 2007
  • Bereiche in sharepoint
  • Suchen Sie eine Dokument-Bibliothek-Moos
  • Bereiche Grundierung Moos

Sie können einen Suchbereich auf einen Ordner erstellen., nicht nur das gesamte Dokument-Bibliothek.

Ein Bereich kann über mehrere Websitesammlungen freigegeben werden (Daher, ein "shared Service").

Sie können den Bereich auf Ebene der Websitesammlung selbst erstellen.. Jedoch, Ich bevorzuge zentrale admin zu gehen, weil ich von dort aus den Crawl starten können. Sie können nicht aus der Websitesammlung den Crawl starten..

UPDATE (ICH) ab 11/24/07:

Kai Shang zusammen, dass ein großer Beitrag mit dem Titel Gewusst wie: Konfigurieren von Microsoft Office SharePoint Server 2007 Index und Crawl Netzwerkordner für Suche @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Technorati Tags: , ,