SharePoint リストテンプレートから ワークフローを削除する方法

SharePoint構築Tips : 2012.05.10 Thursday

SharePointリストの移行

SharePointリストテンプレートを使えば リストを保存して、サイト内にも別サイトにも 展開できます。
しかし、リストにワークフローが付加されている場合は リストの保存/展開はできますが 展開後にワークフローが正しく動作しません。

原因は、ワークフローの情報(イベントレシーバー、ワークフロー関連付けなど)が リストテンプレートに含まれいるため、展開後のリストで 「ワークフローがないのに ワークフローの情報はある」という状態になるためです。
この状態で さらにワークフローを付加すると 1ワークフローが動作したときに 複数のイベントレシーバーが動作してしまい、おかしなことになります。

この問題を回避するためには リストテンプレートを保存する前に、 リストに関連付けられたワークフローを削除します。
例えば 検証用のサイトと実運用のサイトがあった場合、以下の手順になります。
1) 検証用のサイト: リスト/ワークフローを作成
2) 検証用のサイト: 動作テスト
3) 検証用のサイト: ワークフローを削除
4) 検証用のサイト: リストテンプレートを保存
5) 実運用のサイト: リストテンプレートを登録
6) 実運用のサイト: リスト/ワークフローを作成
7) 実運用のサイト: 動作テスト

※ワークフローの種類(SharePoint標準/SharePoint Designer/Nintex Workflowなど) により、ワークフローの移行方法は異なります。
ここでは「リストの移行」のお話しに限定しています。


上記の手順では、
せっかく検証用のサイトで動作テストまでしたのに、 検証用のサイトにはワークフローがない状態になります。
また、検証用のサイトと実運用のサイトとで リスト/ワークフローの設定が異なります。
※検証用のサイトで再度、ワークフローを作成すれば 設定は合わせられますが。



SharePointリストテンプレートからワークフローを削除

SharePointフィールド名(内部名)でも説明しましたが、 SharePointリストテンプレート内の manifest.xml にリストの情報が入っています。
manifest.xml内のワークフロー情報を削除すれば...展開後にワークフローが 悪さ しなくなります。

全体の流れは 以下の通りです。
・リストテンプレートを保存
・リストテンプレートから manifest.xml を展開
・manifest.xml からワークフロー情報を削除
・manifest.xml から リストテンプレートを作成
・リストテンプレートを展開

※リストテンプレートの保存、展開は SharePoint標準機能なので 説明は省きます。


リストテンプレートから manifest.xml を展開

以下の手順で manifest.xmlを展開します。
手順 1) リストテンプレートの拡張子を stp から cabに変更
手順 2) エクスプローラ,EXPANDコマンドなどで cabファイルから、「manifest.xml」を展開



ここで リストテンプレート(cabファイル)内に manifest.xml 以外のファイル(例: 50000000.000)があれば それらのファイルも展開しておいてください。


manifest.xml からワークフロー情報を削除

次に、manifest.xmlからワークフロー情報を削除します。
手順 3) manifest.xmlを XMLエディタ、メモ帳などで開く
手順 4) ListTemplate/UserLists/List/MetaDataタグ配下のReceiversタグを削除
手順 5) ListTemplateタグ配下のWorkflowAssociationsタグを削除
手順 6) manifest.xmlを保存


manifest.xml から リストテンプレートを作成

最後に、編集したmanifest.xmlからリストテンプレート(stpファイル)を作成します。
手順 7) MAKECAB.EXE で manifest.xml からリストテンプレートを作成

MAKECABコマンドは Windows標準のCABファイルを作成するコマンドです。コマンドプロンプトで実行します。
「手順 2)」で リストテンプレートに manifest.xml だけの場合と、リストテンプレートにmanifest.xml以外にもファイルがある場合で CABファイルの作成方法(MAKECAB.EXEのパラメータ指定)が異なります。

[manifest.xml だけの場合]
手順 7A-1) 編集したmanifest.xmlと リストテンプレートファイル名を指定します。

手順 7A-2) カレントディレクトリに リストテンプレートができます。

[manifest.xml以外にもファイルがある場合]
手順 7B-1) 「手順 2)」で展開した manifest.xml以外のファイルと、編集したmanifest.xmlを フォルダ(例: D:¥Work)に 格納

手順 7B-2) フォルダ内に ファイル一覧のテキストファイル(例: filelist)を テキストエディタで作成

手順 7B-3) コマンドプロンプトを起動で MAKECAB.EXEを実行

手順 7B-3) カレントディレクトリ作成された 「disk1」フォルダ内の「1.cab」を リストテンプレート(例: DocLib.stp)にリネーム


以上で、ワークフロー情報を削除した リストテンプレートができました。
後は、このリストテンプレートを SharePoint サイトの設定で リストテンプレートギャラリーに登録し、リストを作成してください。

