SharePoint フィールド名(内部名)の設定方法

SharePoint構築Tips : 2012.05.09 Wednesday

フィールド(列)の作成方法

SharePointのリスト/ライブラリのフィールド(列)を作成するには、
1) リストの設定で [列の作成]をする方法
2) サイト内の列を作成して リストの設定で [サイト内の既存の列から追加]する方法
3) サイト内の列、サイトコンテンツタイプを作成して リストの設定で [既存のサイトコンテンツタイプから追加]する方法
があります。



フィールド(列)の種類

SharePointのリスト/ライブラリのフィールド(列)の種類には 以下の種類があります。
・1 行テキスト
・複数行テキスト
・選択肢 (メニューから選択)
・数値 (1, 1.0, 100)
・通貨 ($、¥、?)
・日付と時刻
・参照 (このサイトにある既存の情報)
・はい/いいえ (チェック ボックス)
・ユーザーまたはグループ
・ハイパーリンクまたは画像
・集計値 (他の列を基にした計算結果)
・外部データ

「外部データ」は サイト内の列では作成できませんが、それ以外は サイト内の列でも作成できます。
フィールド(列)の種類ごとに 設定できる項目(例:最大値/最小値など)は異なります。
共通の項目は 「列名」「説明」「既定のビューに追加」などですが、それ以外にも「内部名(internalname)」というものを持っています。
また、リストの設定画面では表示されていないが リスト/ライブラリ定義ごとに 既定の「隠しフィールド」があります。
内部名は フィールドを作成するときの「列名(=表示名)」をもとに 自動的に決まってしまいます。
漢字で列名を指定すると 内部名はひどいことになってしまいます...。

列名 内部名
回答期限_x56de__x7b54__x671f__x9650_
質問カテゴリ_x8cea__x554f__x30ab__x30c6__x30
問い合わせの状態_x554f__x3044__x5408__x308f__x300


フィールドの内部名、隠しフィールドを調べる方法

SharePointリスト/ライブラリ内の1つのフィールド(列)の「内部名(internalname)」は以下の手順で調べます。
1) リスト/ライブラリの設定画面で、列(例:タイトル)をクリック
2) 列の設定画面が表示されたら、URLの末尾を見る

URLの末尾には「&Field=Title」のように、内部名が付加されています。

1フィールドづつ調べていくのは上記の方法でよいのですが、複数のフィールドをまとめて調べたい場合や隠しフィールドを調べたい場合には、別の方法があります。

SharePointのリスト/ライブラリのフィールド(列)の「内部名(internalname)」、 「隠しフィールド」を調べるには リストテンプレートを以下の手順で解析します。
1) リストの設定画面で [リストをテンプレートとして保存]でリストテンプレートを作成
2) リストテンプレートギャラリーで 作成したリストテンプレートをダウンロード
3) ダウンロードしたリストテンプレートの拡張子を stp から cabに変更
4) エクスプローラなどで cabファイルの中身を見て、「manifest.xml」を展開
5) manifest.xmlを XMLエディタ、メモ帳などで開く
6) Fieldsタグを探す...たくさんのフィールドがあることが解る

例えば カスタムリストを作成直後のリストテンプレートを解析すると、以下のフィールドがあることが解ります。

