RSS 2.0 Feed
Old
分类调整前的随笔
摘要: 企业搜索是块肉,这是一个还处于启蒙时期的领域!Internet的搜索在过去的10几年里不断的飞速发展和完善,现在相对于企业搜索而言要完善的多。Google最先发布了他的企业搜索服务——Google Business Solutions。然后Microsoft也即将推出他的新版搜索服务,企业搜索也会是其中的重头戏。经常听到很多人抱怨Sharepoint Portal Server 2003中的搜索功能让人莫名其妙,经常会找不到需要的内容,而无关的内容却列出很多。当然,企业搜索的难度要高于Internet,除了Internet本身开放的特性外,企业搜索会具有更多的个性化和权限、身份方面的考虑。企业内,用户需要的当然不是链接,而是能够更加贴近用户需要内容的文档、数据和智能化的指引。 我没有这个领域的经验,但总的来说,一个强大的企业搜索服务决不像www.google.com这样能够用爬虫爬到所有的地方。我想桌面搜索必然会成为一个优秀的企业搜索的先行军。从宏观方面讲,所有的搜索服务都是先爬内容、再编录、再整理,最后才提供用户搜索的,Longhorn中是否能够提供这样一个强大的桌面搜索会决定MS的企业搜索是否能够打败Google,让人担忧的是,Google的桌面搜索PreView也已经有了,不过好像大家的反应更多的是它有可能暴露的安全问题J。 不过话说回来,竞争才是进步,Google专注于搜索,MS专注于操作系统,对于一个最好的企业搜索而言结合才是最好的。 大战又一次拉开了序幕,刚刚看到的消息,Yahoo也参战了! ...[阅读全文]

posted @ | Feedback (17) | Filed Under [ Old ]

摘要:最近Microtoby的思维活跃,萌发了很多想法,记下来分享,欢迎排砖这篇《企业应用Matrix》...[阅读全文]

posted @ | Feedback (7) | Filed Under [ Old ]

摘要:以前我的一篇Post提到了提高Sharepoint页面访问速度的一些要点,其中包括:不破坏Page Ghosting和使用一些基本的XHTML标准。那篇Post的Feedback中有人对XHTML标准的使用提到了一些质疑,当然,我也不是一个XHTML的坚决拥护者,但是尽量使页面遵守一些基本的要点对页面的访问性能必有好处。当然,除了上面两点之外,还有一些CheckList是我们应该注意的,这篇Post我们就来讨论一下提高Sharepoint站点访问速度的一些建议! 首先,还是Page Ghosting的问题。要了解什么是Page Ghosting,Barry Kouda发表在MSD2D的这篇《What you don't know about Front Page 2003 can hurt you》会告诉你。当初次建立好一个WSS/SPS站点之后,用户访问一个具体的页面,此时的页面内容来自两个位置,一个是Page Ghosting,它的位置是在X:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE目录下,它定义了页面的框架、样式、Web部件区域,而页面的内容则存储在数据库中。用户的请求被Sharepoint ISAPI接收到以后服务器端会从数据库中取出具体的内容,和Page Ghosting编译后的Assembly组装整个页面,然后返回HTML给客户端。整个WSS/SPS的页面都是基于Page Ghosting的(除了自己建立的Web部件页),那么页面外观框架的重用性就比较高,多个页面共享一个Page Ghosting的时候会带来不少性能方面的益处。然而Frontpage会破坏这一切(当然,有的时候他也必不可少),它会使使用它编辑过的页面部在使用Page Ghosting,而是将整个页面保存在了数据库中。在用户再次请求访问的时候,执行的工作就大不相同了,整个页面的框架和内容都需要从数据库中载入,而且不会再有重用。因此提高Sharepoint站点访问速度的第一个建议就是尽可能避免破坏Page Ghosting。 第二个方面还是颇具争议的XHTML,下面的图是使用PowerBand查看的一个WSS页面的结构。 整个页面被包围在一个Table中,然后是众多Table的嵌套。浏览器对HTML的解析和显示方式我们很清楚,当一个表格没有全部下载完成之前是不会显示出任何内容的。这样的代价是等待,等待所有的页面元素全部下载完。你只能看着进度条发呆了J。XHTML的所有标准确实苛刻,况且IE浏览器也并非对XHTML绝对有好,我也不再强调完全的HTML,但我喜欢拆分页面的一个Table为多个,就像Sina的结构,多个表格,让Title部分可以优先页面载入完成前显示出来,然后依次向下。用户不必再毫无指望的发呆,总有一些期盼展示给他了。 第三个建议和WebPart的开发有关了。按照需求,我需要开发一些WebPart用于显示公司内其他OA系统的数据在我们的Portal上,有人事的信息,有财务的数据,还有工作流程的审批过程。我们的数据源来自其他系统提供的友好接口或Web Services。还有,我还需要从Internet上面请求一些新闻、天气之类的HTTP回来做成WebPart来使用J。那么问题又出现了!每个WebPart就像一个UserControl,页面按照一个顺序进行Render。取回人事数据花了2秒,Web Servers花了3秒,HTTP请求可能会等待5秒甚至更慢一些,这时候,我要访问的Sharepoint页面就至少需要10秒才能打开,当然这还是比较乐观的。你知道我要说什么了,是的,异步!具备异步机制的WebPart不再会让页面的Render事件累加,而必然小于那个我们不希望的时间。Microsoft.Sharepoint.dll本身支持异步数据获取,仔细读一下《Asynchronous Data Fetching》。其实实现起来蛮简单。一个最简单的例子: public class AsyncWebPart1 : WebPart { ? bool m_AsyncWorkComplete = false; ? string m_Data = string.Empty; ? public override bool GetRequiresData() { ??? return (m_AsyncWorkComplete==true); ? } ??public override void GetData() { ??? RegisterWorkItemCallback(new WaitCallback(AsyncTask), "pass any call-specific data here"); ? } ? public void AsyncTask(object state) { ??? // call across network ??? // assign data retreive to m_Data field ???......[阅读全文]