※通常のCABファイルであれば +Lhacaなどのフリーソフトで作成できますが、 SharePointのリストテンプレートの場合、+Lhacaなどのフリーソフトで作成したCABでは (何故かはわかりませんが)リスト展開時にエラーとなります...。




【最近の投稿記事】



SharePoint Online
Office 365/SharePoint Online事始め,ライセンス
Office 365やるってよ |  MSサイトでプランを勉強 |  TechNetでプランを勉強 |  E5プラン | 
Office 365/SharePoint Online関連の書籍
できる Office 365 |  誰でもできる! Office365導入ガイド |  ひと目でわかる SharePoint Server 2016 |  Office 365 ビジネス活用28の事例 |  Office 365 サイトカスタマイズ&開発編 |  ひと目でわかる PowerApps |  ひと目でわかる Azure Information Protection | 
Office 365製品、サービス
sway, cortana, delve |  Office Online制限 |  SharePoint 2016 RC |  アーキテクチャ |  Connections, Listings, Invoicing |  Microsoft 365 Roadmap | 
SharePoint Online リスト/ライブラリ(クラシック)
標準 リスト/ライブラリ |  アンケート(Survey) |  画像ライブラリ |  ニュースフィード |  日英サイト間でリストデータ移行 |  ライブラリ ドラッグ&ドロップ |  ライブラリ ファイル一覧出力 |  リスト外観変更 |  Explorer URL |  ディスカッション掲示板 |  注目リンク |  OneDrive 通知メール送信 |  OneDrive バージョン履歴 |  アイテムはレコードです |  イベントのエクスポート |  既定ビュー破損 |  バージョン管理の改悪Update | 
SharePoint Online Webパーツ(クラシック)
標準 Webパーツ |  スクリプトエディタ |  RSSビューア |  フィルタWebパーツ |  XsltListViewWebPart |  グラフ表示パーツ |  サイトフィード(ニュースフィード)データ出力 | 
SharePoint Online リスト/ライブラリ/ページ(モダン)
ドキュメントライブラリ(Preview) |  複数ファイルダウンロード |  リスト・ライブラリ切替有無 |  ナビゲーション |  サイトのロゴ |  コマンドバー |  リスト ビュー |  リスト フォーム |  ホームページ設定 |  列の書式設定(Column Formatting) |  Seattle から Oslo そして Modernへ |  Webパーツページの管理は使えない |  サイドリンクバーの有効化 |  Webブラウザ幅に応じた表示 |  ページ タイトルと画像 |  ページ コピーとメール送信 |  リストビュー Filter |  ページのコメント |  モダンを強制する方法 |  リンクの取得(制限付きリンク) |  発行用ハイパーリンク列はモダンで動かない |  ビュースタイル |  モダン/クラシック混在設計のコツ |  モダン ナビゲーション設計 |  選択肢の追加不可 |  お知らせ表示の方法 |  SharePointページ |  集計値列の日付表示不正 |  いいね! コメント 表示回数 |  ナビゲーションの要素 |  ビューのカラム間隔 |  フォルダ名の禁則文字 |  連絡先,案件管理,DataSheetView形式カスタム |  あとで読むために保存(Save for later) |  UPLOADメッセージ |  ビューの書式設定 |  リストアイテムの印刷 |  2回目のニュース投稿 |  タイトルの領域 | 
SharePoint Online Webパーツ/テーマ(モダン)
サイトページ作成とWebパーツ一覧 |  リスト、ライブラリ |  埋め込み |  ファイルビューア― |  リンク |  クイックリンク |  画像ギャラリー |  強調表示されたコンテンツ |  ヒーロー(Hero) |  クイック グラフ (Quick chart) |  テキスト(Text) |  画像 (Image) |  外観の変更 テーマ |  イベント(Events) |  クイックリンクの順番入替 |  Webパーツが大幅に減少!? |  外観の変更 |  リストWebパーツ不具合 |  クイックリンクのアイコン |  クイックリンクのレイアウト |  画像ギャラリーのレイアウト |  ドキュメントのチェックアウト表示 | 
SharePoint Online サイト(モダン)
サイトメールボックス |  標準 サイト |  サイトコレクション機能 |  サイト情報 |  サイトテンプレートの運用 |  サイトの訪問者 |  サイト情報のサイト削除リンク |  チームサイトテンプレート |  コミュニケーションサイト テンプレート |  ハブサイト |  モダンUIスキャナー |  サイト・リスト構成 | 
SharePoint Online 検索機能
検索の対象 |  検索されたくないファイル |  注目サイト |  検索結果カスタマイズ | 
SharePoint Online 外部共有
外部ユーザー共有 |  外部共有サイト、外部ユーザー |  外部ユーザー削除 Remove-SPOExternalUser |  外部ユーザーの定義とライセンス付与の要否 |  共有の設定オプションが増えた |  サイトコレクション共有設定 | 
SharePoint Online 移行
Notes情報表示 |  Notesデータ移行 |  Sharegateインストール |  Sharegateファイル移行 | 
SharePoint Online カスタマイズ
IE11開発者ツール |  Osloとの戦い |  Style動的変更 |  リダイレクトページ |  IEとChrome |  ボタン名の変更 |  フロー Flow |  注目リンク カスタマイズ |  アンケート 列設定 変更 |  アンケート Excelエクスポート項目 変更 |  ダウンロード禁止のアクセス許可レベル | 
SharePiont PnP PowerShell
PnPの概要 |  テナントバージョン取得 | 
SharePiont Online 動作仕様
制限値が気になる |  記憶域とサーバーリソース |  プロファイル画像 |  IsDlg効かず |  プレゼンス表示 |  利用状況レポート |  データ容量管理 |  ごみ箱の日数 |  サイドリンクバー |  直打ちURL |  ユーザープロファイル |  Access app 廃止 |  アクセス要求の設定 |  ページリンク、クラシック表示を終了 |  お知らせタイルとエクスペリエンスバージョン |  クォータ警告と共有設定を一括取得 |  SharePoint Online 10 GB/User増量 |  SharePoint管理センター |  アクセス要求の設定 |  ファイルアップロードの宛先ライブラリ |  SharePoint管理センター Preview |  データ移行ツール |  サイトページ機能 |  SharePointホームページ |  管理者の業務範囲 |  記憶域の管理 |  クォータの増量要求 | 
SharePiont Online 不具合
Webページ破損 |  サイトコレクション削除 |  おすすめ エラー |  外観変更エラー |  プロジェクトサイトテンプレート ProjectSummaryWebPartエラー |  発行インフラストラクチャー機能 Trouble |  ダウンロード最小化戦略の問題点 |  日時がSeattle時間になる問題 |  サイトコレクション削除後の保存期間 | 
Office 365 動作仕様
OneDrive概要 |  OneDrive設定 |  OWAエラー画面 |  新しい Office 365管理センターUI |  Office 365メッセージ |  OneNote同期/ファイル |  Office 365サイト |  Office 365監査ログ |  Project Web App |  機能更新とエラー画面 |  Outlook Webのメッセージ |  Office 365 ホーム |  OneDrive削除アクティビティメール |  Projectホームページ |  Teamsチームサイトのアクセス権限 |  O365管理センター メニュー |  ASPX,HTMLファイル表示差異 |  Teamsデスクトップクライアント設定 |  Office Online自動保存と自動編集 |  Microsoft Search |  OneDriveページパラメータ |  SharePoint+Teams+O365グループ | 
search this site.
SharePoint概要
SharePointとは?
アーキテクチャ
サイトテンプレート
リストテンプレート
Webパーツ
アクセス権限
SharePoint用語集


