Udostępnij za pośrednictwem


Instruktaż: Tworzenie aktywności przepływ pracy witryny niestandardowe

W tym instruktażu przedstawiono sposób tworzenia niestandardowych działania na poziomie witryny przepływu pracy przy użyciu Visual Studio.(Przepływy pracy z poziomu witryny dotyczą całej witryny, a nie tylko listy w witrynie). Niestandardowe działania tworzy kopię zapasową listy anonsów i następnie kopiuje zawartość listy Anonsy do niego.

W tym instruktażu przedstawiono następujące zadania:

  • Tworzenie przepływu pracy z poziomu witryny.

  • Tworzenie działania niestandardowy przepływ pracy.

  • Tworzenie i usuwanie listy programu SharePoint.

  • Kopiowanie elementów z jednej listy do innej.

  • Wyświetlanie listy na pasek szybkiego uruchamiania.

[!UWAGA]

Na danym komputerze mogą być używane inne nazwy lub lokalizacje pewnych elementów interfejsu użytkownika programu Visual Studio, które są używane w poniższych instrukcjach. Używana wersja programu Visual Studio oraz jej ustawienia określają te elementy. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.

Wymagania wstępne

Potrzebne do przeprowadzenia tego instruktażu następujące składniki:

Tworzenia projektu aktywności witryny niestandardowe przepływu pracy

Najpierw utwórz projekt do przechowywania i przetestować działanie niestandardowy przepływ pracy.

Aby utworzyć projekt witryny działania niestandardowego przepływu pracy

  1. Na pasku menu wybierz pliku, Nowy, projektu do wyświetlania Nowy projekt okno dialogowe.

  2. Rozwiń SharePoint albo węzeł Visual C# lub programu Visual Basic, a następnie wybierz polecenie 2010 węzła.

  3. W szablonów okienku wybierz SharePoint 2010 projektu szablonu.

  4. W Nazwa polu, wpisz AnnouncementBackup, a następnie wybierz OK przycisku.

    Kreator dostosowania programu SharePoint pojawi się.

  5. Na Określ witrynę i poziom zabezpieczeń dla debugowania wybierz Wdroż jako roztwór farmy przycisk opcji, a następnie wybierz Zakończ przycisk, aby zaakceptować zaufania witryny poziom i domyślne.

    W tym kroku ustawia poziom zaufania dla roztworu jako roztwór farmy, opcja dostępna tylko dla projektów przepływu pracy.

  6. W Solution Explorer, wybierz węzeł projektu i następnie na pasku menu wybierz projektu, Dodaj nowy element.

  7. Pod Visual C# lub języka Visual Basic, rozwiń SharePoint węzeł, a następnie wybierz polecenie 2010 węzła.

  8. W szablonów okienku wybierz Sekwencyjny przepływ pracy (tylko farmy roztwór) szablonu, a następnie wybierz polecenie Dodaj przycisku.

    Kreator dostosowania programu SharePoint pojawi się.

  9. Na Określ nazwę przepływu pracy do debugowania strony, zaakceptuj domyślną nazwę (AnnouncementBackup - Workflow1).Zmień typ szablonu przepływu pracy do Przepływu pracy w witrynie, a następnie wybierz polecenie Dalej przycisku.

  10. Wybierz Zakończ przycisk, aby zaakceptować pozostałe ustawienia domyślne.

Dodając niestandardowe klasy działalności przepływu pracy

Następnie Dodaj klasy do projektu zawierają kod czynności niestandardowy przepływ pracy.

