如何在SharePoint列表,文档中添加/创建犯规或错误的语言关键字过滤器?

时间:2009-08-06 13:21:38

标签: sharepoint-2007

我正在构建一个关于SharePoint的内部社交网站。由于它是一个网络内联网,我希望它是开放的和非主持的。但是,我也不希望人们在门户中使用辱骂/恶意或不好的语言。

我尝试使用谷歌搜索并没有真正成功找到解决方案。

Microsoft Forefront将为我做到这一点,但它只适用于Documents。但我也希望在列表上执行此操作,因为SharePoint上的讨论论坛采用列表格式。

2 个答案:

答案 0 :(得分:1)

您可能需要覆盖显示文本的任何控件以避免此问题。由于这将是很多工作,也许HTTP Module可能是更好的解决方案。

我参与了一个使用正则表达式使SharePoint的输出符合XHTML的模块。同样,您可以使用正则表达式在呈现页面时去除令人反感的单词。它不会阻止人们输入它们,但由于没有人能够看到它们,这无关紧要。您可以使用基本的SharePoint自定义列表来存储您不想显示的令人反感的单词。

答案 1 :(得分:1)

您可以使用Visual Studio Sharepoint Site Solution Genarator为您的站点创建站点解决方案/列表定义。创建自定义列表并根据需要为其命名。我将在下面的代码示例中将其命名为“AbusiveWordList”。

创建站点解决方案/列表定义后,在项目添加功能中添加以下代码,该功能将遍历列表中的所有列,并将从创建的名为“AbusiveWordList”的自定义列表中进行检查。此列表包含滥用的单词。

chkbody函数将引用名为“AbusiveWordList”的自定义列表中的列表项,并检查bodytext是否包含来自AbusiveWordList的项。如果是,则会抛出错误。

  

* base.ItemAdding(属性);

     

foreach(DictionaryEntry   dictionaryEntry in   properties.AfterProperties){string   bodytext =“”;

     

bodytext = bodytext +   dictionaryEntry.Value;

     

finalwordcount = finalwordcount +   chkbody(bodytext,properties); }

     

if(finalwordcount> 0){                            properties.ErrorMessage =“滥用/   犯规/非法信息   found.Kindly参考条款和   条件“;

     

properties.Cancel = true;

     

}