posted @ | Feedback (138) | Filed Under [ Old ]

摘要:Trond Hindenes教给我们一个很方便的方法把保存在AD中的OU用户信息当作数据库视图使用,你可以很方便的使用OU信息,比如建立企业通讯录、开发和其他系统帐号同步程序等。那么让我们仔细看看实现的途径吧: 首先,你需要在数据库中建立一个链接服务器,打开SQL Server Enterprise Manager Console,展开Security节点,然后是Linked Servers,右键New Linked Server…。在Linked Server文本框中输入一个ADSI,Provider name选择OLE DB Provider for Microsoft Directory Services,OK,关闭对话框。 然后建立一个新数据库也叫ADSI吧。建立一个View,其内容是: SELECT ????sAMAccountname?AS?AccountName, ????GivenName?AS?[First?Name], ????SN?AS?[Last?Name], ????mail?AS?[E-mail?Address], ????TelephoneNumber?AS?[Telephone?Number], ????l?AS?Office, ????PostalAddress?AS?[Postal?Address], ????PostalCode, ????StreetAddress?AS?[Street?Address], ????wWWHomePage?AS?[Web?Page], ????distinguishedname?AS?DN? FROM ????OPENQUERY( ????????ADSI, ????????'SELECT?GivenName,?SN,?company,?department,?TelephoneNumber,?mail,?distinguishedname,?title,?l,?manager,?mobile,?name,?PhysicalDeliveryOfficeName,?PostalAddress,?PostalCode,?sAMAccountname,?StreetAddress,?wWWHomePage?FROM?''LDAP://portalcn.com/?OU=Norway?,DC=portalcn,DC=com''?WHERE?objectCategory?=?''Person''?AND?objectClass?=?''user''?ORDER?BY?Name' ????)?Rowset_1   其中要修改几个位置,LDAP://AD名称/ OU=OU名称, DC=AD名称, DC=com。如果OU是层级结构的,并且希望只取某个子层次中的用户,则可以用OU=上级OU名称, OU=OU名称,以此类推。 一切就是这么简单,后面的工作就不叙述了,基于数据库视图的编程应该很简单了。...[阅读全文]

posted @ | Feedback (17) | Filed Under [ Old ]

摘要:感恩节快乐  今天是西方的感恩节,虽然从未迷信节日,但还是由衷地要感谢一些曾经给过我帮助和机会的人们,默默地把你们的名字念过一遍......Sharepoint TechTalk  今天和Kaneboy一起在CSDN的聊天室主持了《SharePoint企业信息协作应用开发》这个Topic,第一次参与这种形式的交流,不免一些紧张,再加上自己的水平有限,没有回复大家多少问题。  记得今天有人问我如何仅去除页面登陆的Help连接,我回答的方法是删除“< SPSWC:PageHeader id="PageHeaderID" runat="server" PageContext="SitePage" ShowTitle="false"/>”这个Control,然后用HTML自己建立标头。晚上回来,在MSD2D看到了更好的方法:http://www.msd2d.com/Content/Tip_viewitem_03NoAuth.aspx?id=0500f3dc-d3b8-4b91-96ad-81292bd4eca8§ion=SharePoint。Ted Teng的方法很独到!通过修改OWSBROWS.JS文件实现。我作为程序员的不足  我一直把大量的精力放在程序开发上面,最近的一些思考体会了我的另一方面的不足。交流和表现。要成为优秀的程序员,能够把优秀的方面表现出来,否则只能自食其果。...[阅读全文]

posted @ | Feedback (16) | Filed Under [ Old ]