Aby dodać klasę działalności niestandardowy przepływ pracy

  1. Na pasku menu wybierz projektu, Dodaj nowy element do wyświetlania Dodaj nowy element okno dialogowe.

  2. W Zainstalowane szablonów widoku drzewa, wybierz kodu węzła, a następnie wybierz polecenie klasy szablonu na liście szablonów elementu projektu.Użyj nazwy domyślnej Class1.Wybierz Dodaj przycisku.

  3. Zamień cały kod w Class1 następujące czynności:

    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Text
    Imports Microsoft.SharePoint
    
    Namespace AnnouncementBackup
        ' This custom activity will back up all of the announcements 
        ' in the Announcements list on the SharePoint site.
        Public Class Class1
            Inherits System.Workflow.ComponentModel.Activity
            Public Sub New()
                MyBase.New()
            End Sub
    
            ' Triggers when the activity is executed.
            Protected Overrides Function Execute(ByVal executionContext As System.Workflow.ComponentModel.ActivityExecutionContext) As System.Workflow.ComponentModel.ActivityExecutionStatus
                Try
                    ' Get a reference to the SharePoint site.
                    Dim site As SPSite = New SPSite(("http://" + System.Environment.MachineName))
                    Dim web As SPWeb = site.OpenWeb("/")
                    ' Reference the original Announcements list.
                    Dim aList As SPList = web.GetList("/Lists/Announcements")
                    ' If the Announcements Backup list already exists, delete it.
                    Try
                        Dim bList As SPList = web.GetList("/Lists/Announcements Backup")
                        bList.Delete()
                    Catch
                    End Try
                    ' Create a new backup Announcements list and reference it.
                    Dim newAnnID As Guid = web.Lists.Add("Announcements Backup", "A backup Announcements list.", SPListTemplateType.Announcements)
                    Dim bakList As SPList = web.Lists(newAnnID)
                    ' Copy announcements from original to backup Announcements list.
                    For Each item As SPListItem In aList.Items
                        Dim newAnnItem As SPListItem = bakList.Items.Add
                        For Each field As SPField In aList.Fields
                            If Not field.ReadOnlyField Then
                                newAnnItem(field.Id) = item(field.Id)
                            End If
                        Next
                        newAnnItem.Update()
                    Next
                    ' Put the Backup Announcements list on the QuickLaunch bar.
                    bakList.OnQuickLaunch = True
                    bakList.Update()
                Catch errx As Exception
                    System.Diagnostics.Debug.WriteLine(("Error: " + errx.ToString))
                End Try
                Return MyBase.Execute(executionContext)
            End Function
        End Class
    End Namespace
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.SharePoint;
    
    namespace AnnouncementBackup
    {
        // This custom activity will back up all of the announcements in 
        // the Announcements list on the SharePoint site.
        public class Class1 : System.Workflow.ComponentModel.Activity
            {
            public Class1()
            { }
    
            // Triggers when the activity is executed.
            protected override System.Workflow.ComponentModel.ActivityExecutionStatus Execute(System.Workflow.ComponentModel.ActivityExecutionContext executionContext)
            {
                try
                {
                    // Get a reference to the SharePoint site.
                    SPSite site = new SPSite("http://" + System.Environment.MachineName);
                    SPWeb web = site.OpenWeb("/");
    
                    // Reference the original Announcements list.
                    SPList aList = web.GetList("/Lists/Announcements");
    
                    // If the Announcements Backup list already exists, delete it.
                    try
                    {
                        SPList bList = web.GetList("/Lists/Announcements Backup");
                        bList.Delete();
                    }
                    catch
                    { }
    
                    // Create a new backup Announcements list and reference it.
                    Guid newAnnID = web.Lists.Add("Announcements Backup", "A backup Announcements list.", SPListTemplateType.Announcements);
                    SPList bakList = web.Lists[newAnnID];
    
                    // Copy announcements from original to backup Announcements list.
                    foreach (SPListItem item in aList.Items)
                    {
                        SPListItem newAnnItem = bakList.Items.Add();
                        foreach (SPField field in aList.Fields)
                        {
                            if (!field.ReadOnlyField)
                                newAnnItem[field.Id] = item[field.Id];
                        }
                        newAnnItem.Update();
                    }
    
                    // Put the Backup Announcements list on the QuickLaunch bar.
                    bakList.OnQuickLaunch = true;
                    bakList.Update();
    
                }
    
                catch (Exception errx)
                {
                    System.Diagnostics.Debug.WriteLine("Error: " + errx.ToString());
                }
    
                return base.Execute(executionContext);
            }
    
    
        }
    }
    
  4. Zapisz projekt, a następnie na pasku menu wybierz budować, Roztwór budować.

    Class1 jest wyświetlany jako akcji niestandardowej w Przybornik na Składników AnnouncementBackup kartę.

Dodawanie działania niestandardowe do przepływu pracy witryny

Następnie dodać działania do przepływu pracy zawierają niestandardowy kod.

Aby dodać niestandardowe działania do witryny przepływu pracy

  1. Workflow1 Otwórz projektanta przepływów pracy w widoku Projekt.

  2. Przeciągnij Class1 z Przybornik tak aby była wyświetlana w obszarze onWorkflowActivated1 działania lub otwarcie menu skrótów dla Class1, wybierz kopię, otworzyć menu skrótów dla linii pod onWorkflowActivated1 działalności, a następnie wybierz Wklej.

  3. Zapisz projekt.

Badania aktywności niestandardowy przepływ pracy witryny

Następnie uruchom projekt i uruchamianie przepływu pracy witryny.Niestandardowe działania tworzy listy Anonsy kopii zapasowych i kopiuje zawartość bieżącej listy Anonsy do niego.Kod sprawdza także, czy listy kopii zapasowych już istnieje, przed utworzeniem jeden.Jeśli istnieje już listy kopii zapasowych, jest usuwany.Kod dodaje również łącze do nowej listy w witrynie programu SharePoint pasek szybkiego uruchamiania.

Aby przetestować witrynę działania niestandardowego przepływu pracy

  1. Wybierz klawisz F5, aby uruchomić projekt i wdrażanie w programie SharePoint.

  2. Na pasek szybkiego uruchamiania wybierz list łącze, aby wyświetlić wszystkie listy, które są dostępne w witrynie programu SharePoint.Zawiadomienie istnieje tylko jedna lista anonsów o nazwie anonsów.

  3. W górnej części strony sieci Web programu SharePoint należy wybrać Witryny przepływów pracy łącze.

  4. Początek sekcji nowego przepływu pracy w obszarze wybierz AnnouncementBackup — Workflow1 łącze.Uruchamia przepływ pracy witryny i uruchamia kod w akcji niestandardowej.

  5. Na pasek szybkiego uruchamiania wybierz Kopii zapasowych anonsy łącze.Warto zauważyć, że wszystkie anonse, które są zawarte w anonsów listy zostały skopiowane do nowej listy.

Zobacz też

Zadania

Jak: tworzenie odbiorca zdarzeń

Inne zasoby

Tworzenie rozwiązań dla programu SharePoint