代码之家  ›  专栏  ›  技术社区  ›  Daniel Pollard

修改SharePoint系统文件

  •  3
  • Daniel Pollard  · 技术社区  · 16 年前

    开发人员对12个配置单元中文件的更改有何总体感觉? 例如,如果要求您删除符号是另一个用户菜单项,则需要修改文件系统上的相关用户控件。现在,如果您只是通过记事本或复制来修改它,然后如果您将一个新服务器带到服务器场中,那么您需要记住在新服务器上执行相同的操作。 很明显,您可以将更改后的文件作为解决方案部署,并自动完成这项工作,但我想知道人们是否会犹豫是否对默认安装的文件进行更改?

    7 回复  |  直到 16 年前
        1
  •  2
  •   Lars Mæhlum    16 年前

    我已经做了一些SharePoint开发工作,我必须告诉你,如果你想移动应用程序,那么摆弄12个蜂巢是一个痛苦的世界。

    我宁愿修改一些javascript来隐藏它,至少可以绑定到主页面,这样更便于移植。
    记住,你永远不知道下一个服务包什么时候出现,并且核化你的更改:)

        2
  •  1
  •   Jason Z    16 年前

    我同意拉尔斯的观点。有时你无法避免,这取决于你的需要。但总的来说,最好的政策是尽可能避免修改。

    我知道当前用户菜单中的其他一些菜单项(更改登录名、我的设置等)可以通过从用户中删除权限来更改。在“用户和组”下有一个权限选项。我不记得确切的设置(在工作中开发,而不是在家中开发),但是在30+权限的每一个旁边都有合理的描述。删除它,然后开始隐藏菜单选项。不需要修改12个蜂巢。

        3
  •  1
  •   Jan Tielens    16 年前

    有一个非常简单的规则:如果您想保留微软的官方支持,不要更改SharePoint安装的12配置单元中的任何文件。

    我从来没有遇到过这样一种情况,唯一的解决办法就是更改这样一个文件。例如,如果要更改SharePoint的开箱即用用户控件,可以通过使用DelegateControl并在功能中重写它来实现。

    更多信息:

    我知道快速更改文件很有诱惑力,我不得不承认有时我只是在dev设备上进行更改,但不要在生产服务器上进行更改!

        4
  •  0
  •   Daniel McPherson    16 年前

    不确定投球是否有多大的用处,因为其他人几乎都有,但我也会说,不要这样做。尽管它很诱人,但不可能完全了解你所做的小小改变的影响。

    从支持的角度来看,您将使Microsoft支持变得困难(补丁/修补程序)。 从维护的角度来看,您还可以承受长期成本。

    转到javascript路径。

        5
  •  0
  •   Card Visitor    16 年前

    解决这个问题的方法是使用一个SharePoint解决方案(WSP)文件。

    若要更改用户控件,请使用新功能创建新的SharePoint功能。

    在解决方案中包含此功能。

    使用stsadm命令行或通过中心站点管理部署解决方案。

    然后,它将自动部署到服务器场中的所有服务器,并避免覆盖任何默认的SharePoint文件。

    有关详细信息,请访问SharePoint Nuts and Bolts博客 http://www.sharepointnutsandbolts.com/ 介绍了WSP和SharePoint功能。

        6
  •  0
  •   Anonymous    16 年前

    我已经做过很多次了,我将从经验中谈一谈:在任何情况下都不要触摸12个蜂窝中的onet.xml文件。您在其中所犯的任何错误,以及为了使caml更加复杂,文件很大程度上对空白敏感,都将对SharePoint的每个部分产生影响。

    您还应该考虑到,除了安装的巨大风险之外,您很可能正在构建对您的更改的依赖关系,这些更改随后会在将来的补丁或服务包中被重写。

        7
  •  0
  •   Bryan Friedman    16 年前

    大多数情况下,您可以在不修改文件的情况下使用特性和解决方案包来完成您想要的所有工作。但是,在少数情况下(相当烦人),您唯一的选择是修改系统上的文件。到目前为止,我已经将它用于两个特定的案例。一个是将PDF iFilter添加到docicon.xml文件,另一个是将主题添加到themes.xml文件。在这两种情况下,这似乎是实现目标的唯一途径。不过,我们还是使用了一个解决方案包将这些文件写到服务器场中的所有服务器上。