代码之家  ›  专栏  ›  技术社区  ›  John Liu

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

  •  5
  • John Liu  · 技术社区  · 16 年前

    一个简单的场景:

    我想删除一个已经过时的页面布局。 一位前同事使用此页面布局创建了一个新页面,但他没有将其签入。 我不能删除页面布局,因为他的文件正在引用它。 我无法“查看”该文件,因为它尚未签入,无法删除。

    我尝试了spfolder.items、splist.getitembyid()和其他一些对象模型方法。但SharePoint不会向我显示该项目。 我甚至讨论了splist.getitem(new spquery()includeAllUserPermissions=true;)

    有人知道怎么处理这个东西吗?-)

    5 回复  |  直到 16 年前
        1
  •  5
  •   Mick    16 年前

    如果您是网站集管理员,也可以强制签入其他人的签出文件。诀窍是你必须知道它在哪个图书馆。如果您知道,可以导航到该库,然后执行以下操作:

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

    abs的回答引导我们给出了提示——嘿,manageCheckedOutfiles页面如何看到其他用户尚未签入的文件?

    1. 转到~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;

    所以回到我们的代码里

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

    谢谢大家:-)

        3
  •  0
  •   Ric Tokyo    16 年前

    尝试 SharePoint Sushi 来自CODULTEX。

    祝你好运。

        4
  •  0
  •   Alex Angas Colin    16 年前

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

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

    这个 应该 让您看到连接到该页面布局的每个页面。

        5
  •  0
  •   elorg    16 年前

    快速简单的非SharePoint解决方案: 如果是 前任 -同事有没有可能要求临时使用他的帐户和一个新密码,以便您可以登录到门户,并签回或放弃签入?

    推荐文章