SharePoint开发中发现的SharePoint本身的一些问题
在进行SharePoint开发的过程中,我发现了SharePoint本身存在的一些问题。废话不多说直接进入正题。
问题如下:
1.我开发的一个功能模块是将一个Silverlight工程集成到SharePoint网站中。刚开始Silverlight工程是可以进行调试的,但是过了几天重新调试这个Silverlight工程的时候,却出现了“当前不会命中断点,还没有为该文档加载任何符号”的错误提示信息。于是我重新检查了整个解决方案里SharePoint工程和Silverlight工程的相关属性的配置,比如在SharePoint工程的属性设置的SharePoint栏下,勾选Enabling Sivlerlight debugging这一项,如右图:;还有设置这个方案的Signal startup project属性为方案中的Sharepoint工程。重新检查以后,这些配置都没有问题。搞得我百思不得其解,后来仔细想了想可能是服务器的IE浏览器(也就是调试时用的浏览器)由IE7升级为IE9的缘故。因此,我抱着试试的心态把IE9的更新卸载了使IE浏览器的版本变成了IE7,然后重新调试整个解决方案。结果让我傻眼了,居然又可以调试了。哎,微软居然没有让自己的产品之间实现友好的兼容,或者给出一些有启发性的提示信息也行啊。
2.在SharePoint网站中的企业维基部分,有一个可重用内容列表。我们可以在该列表中创建可重用内容列表项,而后在编辑wiki页内容的时候就可以将这些我们自己创建的可重用内容添加到wiki页中。在创建的可重用内容中还可以添加一些页面内部的超链接(也就是锚)。但是经过测试我发现,在可重用内容中添加页内超链接时,当我使用的浏览器为IE7时,这些我创建的页面内部链接跳转会发生错误,而当我使用IE8浏览器创建这些页内超链接,并点击可重用内容中的页内超链接时超链接的跳转完全正确。因此,在创建可重用内容时(尤其是那些内部有页面内部超链接的可重用内容),应该选择使用IE8浏览器。
3.重装OS Windows Server 2008、sql server2008和SharePointserver 2010以后,将之前备份的内容数据库还原到了sql server中,然后用备份的内容数据库替换了sharepoint-80应用程序的内容数据库。进行这些操作以后,之前的网站集的相关东西都恢复了,但是网站集中所有人员和组关于文档的相关权限却丢失了。我通过一些代码重新遍历每个文档库的文档并给相关用户或组重新赋予对该文档的特定操作权限的办法来修复用户关于文档的权限。这个问题能否有比较好的方法进行解决,希望同行们能给一些建议。
4.在IE8中新建一个文档时,相应的itemadding事件不起作用,新建时会通过客户端office应用程序新建一个word文档;但是添加文档或上载文档时,相应的itemadding事件起作用了。而在chrome中新建、添加、上载文档时,itemadding事件都能起作用,而且在chrome中新建一个文档时,浏览器直接可以跳转到CreateNewDocument.aspx,EditForm.aspx,WordEdit.aspx等友好的新建和编辑页面。这里其实是涉及了两个问题。第一个问题是在不同浏览器中,争对文档库中的文档的itemadding事件处理器的触发效果不一样。不知道为何这样!第二个问题是通过不同的浏览器登陆网站在文档库中创建文档时,一个是调用电脑安装的office软件来创建word文档,而另一个是可以直接跳转到相应的创建文档的web页面,如CreateNewDocument.aspx,EditForm.aspx,WordEdit.aspx。其实按照正常的需求,应该是第二种方式实现文档库中文档的创建。不知道到为什么出现了第二种问题,难道是整个SharePoint网站的相关配置不正确?希望同行们能给一些建议。
5.当用户1通过chrome浏览器在该库中新建一个文档document1时,除了用户1以外的其他用户进入该文档库时无法看到用户1新建的文档document1,但可以看到用户1上传到该库中的文档。
6.当电脑中当前已经打开了一些word文档时,在ie中以用户1登录系统新建文档,此时却没有像往常一样弹出一个用户登陆的窗口,而新建的文档的“创建者”属性和“修改者”属性却是admin。只有将当前电脑中的所有word文档关闭以后,用户1再在文档库中创建文档时才会弹出用户登陆窗口,用户1登陆以后进行文档的创建工作,那么此时创建的文档的“创建者”和“修改者”属性才是用户1。