皆様こんにちは。
今回は、コンテンツタイプの作成とドキュメントライブラリーへの割り当てをやってみます。
お客様のオーダーは、フォルダーのコンテンツタイプを原型に、色々カスタム属性をくっつけた「属性付きフォルダー」タイプを定義して、これを検索させたいというものです。
使うコマンドは
Get-PnPContentType
Add-PnPContentType
です。
コンテンツタイプを新規に作成する
$ContentTypeGroup="拡張フォルダー情報"
#新規コンテンツタイプ"ExtFolder"を定義する
$ParentCT = Get-PnPContentType -InSiteHierarchy -Identity フォルダー
Add-PnPContentType -Name "ExtFolder" -Description "属性付きフォルダー" -Group "フォルダー コンテンツ タイプ" -ParentContentType $ParentCT
# ここまでで空のコンテンツタイプができる
# 新しいフィールドをサイトに追加する。グループは"拡張フォルダー情報"
Add-PnPField -DisplayName "商品コード" -InternalName "ProductCode" -Type Text -Group $ContentTypeGroup
Add-PnPField -DisplayName "分類コード" -InternalName "CategoryCode" -Type Text -Group $ContentTypeGroup
コンテンツタイプをリスト/ドキュメントライブラリーに割り当てる
#ドキュメントライブラリー"Shared Documents"(ドキュメント) にExtFolder コンテンツタイプを割り当てる
$DocumentLibrary="Shared Documents"
Add-PnPContentTypeToList -List $DocumentLibrary -ContentType $MyCT -DefaultContentType
ここまでで、内容のない新しいコンテンツタイプ "ExtFolder"ができました。
ビューを追加する
ここまでできたので、ビューを追加して、デフォルトのビューに割り当てます。行数がたくさんになるので、-Paged をセットして、
使う命令は
Add-PnPview
Set-PnPview
です。
どうも、名前を英語、日本語で別々に与えることができないようなので、一度英語名でビューを定義しておいて、あとからSet-PnpView
でTitle を日本語名に書き換えています。-paged
は行数が増える場合のために必要です。
$ViewName="新しいビュー"
$ViewInternalName="NewView"
Add-PnPView -List $DocumentLibrary -Title $ViewInternalName -ViewType Html -SetAsDefault -Fields @("LinkFilename","ProductCode","CategoryCode","Modified") -Paged
Set-PnPView -List $DocumentLibrary -Identity $ViewInternalName -Values @{"Title"="$ViewName"}
今回はここまでにします。