これが他の場所で尋ねられた場合は申し訳ありません。調べましたが、明確な答えが見つかりません。
ドキュメントライブラリにフォルダーを作成する必要があるSharePoint2010用のアプリを作成しています。アプリが処理する「ジョブ」ごとに1つ、ジョブ出力を配置する場所として。しかし、フォルダ名の衝突で問題が発生しています。各「ジョブ」は、別のSharePointリストでxmlファイルとしてエンコードされます。たとえば、「docxからpdf.xmlへ」というxmlファイルが含まれている場合があります。これまでのところ、ジョブファイル名から拡張子を除いたものを使用して、出力リストにサブフォルダーを作成するアプリがあります。したがって、この場合は「docxからpdfへ」というフォルダです。ただし、しばらくすると、アプリでまったく同じジョブを再処理する必要がある場合があります。最初のサブフォルダーと同じリストに別のサブフォルダーを含め、ブラウザーでユーザーにまったく同じ名前を表示できるようにしたい...
これをSharePointリストで実行できますか?通常のSPListItemには、Name、DisplayName、およびTitleプロパティがあるようです。明らかに、SharePointがそのアイテムを一意に識別できるように、これらの1つは一意である必要があります。しかし、それはどれですか?また、同じことがリスト内のSPFolderアイテムにも当てはまりますか?ここでは、フォルダーの表示名を複製したり、内部名を一意にしたりしたいと思います。これを行う方法について何かアイデアはありますか?これまでのところ、私のくだらない方法は次のようになります。
private SPFolder CreateSubFolder(SPList list, string visibleFolderName)
{
// create a new folder under the root folder
SPListItem newFolder = list.AddItem("", SPFileSystemObjectType.Folder, visibleFolderName);
newFolder.Update();
return newFolder.Folder;
}
これは明らかに機能しません。同じ表示名を持つように変更する方法についてのアイデアはありますが、内部名は異なります(おそらく、Guidを使用しています...)?:Dよろしくお願いします。