Návod: Vytvoření vlastní aktivity pracovního postupu webu
Tento názorný postup ukazuje, jak vytvořit vlastní aktivitu pro pracovní postup na úrovni webu pomocí sady Visual Studio. (Pracovní postupy na úrovni webu se vztahují na celý web, ne jenom na seznam na webu.) Vlastní aktivita vytvoří záložní seznam oznámení a zkopíruje do něj obsah seznamu Oznámení.
Tento názorný postup ukazuje následující úlohy:
Vytvoření pracovního postupu na úrovni webu
Vytvoření vlastní aktivity pracovního postupu
Vytvoření a odstranění sharepointového seznamu
Kopírování položek z jednoho seznamu do druhého
Zobrazení seznamu na panelu QuickLaunch
Poznámka:
Váš počítač může v následujících pokynech zobrazovat odlišné názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace naleznete v tématu Přizpůsobení integrovaného vývojového prostředí (IDE).
Požadavky
K dokončení tohoto návodu budete potřebovat následující komponenty:
Podporované edice systému Microsoft Windows a SharePoint.
Visual Studio.
Vytvoření vlastního projektu aktivity pracovního postupu webu
Nejprve vytvořte projekt, který bude uchovávat a testovat vlastní aktivitu pracovního postupu.
Vytvoření vlastního projektu aktivity pracovního postupu webu
Na řádku nabídek zvolte Soubor>nový>projekt, aby se zobrazilo dialogové okno Nový projekt.
Rozbalte uzel SharePointu v sadě Visual C# nebo Visual Basic a zvolte uzel 2010.
V podokně Šablony zvolte šablonu projektu SharePointu 2010.
Do pole Název zadejte OznámeníBackup a pak zvolte tlačítko OK.
Zobrazí se Průvodce přizpůsobením SharePointu.
Na stránce Zadat web a úroveň zabezpečení pro ladění zvolte tlačítko Nasadit jako řešení farmy a pak zvolte tlačítko Dokončit, abyste přijali úroveň důvěryhodnosti a výchozí web.
Tento krok nastaví úroveň důvěryhodnosti pro řešení jako řešení farmy, což je jediná dostupná možnost pro projekty pracovního postupu.
V Průzkumník řešení zvolte uzel projektu a potom na řádku nabídek zvolte Přidat novou položku projektu>.
V části Visual C# nebo Visual Basic rozbalte uzel SharePointu a pak zvolte uzel 2010.
V podokně Šablony zvolte šablonu Sekvenční pracovní postup (pouze řešení farmy) a pak zvolte tlačítko Přidat.
Zobrazí se Průvodce přizpůsobením SharePointu.
Na stránce Zadejte název pracovního postupu pro ladění přijměte výchozí název (AnnouncementBackup – Workflow1). Změňte typ šablony pracovního postupu na Pracovní postup webu a pak zvolte tlačítko Další .
Pokud chcete přijmout zbývající výchozí nastavení, zvolte tlačítko Dokončit.
Přidání vlastní třídy aktivity pracovního postupu
Dále do projektu přidejte třídu, která bude obsahovat kód pro vlastní aktivitu pracovního postupu.
Přidání vlastní třídy aktivity pracovního postupu
Na řádku nabídek zvolte Přidat novou položku projektu>a zobrazte dialogové okno Přidat novou položku.
Ve stromovém zobrazení Nainstalované šablony zvolte uzel Kód a pak v seznamu šablon položek projektu zvolte šablonu třídy . Použijte výchozí název Class1. Zvolte tlačítko Přidat.
Nahraďte veškerý kód ve třídě 1 následujícím kódem:
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); } } }
Uložte projekt a potom na řádku nabídek zvolte Sestavit>řešení sestavení.
Třída 1 se zobrazí jako vlastní akce na panelu nástrojů na kartě Součásti oznámení.
Přidání vlastní aktivity do pracovního postupu webu
Dále přidejte do pracovního postupu aktivitu, která bude obsahovat vlastní kód.
Přidání vlastní aktivity do pracovního postupu webu
Otevřete pracovní postup 1 v návrháři pracovního postupu v návrhovém zobrazení.
Přetáhněte třídu 1 ze sady nástrojů tak, aby se zobrazila pod aktivitou
onWorkflowActivated1
, nebo otevřete místní nabídku třídy Class1, zvolte Kopírovat, otevřete místní nabídku pro řádek pod aktivitouonWorkflowActivated1
a pak zvolte Vložit.Uložte projekt.
Testování vlastní aktivity pracovního postupu webu
Dále spusťte projekt a spusťte pracovní postup webu. Vlastní aktivita vytvoří záložní seznam oznámení a zkopíruje do něj obsah z aktuálního seznamu oznámení. Kód také zkontroluje, jestli již existuje seznam záloh před vytvořením seznamu. Pokud již seznam záloh existuje, odstraní se. Kód také přidá odkaz na nový seznam na panelu QuickLaunch webu SharePointu.
Otestování vlastní aktivity pracovního postupu webu
Zvolte klávesu F5 , aby se projekt spustil, a nasaďte ho do SharePointu.
Na panelu QuickLaunch zvolte odkaz Seznamy , aby se zobrazily všechny seznamy, které jsou dostupné na sharepointovém webu. Všimněte si, že pro oznámení s názvem Oznámení existuje jenom jeden seznam.
V horní části webové stránky SharePointu zvolte odkaz Pracovní postupy webu.
V části Zahájit nový pracovní postup zvolte odkaz AnnouncementBackup – Workflow1 . Tím se spustí pracovní postup webu a spustí se kód ve vlastní akci.
Na panelu QuickLaunch zvolte odkaz Oznámení zálohování . Všimněte si, že všechna oznámení obsažená v seznamu Oznámení se zkopírovala do tohoto nového seznamu.