列名 内部名 種類
IDIDCounter
コンテンツ タイプの IDContentTypeIdContentTypeId
コンテンツ タイプContentTypeComputed
タイトルTitleText
更新日時ModifiedDateTime
作成日時CreatedDateTime
作成者AuthorUser
更新者EditorUser
コピー先の有無_HasCopyDestinationsBoolean
コピー元_CopySourceText
owshiddenversionowshiddenversionInteger
ワークフローのバージョンWorkflowVersionInteger
UI バージョン_UIVersionInteger
バージョン_UIVersionStringText
添付ファイルAttachmentsAttachments
承認の状況_ModerationStatusModStat
承認者のコメント_ModerationCommentsNote
編集EditComputed
タイトルLinkTitleNoMenuComputed
タイトルLinkTitleComputed
タイトルLinkTitle2Computed
選択SelectTitleComputed
インスタンス IDInstanceIDInteger
順序OrderNumber
GUIDGUIDGuid
ワークフロー インスタンス IDWorkflowInstanceIDGuid
URL パスFileRefLookup
パスFileDirRefLookup
更新日時Last_x0020_ModifiedLookup
作成日時Created_x0020_DateLookup
アイテムの種類FSObjTypeLookup
並べ替えの種類SortBehaviorLookup
有効な権限マスクPermMaskComputed
名前FileLeafRefFile
固有 IDUniqueIdLookup
クライアント IDSyncClientIdLookup
ProgIdProgIdLookup
ScopeIdScopeIdLookup
ファイルの種類File_x0020_TypeText
HTML ファイルの種類HTML_x0020_File_x0020_TypeComputed
メニュー テーブルの編集の開始_EditMenuTableStartComputed
メニュー テーブルの編集の開始_EditMenuTableStart2Computed
メニュー テーブルの編集の終了_EditMenuTableEndComputed
名前LinkFilenameNoMenuComputed
名前LinkFilenameComputed
名前LinkFilename2Computed
種類DocIconComputed
サーバーの相対 URLServerUrlComputed
エンコードされた絶対 URLEncodedAbsUrlComputed
ファイル名BaseNameComputed
プロパティ バッグMetaInfoLookup
レベル_LevelInteger
現在のバージョン_IsCurrentVersionBoolean
子アイテムの数ItemChildCountLookup
フォルダーの子の数FolderChildCountLookup


ドキュメントライブラリのフィールドは下表の通りです。
列名 内部名 種類
IDIDCounter
コンテンツ タイプの IDContentTypeIdContentTypeId
コンテンツ タイプContentTypeComputed
作成日時CreatedDateTime
作成者AuthorUser
更新日時ModifiedDateTime
更新者EditorUser
コピー先の有無_HasCopyDestinationsBoolean
コピー元_CopySourceText
承認の状況_ModerationStatusModStat
承認者のコメント_ModerationCommentsNote
URL パスFileRefLookup
パスFileDirRefLookup
更新日時Last_x0020_ModifiedLookup
作成日時Created_x0020_DateLookup
ファイル サイズFile_x0020_SizeLookup
アイテムの種類FSObjTypeLookup
並べ替えの種類SortBehaviorLookup
有効な権限マスクPermMaskComputed
アイテムをチェックアウトしているユーザーの IDCheckedOutUserIdLookup
ローカルにチェックアウト済みIsCheckedoutToLocalLookup
チェックアウト先CheckoutUserUser
名前FileLeafRefFile
固有 IDUniqueIdLookup
クライアント IDSyncClientIdLookup
ProgIdProgIdLookup
ScopeIdScopeIdLookup
ウイルスの状態VirusStatusLookup
チェックアウト先CheckedOutTitleLookup
チェックインのコメント_CheckinCommentLookup
チェックアウト先LinkCheckedOutTitleComputed
ドキュメント (更新者)Modified_x0020_ByText
ドキュメント (作成者)Created_x0020_ByText
ファイルの種類File_x0020_TypeText
HTML ファイルの種類HTML_x0020_File_x0020_TypeText
ソース URL_SourceUrlText
共有ファイルのインデックス_SharedFileIndexText
メニュー テーブルの編集の開始_EditMenuTableStartComputed
メニュー テーブルの編集の開始_EditMenuTableStart2Computed
メニュー テーブルの編集の終了_EditMenuTableEndComputed
名前LinkFilenameNoMenuComputed
名前LinkFilenameComputed
名前LinkFilename2Computed
種類DocIconComputed
サーバーの相対 URLServerUrlComputed
エンコードされた絶対 URLEncodedAbsUrlComputed
名前BaseNameComputed
ファイル サイズFileSizeDisplayComputed
プロパティ バッグMetaInfoLookup
レベル_LevelInteger
現在のバージョン_IsCurrentVersionBoolean
子アイテムの数ItemChildCountLookup
フォルダーの子の数FolderChildCountLookup
選択SelectTitleComputed
選択SelectFilenameComputed
編集EditComputed
owshiddenversionowshiddenversionInteger
UI バージョン_UIVersionInteger
バージョン_UIVersionStringText
インスタンス IDInstanceIDInteger
順序OrderNumber
GUIDGUIDGuid
ワークフローのバージョンWorkflowVersionInteger
ワークフロー インスタンス IDWorkflowInstanceIDGuid
ソースのバージョン (変換済みドキュメント)ParentVersionStringLookup
ソース名 (変換済みドキュメント)ParentLeafNameLookup
ドキュメントの同時実行制御番号DocConcurrencyNumberLookup
タイトルTitleText
テンプレートのリンクTemplateUrlText
HTML ファイルのリンクxd_ProgIDText
署名済みxd_SignatureBoolean
結合CombineComputed
再リンクRepairDocumentComputed