摘要:最近在写Sharepoing的WebPart,被反反复复的添加/删除WebPart搞到头疼,从OliverLu的Blog上看到原来MS有InstallAssemblies这个工具:(。请看OliverLu的Blog。 http://weblogs.asp.net/oliverlu/archive/2004/09/16/229940.aspx 另外,在最近试用WSS SP1和SPS SP1的时候也发现了一些问题:SP1会将中文环境的一些资源变成英文的,继续关注SP1。...[阅读全文]

posted @ | Feedback (13) | Filed Under [ Old ]

摘要:  Office System 2003的更新是强制型的,换一个角度说是当你安装了更新之后是无法通过“添加/删除程序”中的选项来写在它的。Windows Sharepoint Services和Sharepoint Portal Server 2003也不例外。因此,在你准备安装WSS/SPS更新SP1之前最好备份自己现有的Sharepoint文件环境和数据库。更加需要注意的是:WSS SP1现在会通过Windows Update站点自动提供,如果你的企业环境中使用了SUS服务并且设置自动应用更新项目时,下面的内容是你一定要关注的!  首先,一定要备份你的数据库和所有通过修改站点模板而实现的UI调整,包括图片、JS文件和CSS文件。因为在WSS SP1的更新列表中可以看到SP1中包含了更新的Ows.css和Ows.js文件。  其次,更新过程中最好的习惯是在企业用户最少使用的时候或者干脆停止IIS服务后进行操作,你可以使用“IISRESET /STOP”命令行执行这项操作。因为更新的SP1会修改原WSS数据库的存储过程,同时升级和访问有可能造成数据的错误。  然后,如果你的站点已经自动应用了WSS SP1(如果不能确定,则有两个途径进行检查:1、%Temp%Ohotfix目录下存在Ohotfix(Number).log文件;2、系统日志中有“The update was applied successfully”的信息。),此时如果站点不能访问而显示500错误,请注意:尽快在命令行执行“cd /d %commonprogramfiles%\Microsoft Shared\Web Server Extensions\60\Bin stsadm -o upgrade -forceupgrade”。更多的信息察看MS的KB:http://support.microsoft.com/?kbid=875358。...[阅读全文]

posted @ | Feedback (10) | Filed Under [ Old ]

摘要:MSN ToolBar Suite Bata已经提供下载使用了。我期待的桌面搜索!!! http://beta.toolbar.msn.com/ 追溯到今年7月份,微软收购了Lookout公司,这个公司拥有可以搜索Outlook?2000及其以上版本的邮件技术,而且速度快、准确率高。微软获得此项技术后,其MSN开发组就一直致力于桌面和网络搜索技术。首次安装MSN?Toolbar?Suite(MSN工具套件)时,安装向导会配置Outlook、IE、资源管理器和MSN?Deskbar的MSN?Toolbar。新工具栏直接整合于OS(Operation?System),根据要搜索的位置改变。例如,你可以在整个搜索过程中选择要搜索PC还是网络上的内容。一旦安装完成,扑入眼帘的就是MSN?Deskbar,可以向WMP(Windows?Media?Player)那样驻留于人物栏。单击Deskbar就会出现简洁的输入关键窗口,立即开始搜索。如果桌面搜索未来得及索引所有的文件,它会提醒你,可以改变搜索内容及位置。也许Toolbar?Suite安装包最重要的是其可以单独安装MSN?Desktop?Search。搜索的结果激动人心,快速!甚至可以搜索到特定文件的作者。同样的技术也被应用到Outlook搜索中,MSN?Toolbar被直接整合到了Outlook中。直接单击邮件即可在几秒钟之内搜索完毕,结果也能给人留下深刻的印象,不必再漫长等待。注:中文操作系统安装时会有警告,但仍然可以继续安装。...[阅读全文]

posted @ | Feedback (12) | Filed Under [ Old ]

摘要:一个打包好的Windows Sharepoint Services 2.0和Service Pack 1的集成安装包已经可以在MS Download中下载了,免去了还没有安装WSS人群的安装麻烦。这个安装包的发布时间是12/7/2004,虽然刚刚发布,但从他的描述中可以看出其中并没有增发更新的内容,描述中提示我们,如果你已经安装了WSS,那么应该使用9/2/2004提供下载单独的SP1。 WSS应该已经成为Windows平台上门户应用的主流了,很奇怪的是MS至今还将下载的软件包命名为STSV2,当然,感到奇怪的还有Point2Share。 更早一些时候,12/3/2004,MS提供了SharePointPSSearch SQL Syntax(Preview),这个预览版的文档描述了SharePoint Portal Server 2003全文检索的SQL语法。...[阅读全文]

posted @ | Feedback (8) | Filed Under [ Old ]

摘要:姑且把这样的一件事情叫做事件!  SmartPart是一个非常好的Sharepoint用户控件包装器(kaneboy开发的包装控件也非常好用),我们知道,在WSS2.0/SPS2003平台上只有两种方法创建你自己的WebPart:1、使用MS官方提供的方法,也就是Output.Render(…);2、基于ASP.NET开发用户控件,然后使用SmartPart这样的包装器部署用户控件。  后者对开发人员而言是更轻松的事情。最早提出这种思路的Patrick Tisseghem一直维持着SmartPart和Jan Tiglens等一起将SmartPart一直推向了最近推出的1.0。Patrick Tisseghem最近发了些牢骚,觉得MS一直对此保持沉默,社区的支持和关注程度令他失望。  当然,结果你能想到,误会解除了。Point2Share在他的Blog上面对这个事情作了翔实的说明。  不想评论这个事件,结果十分圆满。我喜欢这样一个开明的MS。...[阅读全文]

posted @ | Feedback (10) | Filed Under [ Old ]

Full Old Archive