SharePoint / MOSS - 从列表中删除其他人未签入的项目

时间:2009-01-29 09:29:27

标签: sharepoint moss

一个简单的场景:

我想从我们的MOSS发布网站删除过时的页面布局。 一位前同事使用此页面布局创建了一个新页面,但他尚未对其进行检查。 我无法删除pagelayout,因为他的文件正在引用它。 我无法“看到”该文件,因为它尚未签入,无法将其删除。

我尝试过SPFolder.Items,SPList.GetItemById(),其他一些对象模型方法。但SharePoint根本不会向我显示该项目。 我甚至围绕着SPList.GetItem(新的SPQuery(){IncludeAllUserPermissions = true;})

任何人都知道如何摆脱这个项目? : - )

5 个答案:

答案 0 :(得分:8)

Abs的答案引导我们给了我们提示 - 嘿,ManageCheckedOutFiles页面如何查看其他用户尚未登记的文件?

  1. 转到~s layouts / ManageCheckedOutFiles.aspx
  2. 继承自Microsoft.SharePoint.ApplicationPages.ManageCheckedOutFilesPage
  3. 反射器12 \ CONFIG \ BIN \ Microsoft.SharePoint.ApplicationPages.dll
  4. 在protected void PrepareContent()中我们读了关键行:
  5. IList checkedOutFiles = this.CurrentList.CheckedOutFiles;
  6. 所以回到我们的代码

    SPDocumentLibrary doclib = PublishingWeb.PagesList as SPDocumentLibrary;
    foreach(var checkedoutfile in doclib.CheckedOutFiles)
    {
        checkedoutfile.TakeOverCheckOut();
        var file = doclib.GetItemById(checkedoutfile.ListItemId);
        file.CheckIn();
    }
    

    谢谢大家: - )

答案 1 :(得分:5)

如果您是网站集管理员,还可以强制签入其他人的签出文件。诀窍是你必须知道它所在的库。如果你知道,你可以导航到那个库,然后做以下事情:

  1. 点击设置 - >文档库设置(或列表设置,我想)
  2. 点击权限和管理栏中的管理签出文件
  3. 您现在应该看到已签出文件的列表,您可以选择,然后单击工具栏中的选择所有权
  4. 完成后,您可以自己检查文件。

答案 2 :(得分:0)

从codeplex尝试SharePoint Sushi

祝你好运。

答案 3 :(得分:0)

首先,您应该拥有网站集的管理员权限。然后:

  1. 点击网站操作,管理内容和结构。
  2. 浏览到母版页库中要删除的页面布局。
  3. 在要删除的页面布局旁边打勾。
  4. 单击“显示相关资源”。
  5. 可让您查看连接到该页面布局的每个页面。

答案 4 :(得分:0)

快速&amp;简单的非SharePoint解决方案: 如果是 ex -coworker,是否有可能要求使用新密码临时使用他的帐户,以便您可以登录门户网站并重新签入或放弃办理登机手续?< / p>