ビューに表示するフィールド(列)を選択するときに 同じ名前のフィールドが複数あって どっちがどっち?っとなることってありますよね。
それは 表示名が同一のフィールドが複数ある場合なのですが SharePoint内部的には 内部名(InternalName)は異なるから 別物として扱われています。

CABの中身を覗いて、複雑なXMLを読むのは大変なので、フィールド情報を表示するコンソールアプリケーションを、ダウンロードできるようにしておきますので、ご活用ください。

フィールド情報表示ツール(フリーソフト)

ダウンロードしたZIPを解凍すると、以下のファイルがあります。
・GetFieldInfo.exe

SharePoint Foundation 2010または SharePoint Server 2010がインストールされているマシン上で 実行すると、フィールド情報が表示されます。
[書式]
GetFieldInfo ListUrl

[起動例]
GetFieldInfo http://Server/sites/Site/Lists/Custom/AllItems.aspx


フィールドの内部名、隠しフィールドが何に影響するか

例えば Webパーツを開発し、特定のリスト/ライブラリのフィールド(列)データを 参照/更新する場合に、フィールドの表示名だとサイト管理者などが変更できてしまうので フィールドの内部名でプログラミングします。
できれば フィールドのGUIDでフィールドを特定する方法がベストなのですが、 そこまで作りこむのは困難かと...

隠しフィールドも フィールドですので 内部名を持っています。 隠しフィールドの内部名と同一名フィールドを作成しようとすると、 フィールド内部名の後に数字(例: 1)が付加された名称になってしまいます。
ですので、一応、隠しフィールドについても 知っておいた方がよろしいかと。



SharePoint Online
Office 365/
SharePoint Online
事始め
Office 365やるってよ |  Office 365市販本(1) |  Office 365市販本(2) |  MSサイトでプランを勉強 |  TechNetでプランを勉強 |  sway, cortana, delve |  E5プラン |  Office Online制限 |  SharePoint 2016 RC |  アーキテクチャ | 
SharePoint Online
Webパーツ
標準 Webパーツ |  スクリプトエディタ |  RSSビューア |  フィルタWebパーツ |  XsltListViewWebPart |  グラフ表示パーツ | 
SharePoint Online
リスト/ライブラリ
標準 リスト/ライブラリ |  アンケート(Survey) |  画像ライブラリ |  ニュースフィード |  日英サイト間でリストデータ移行 |  ライブラリ ドラッグ&ドロップ |  ライブラリ ファイル一覧出力 |  モダン ドキュメントライブラリ |  リスト外観変更 |  Explorer URL |  ディスカッション掲示板 |  注目リンク | 
SharePoint Online
検索機能
検索の対象 |  検索されたくないファイル |  注目サイト | 
SharePoint Online
Notes移行
Notes情報表示 |  Notesデータ移行 | 
SharePoint Online
カスタマイズ
IE11開発者ツール |  Osloとの戦い |  Style動的変更 |  リダイレクトページ |  IEとChrome |  ボタン名の変更 |  フロー Flow |  注目リンク カスタマイズ | 
SharePiont Online
動作仕様
制限値が気になる |  Webページ破損 |  サイトコレクション削除 |  記憶域とサーバーリソース |  プロファイル画像 |  IsDlg効かず |  プレゼンス表示 |  利用状況レポート |  データ容量管理 |  ごみ箱の日数 |  サイトメールボックス |  標準 サイト |  サイドリンクバー |  外部ユーザー共有 |  おすすめ エラー |  直打ちURL |  外観変更エラー |  サイトコレクション機能 |  ユーザープロファイル |  Access app 廃止 | 
Office 365
動作仕様
OneDrive概要 |  OneDrive設定 |  OWAエラー画面 |  新しい Office 365管理センター |  Office 365メッセージ |  OneNote同期/ファイル |  Office 365サイト |  Office 365監査ログ | 