SharePoint構築Tips
リスト名(URL)
ライブラリ名(URL)
フィールド名(内部名)
ビュー名(ファイル名)
リストテンプレート
(ワークフロー削除)

大きなリストの問題
アイテム一覧の列幅
機能とWebパーツ
フィールドデータ型
禁則文字
隠しリスト表示
管理パス
サイト内の列
サポート期限
PDFをブラウザで開く
URLエンコード・デコード
日時の絶対値表示
エクスプローラーで開く
パブリック・個人用ビュー
ひと目でわかるOffice 365ビジネス活用28の事例 SharePoint Server 2016対応版 (マイクロソフト関連書)

SharePoint開発Tips
開発の概要
開発者ダッシュボード
MSDN URL
RESTインターフェイス
ページパラメータ IsDlg
ビジュアルアップグレード
機能(Feature)
2010開発者向けの資格
2013開発者向けの資格
ページパラメータ contents
リソースファイル
リスト/ライブラリGUID
テーマ
トレースログ
PowerShell文字コード
SharePoint Framework
ひと目でわかるOffice 365サイトカスタマイズ&開発編 SharePoint Server 2016対応版

SharePoint情報サイト
Tech community(SharePoint)
SharePoint Developer Center
Support Team Blog
SharePoint Developer
SharePoint Technical Note
ILLUMINATE JAPAN Blog
Office365うるのさん奮闘ブログ
AvePoint Japan Community
idea.toString();
SharePoint Issue
Office365/SharePoint
からめもぶろぐ。
Office 365 & PowerX
徒然 Office 365 WebLog
SPeed LAND 365
Art-Break:Tech
ひと目でわかる SharePoint Server 2016




ひと目でわかるPowerAppsノンコーディングでのビジネスアプリ作成入門 (マイクロソフト関連書)


   風水吉凶方位 |  奇門遁甲 |  金運神社 |  金運本 |  水族館 |  仏像 |  論語 |  般若心経 |  庭園 |  二十四節気 |  菜根譚 | 
   SharePoint活用 |  OneNote活用 |  サーバー監視 |  イベントログ |  IT資産管理 |  技術TIPS