SharePoint概要
SharePointとは? |  アーキテクチャ |  サイトテンプレート | 
リストテンプレート |  Webパーツ |  アクセス権限 |  SharePoint用語集

SharePoint構築Tips
リスト名(URL) |  ライブラリ名(URL) |  フィールド名(内部名) | 
ビュー名(ファイル名) |  リストテンプレート(ワークフロー削除) | 
大きなリストの問題 |  アイテム一覧の列幅 |  機能とWebパーツ | 
フィールドデータ型 |  禁則文字 |  隠しリスト表示 |  管理パス |  サイト内の列 |  サポート期限 |  PDFをブラウザで開く |  URLエンコード・デコード | 
日時の絶対値表示

SharePoint開発Tips
開発の概要 |  開発者ダッシュボード |  MSDN URL |  REST インターフェイス |  ページ パラメータ IsDlg |  ビジュアルアップグレード |  機能(Feature) | 
2010開発者向けの資格 |  2013開発者向けの資格 |  ページ パラメータ contents |  リソースファイル |  リスト/ライブラリGUID |  テーマ | 
トレースログ |  PowerShell文字コード |  SharePoint Framework

search this site.
SharePoint概要
SharePointとは?
アーキテクチャ
サイトテンプレート
リストテンプレート
Webパーツ
アクセス権限
SharePoint用語集


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

大きなリストの問題
アイテム一覧の列幅
機能とWebパーツ
フィールドデータ型
禁則文字
隠しリスト表示
管理パス
サイト内の列
サポート期限
PDFをブラウザで開く
URLエンコード・デコード
日時の絶対値表示
Explorer URL

SharePoint開発Tips
開発の概要
開発者ダッシュボード
MSDN URL
RESTインターフェイス
ページパラメータ IsDlg
ビジュアルアップグレード
機能(Feature)
2010開発者向けの資格
2013開発者向けの資格
ページパラメータ contents
リソースファイル
リスト/ライブラリGUID
テーマ
トレースログ
PowerShell文字コード
SharePoint Framework

SharePoint情報サイト
SharePoint Developer Center
Support Team Blog
松崎 剛 Blog
SharePoint Developer
SharePoint Maniacs
SharePoint Technical Note
ILLUMINATE JAPAN Blog
SharePoint Factory
新卒管理者の奮闘ブログ
SharePoint Maniacs
AvePoint Japan Community
idea.toString();
SharePoint Issue
Office365/SharePoint



   風水吉凶方位 |  奇門遁甲 |  金運神社 |  金運本 |  気場 |  水族館 |  イルカ |  ペンギン |  クラゲ |  仏像 |  論語 | 
   般若心経 |  日本庭園 |  二十四節気 |  菜根譚 |  城郭
   情報共有(SharePoint) |  OneNote活用 |  サーバー監視 |  イベントログ |  IT資産管理 |  技術TIPS