何小碩's profileGet More... ExperiencePhotosBlogListsMore Tools Help

Blog


    November 12

    新一代的企業IT架構 - SOA & BPM平台實務座談

    SOA 與 BPM 的話題近年已被炒的沸沸揚揚,各位也已聽過很多談 SOA 與 BPM 方法與架構的研討會,但這其中卻鮮有企業導入的實例與經驗分享。而在台灣 BPM 的概念更是一再的被誤導或片斷定義。

          本次活動將不同於以往各位所參加的研討會,而將完全以企業應用的實際情境為出發。本座談特地請到遠東金士頓科技( Kingston ) CIO / Albert Hu 從美國回台擔任座談會貴賓,分享 Kingston 連續四年被 iSuppli 評選為『世界第一的記憶體模組獨立製造商』背後的 IT 決策 - 如何利用 SOA 與 BPM 的平台達到企業內系統的整合與流程變動的敏捷度。

          美商 Ascentn 在 2007 年榮獲全球最大的研究單位 Gartner 評為微軟平台上唯一的 BPMs Cool Vendor ,並被 Kingston 採用為跨國系統的 BPM 核心平台。 Ascentn 的全球總架構工程師 / Sean Zhang 將來台灣,為各位分享海外跨國企業在 SOA 的實務應用與建置經驗。 座談會中您將會知道世界級的企業領導者例如 DELL, LOCKHEED MARTIN, CDC (Center for Disease Control), SHELL, ELBIT, NTT, TOYOTA, etc., 如何以新一代的 SOA-aligned modern BPMS 來整合資源及建制敏捷的營運流程平台以應對新一代競爭者的挑戰 。

          座談會將以精英對話的方式,由知名的微軟技術顧問 / 胡百敬擔任主持人。胡百敬是國內眾多知名大型企業的長期顧問,著作等身。是資料庫、平台開發及大型企業架構方面的專家。他會針對 SOA 與 BPM 在企業內執行的成效、成本與開發時程等企業最關心的導入實務議題來提問,並與聽眾互動。

    主 題:新一代的企業IT架構 - SOA & BPM平台實務座談
    時 間:2007/11/16(五)下午1:30~4:30
    地 點:六福皇宮/木星廳(2F)
    主持人:Microsoft 技術顧問 / 胡百敬
    主講人:Ascentn CTO / Sean Zhang
    來 賓:Kingston CIO / Albert Hu
    對 象:台灣企業CIO與資訊相關主管
    名 額:50名(場地限制、額滿為止)
    主辦單位:Ascentn Taiwan
    協辦單位:台灣微軟/精誠資訊
    活動方式:以精英對話的小型座談,從務實的角度討論現代企業所需要的IT架構(SOA)以及敏捷度(BPM)。

    報名方式:請填寫以下報名資訊傳真至02-27591336 或者 線上報名

    聯絡人:林靖崴
    電話:02-5581-6697#202
    傳真:02-2759-1336
    E-mail:john.lin@ascentn.com
    網址: http://www.ascentn.com.tw

    November 10

    Implementing single sign-on (SSO) with MOSS 2007

    needed to build up MOSS 2007 portal that would integrate some of the existing Line Of Business (LOB) applications. We also needed to use SSO, because some of the applications weren't AD-enabled. To use SSO, you can create your own custom web part and connect to the SSO services through there.

    Enabling SSO

    To enable SSO, you need to start the Microsoft Single Sign-On Service in the Services-tool of Windows. You can also do this on the command-line with "net start ssosrv". Keep in mind the service needs to run under an account that has access to the SQL hosting your SSO database. For demonstrational purposes you can use administrator, otherwise create a dedicated account.

    Next, go to MOSS Central Admin at http://localhost:port, where port is whatever you specified when installing MOSS. Select Operations-tab, and navigate to Manage settings for single sign-on. If you get this error:

    Failed to connect to Microsoft Single Sign-on Service. To configure, please ensure the service is running.

    It means your SSO service is not running. Go and doublecheck the settings on that. Then, select Manage server settings, and fill out the fields. Default values are normally ok for those fields that have been prepopulated. Click OK - the database and settings for your SSO service should now be created.

    Configuring applications for SSO

    Now that you have SSO running, you need to configure which applications are going to take advantage of it. Go to Manage settings for enterprise application definitions (http://localhost:port/_admin/sso/ManageApps.aspx) and click New Item. Enter a display name, application name and contact email address. The important thing here is to enter an application name that is easy to remember and describes the integrated application, such as "Asp3Tools" or "FinanceApp". Fill out rest of the fields as you see fit.

    If you're wondering what the five fields under logon account information are for, you can use those to send a maximum of 5 custom fields to your LOB application upon user authentication. Normally you'd use 2, one for username and one for password. MOSS uses these field names and settings to render the authentication form dynamically for you, when logging into the the LOB application for the first time (via SSO).

    Creating skeleton web part for SSO

    Now that you've successfully configured SSO for MOSS, it's time to create your web part. I'll provide the basic RenderContents() -method for you that walks through the basic step when using SSO:

            protected override void RenderContents(HtmlTextWriter output)
            {
                string[] rgGetCredentialData = null;

                    try
                    {

                        Credentials.GetCredentials(1, "AppName", ref rgGetCredentialData);

                        ISsoProvider provider = SsoProviderFactory.GetSsoProvider();
                        SsoCredentials creds = provider.GetCredentials("AppName");
                        creds.Evidence = new System.Security.SecureString[2];

                        try
                        {
                       // your implementation of accessing the LOB app
                        }
                        catch (Exception e)
                        {
                        // catch exceptions

                        }

                    }

                    catch (SingleSignonException ssoex)
                    {
                        if (SSOReturnCodes.SSO_E_CREDS_NOT_FOUND == ssoex.LastErrorCode)
                        {
                            string strSSOLogonFormUrl = SingleSignonLocator.GetCredentialEntryUrl("AppName");
                            output.Write("<a href=" + strSSOLogonFormUrl + ">Click here to save your credentials for the Enterprise Application.</a>");
                        }

                    }

    You can do a HttpWebRequest to your application, parse the HttpWebResponse and render out your application. The important thing is to use the correct application name (AppName) and catch the SSO_E_CREDS_NOT_FOUND exception for first time users. MOSS will then create the initial authentication page for you, hiding possible other authentication pages you have in your LOB system.

    reference comes from http://blogs.msdn.com/jro/

    How to create your own custom wiki site definition

    So, a good start with a posting today about one of the chalanges we've been dealing with the last couple of weeks. For our customer we want to create a customized wiki definition, with some additional fields and layout. Normally you would think to copy the wiki site definition and change the onet.xml and the list dinition for the additional fields. So this is what we did, and it turns out to work ok. But changing the layout of the wiki page itself is something different...

    If you dive into the Wiki content type (I used sharepoint inspector to easily see the properties), you will see that when you create a new page, the 'CreateWebPage.aspx' page is called on the layouts directory.

    image

    This page makes sure the wiki page is created and a template file is connected to it called 'wkpstd.aspx' in the DocumentTemplates directory (C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\DocumentTemplates). This page takes are of the layout of the wiki page.

    So, changing this page will change the layouts of all wiki pages, which is not supported and probably not what you want to do. Therefore, you have to change the onet.xml of the wiki site difinition to mention that the template that will be used is another one. In out case a copy stored on the same directory (i.e. wkpstd_custom.aspx). In the onet.xml we've changed the wkpstd.aspx to our custom page.

    <Module Name="DefaultWikiPages" List="1119" Url="$Resources:core,WikiWebLibPages_Folder;" Path="" SetupPath="DocumentTemplates">
         <File Url="wkpstd_custom.aspx" Name="$Resources:core,nav_Home;.aspx" Type="GhostableInLibrary">
           <Property Name="WikiField" Value="$Resources:core,WikiHomeContent;" />
           <NavBarPage Name="$Resources:core,nav_Home;" ID="1002" Position="Start" />
           <NavBarPage Name="$Resources:core,nav_Home;" ID="1010" Position="Start" />
         </File>
         <File Url="wkpstd_custom.aspx" Name="$Resources:core,nav_HowToUseThisWikiSite;.aspx" Type="GhostableInLibrary">
           <Property Name="WikiField" Value="$Resources:core,WikiHowToUseContent_Part1;$Resources:core,WikiHowToUseContent_Part2;$Resources:core,
    WikiHowToUseContent_Part3;$Resources:core,WikiHowToUseContent_Part4;$Resources:core,WikiHowToUseContent_Part5;$Resources:core,
    WikiHowToUseContent_Part6;$Resources:core,WikiHowToUseContent_Part7;$Resources:core,WikiHowToUseContent_Part8;" />
           <NavBarPage Name="$Resources:core,nav_HowToUseThisWikiSite;" ID="1010" />
         </File>
    </Module>

    But now the pages that are created by this site definition will have the new layout, all new created wiki pages stange enough not... So what happens? Somehow, in the CreateWebPage.aspx file, the wkpstd.aspx is 'hardcoded' used and there are two options to avoid that:

    1. Create a new CreateWebPage.aspx file with your own custom code. This page will create new pages based on the new custom aspx file as a template
    2. Create an eventhandler that will activate with the site definition that programatically sets the template page for each new created wiki page.

    Personally I would prefer the second option, but that's up to you. Anyway learning something new everyday! Also thanks to my colleague Wouter for also researching this. :)

    refernce comes from http://blogs.tamtam.nl/mart/

    如何利用程式新增一個 Task 清單到我的 MOSS 2007 與 WSS 網站

    public string CreateTask(string SitePath, string TaskName, string AssgnTo, DateTime DueDate)

    {

    string ReturnVal = "";

    try

    {

    SPSite WebApp = new SPSite(SitePath);

    SPWeb Site = WebApp.OpenWeb();

    SPList TaskList = Site.Lists["Tasks"];

    // add a new item…

    SPListItem NewTask = TaskList.Lists["Tasks"].Items.Add();

    NewTask["Priority"] = "(2) Normal";

    NewTask["Title"] = TaskName;

    NewTask["DueDate"] = DueDate;

    NewTask["Assigned To"] = Site.Users.GetByEmail(AssgnTo);

    NewTask.Update();

    }

    catch (Exception ex){

    ReturnVal += "Task not added, reason: " + ex.Message;

    }

    return ReturnVal;

    }

    如何抓取已經瀏覽過 MOSS 網站之使用者

    Contact contact = Contact.FromName("domain\\name", SPContext.Current.Web);
    
    if (contact.PrincipalID < 0){
        SPContext.Current.Web.AllowUnsafeUpdates = true;
        SPPrincipal p = contact.GetPrincipal(SPContext.Current.Web);
    }
    
    SPUser newUser = SPContext.Current.Web.SiteUsers[contact.LoginName];
    November 08

    知識管理平台(Knowldge Management System) Base On Microsoft Office SharePoint Server 2007

    Oops 真是辛苦, 終於我的 KM 平台 V2.0 已經於上星期五完成了大部分約 95% 功能, 如果網友有看到這樣的訊息想要測試的可以 Mail 給我(weishoun@rstn.com) 或歡迎加入我 MSN(hilfiger1014@hotmail.com) 大家互相討論ㄅㄟ

    October 21

    Capture "Save and Close" and Insert Custom Actions

    Description:
    Background: The Event list in SPS is very lovely cos it has various views such as calendar views per day, per week or per month and also it has flexible security mechanism. So I try to use the Event list as a meeting room booking list. However, the list allows two items entry with time conflicts, say, if one event starts at 8:00am and ends at 14:00PM on 2004-10-06, the user still can add an event starting at 9:00am and ending at 10:00am. As a meeting room, such a case should not be allowed.
    When clicking the "Save and Close" button on newform.aspx page, it will run the Add New Item action which is implemented by functions in ows.js. So before going to the ows.js's functions, we need insert some validation on time conflicts.
    In fact, "Save and Close" action is hard-coded in Schema.xml.So we need to add our customs CAML codes in it.

    Solution:
    Assuming we operate an event list on a WSS site and only check the time conflicts of none-recurrence events.

    STEP 1. Locate the Shcema.xml

    C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033\STS\LISTS\Events\SCHEMA.XML
    Pls make a copy of it before doing below changes.

    STEP 2. Locate the element < Form Type="NewForm" Url="NewForm.aspx" WebPartZoneID="Main"> and then the child element of < ListFormBody>

    Add a span element where to put the hint description for debuging as follows.

    STEP3. Locate the child element of < ListFormOpening> under < Form Type="NewForm" ..> and then find below:

    ... i f(!g_MSclicked)
    {
    i f(frm.ValidateAndSubmit(true))
    g_MSclicked = true;
    }
    else
    ...
    Around these code lines, add codes as follows. Below codes is to try to take actions before submit. The checkConflict fucntion/action will be decirbed in a jscript file called "secco.js" in STEP 4;

    STEP 4. Create a JScript file to store the custom actions

    Go to C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\LAYOUTS\1033 where stores the ows.js and owsbrowse.js every page uses.
    Create a jscript file called "secco.js". Add the codes in bottom attached code box.
    The principle of the codes has been described in my last tip: Check Time Conflicts of Event List Items ** CODE INTENSIVE **, http://www.msd2d.com/Content/Tip_viewitem_03.aspx?section=SharePoint&category=Development&id=92d536bd-039c-4bcb-a421-0425ce4829a9

    STEP 5.Add a ref line on NewForm.aspx

    Before < /head>, add < script src="/_layouts/1033/secco.js">< /script> which could link the NewForm page to secco.js.
    So the result of the change is when trying add an event on newform.aspx page, if it has time conflicts with other existing events, the adding will be rejected.

    Source Code:

    // _lcid="1033" _version="11.0.5510"// _localBinding

    // Version: "11.0.5510"

    // Copyright (c) SECCO.  All rights reserved.

    //secco.js codes below

    <!--added by ted below on 30/9/2004--> function checkConflicts(httpRootStr, theForm){

        //var theForm = document.forms[0];

        var err="right";

        alert(getEleValue(theForm,"ID")+"0");

        strPost=httpRootStr+"/_vti_bin/owssvr.dll?Cmd=Display&"+

        "List="+getEleValue(theForm,"List")+

        "&XMLDATA=true&Query=LinkTitle EventDate EndDate ID fRecurrence EventType Duration XMLTZone RecurrenceData";

        spanHint.innerHTML = strPost;     var HTTPobj;    HTTPobj = new ActiveXObject("Msxml2.XMLHTTP.6.0");

        HTTPobj.open("POST", strPost, false);

        HTTPobj.send();    var date1=getDateString(theForm, "EventDate");    var date2=getDateString(theForm, "EndDate");

        var filterStr = "//*[(";    filterStr+="(ms:string-compare(@ows_EndDate,\""+date1+"\")>=0)";

        filterStr+=" and (ms:string-compare(@ows_EventDate,\""+date2+"\")<0 )";

        filterStr+=")]";     alert(HTTPobj.responseXml.xml);    HTTPobj.responseXml.setProperty("SelectionNamespaces", "xmlns:ms='urn:schemas-microsoft-com:xslt'")

        var ndList=HTTPobj.responseXml.selectNodes(filterStr);

        var i=0;

        for (i=0; i<ndList.length;i++)

        {

            alert(ndList[i].xml);//.attributes["ows_EventDate"]);

            err+=ndList[i].getAttribute("ows_EventDate").toString()+"\n";

            err+=ndList[i].xml;

            if (ndList[i].getAttribute("ows_ID").toString()!=getEleValue(theForm,"ID"))

            {

                err="wrong"+err;

                alert(err);

            }

        } 

         alert(ndList.length);      if (ndList.length>0 && getEleValue(theForm,"ID")=="New")     {

             err="wrong..."+err;

             alert(err);

         }

         spanHint.innerHTML = err+strPost+err.replace("<","$");

        // window.history.back();

         return err;

    }//checkConflicts function getEleValue(theForm, eleName){

        return theForm.elements[eleName].value;

    }//getEle function getDateString(theForm,eleName){

        var date1 = getDate(theForm,eleName);

        return toDateString(date1);

    }//getDateString function getDate(theForm,eleName){

        var dateName = "OWS:"+eleName+":Date";

        var hoursName = "OWS:"+eleName+":Hours";

        var minsName = "OWS:"+eleName+":Minutes";

        var date1 = new Date(getEleValue(theForm,dateName));

        date1.setHours(getEleValue(theForm,hoursName),

            getEleValue(theForm,minsName));

            return date1; }//getDate

    function toDateString(dt){

        var d=new Date();

        d=dt;

        var months=new Array("01","02","03","04","05","06","07","08","09","10","11","12");

        var days = new Array("01","02","03","04","05","06","07","08","09","10",

                             "11","12","13","14","15","16","17","18","19","20",

                             "21","22","23","24","25","26","27","28","29","30","31");

        var str="";

        str+= d.getFullYear();

        str+="-";

        str+=months[d.getMonth()];

        str+="-";

        str+=days[d.getDate()-1];

        str+=" ";

        str+=d.toTimeString().substring(0,8);

        return str;

    }//toDtaeString

    Submitted By: Ted Teng
    Posted On: 11/3/2004

    October 17

    常用的 Web Services

    • AddAttachment ( listName As string , listItemID As string , fileName As string , attachment As base64Binary ) As string
    • AddDiscussionBoardItem ( listName As string , message As base64Binary )
    • AddList ( listName As string , description As string , templateID As int )
    • AddListFromFeature ( listName As string , description As string , featureID As guid , templateID As int )
    • ApplyContentTypeToList ( webUrl As string , contentTypeId As string , listName As string )
    • CheckInFile ( pageUrl As string , comment As string , CheckinType As string ) As boolean
    • CheckOutFile ( pageUrl As string , checkoutToLocal As string , lastmodified As string ) As boolean
    • CreateContentType ( listName As string , displayName As string , parentType As string , fields As , contentTypeProperties As , addToView As string ) As string
    • DeleteAttachment ( listName As string , listItemID As string , url As string )
    • DeleteContentType ( listName As string , contentTypeId As string )
    • DeleteContentTypeXmlDocument ( listName As string , contentTypeId As string , documentUri As string )
    • DeleteList ( listName As string )
    • GetAttachmentCollection ( listName As string , listItemID As string )
    • GetList ( listName As string )
    • GetListAndView ( listName As string , viewName As string )
    • GetListCollection ( )
    • GetListContentType ( listName As string , contentTypeId As string )
    • GetListContentTypes ( listName As string , contentTypeId As string )
    • GetListItemChanges ( listName As string , viewFields As , since As string , contains As string )
    • GetListItemChangesSinceToken ( listName As string , viewName As string , query As , viewFields As , rowLimit As string , queryOptions As , changeToken As string , contains As string )
    • GetListItems ( listName As string , viewName As string , query As , viewFields As , rowLimit As string , queryOptions As , webID As string )
    • GetVersionCollection ( strlistID As string , strlistItemID As string , strFieldName As string )
    • UndoCheckOut ( pageUrl As string ) As boolean
    • UpdateContentType ( listName As string , contentTypeId As string , contentTypeProperties As , newFields As , updateFields As , deleteFields As , addToView As string )
    • UpdateContentTypesXmlDocument ( listName As string , newDocument As string )
    • UpdateContentTypeXmlDocument ( listName As string , contentTypeId As string , newDocument As string )
    • UpdateList ( listName As string , listProperties As , newFields As , updateFields As , deleteFields As , listVersion As string )
    • UpdateListItems ( listName As string , updates As string )

    文件是 PDF 檔案, 在 sharepoint service V3.0 全文檢索中, 卻找不到, 要如何解決

    • 解法一:

    徵狀 :

    請考慮下列情況。 您搜尋 Microsoft Windows SharePoint 3.0 網站為 Adobe 可攜式文件格式 (PDF) 文件, 其位於內容服務 」。 不過, 沒有 PDF 文件傳回請在搜尋結果。 即使 3.0 Windows SharePoint Services 網站中的 PDF 文件內容, 您搜尋位於您會遇到這種徵狀。

    發生的原因:

    如果要進行編目 PDF 文件未設定 Windows SharePoint Services 搜尋服務在 Windows SharePoint Services 3.0, 就會發生這個問題。解決方案:若要解決這個問題, 請確定 Windows SharePoint Services Search 服務已設定為在已安裝 Adobe PDF IFilter 每部伺服器上耙梳 PDF 文件。

    若要安裝 Adobe PDF IFilter, 來設定 Windows SharePoint Services Search 服務, 請依照下列步驟執行:

    1. 請下載並安裝 Adobe PDF IFilter 從下列 Adobe 網站: http://www.adobe.com/support/downloads/detail.jsp?ftpID=2611

    2.新增下列登錄項目, 然後設定要 pdf 登錄項目值:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Applications\\Gather\Search\Extensions\ExtensionList\38

    如果要執行這項操作,請依照下列步驟執行。:

    a. 按一下 [ 開始 ] 按一下 [ 執行 ] 鍵入 regedit , 然後按一下 [ 確定 ] 。

    b. 找出並按一下下列登錄子機碼:HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Shared Tools \Web 伺服器 GUID Extensions\12.0\Search\Applications\ \Gather\Search\Extensions\ExtensionList

    c. 在 [ 編輯 ] 功能表, 指向 New , 及 [ 字串值 ]。

    d. 38 , 型別, 然後按 ENTER 鍵。

    e. 以滑鼠右鍵按一下在您建立, 登錄項目然後再按 [ 修改 ] 。

    f. [ 數值資料 ] 方塊中鍵入 pdf , 然後再按一下 [ 確定 ]

    3.請確認下列兩個登錄子機碼是否存在而且它們包含適當的值。 請注意 在伺服器安裝 Adobe PDF IFilter 時建立這些登錄子機碼和值, 它們包含。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Setup\ContentIndexCommon\Filters\Extension\.pdf此登錄子機碼必須包含下列登錄項目:預設值名稱:類型: REG_MULTI_SZ資料: { 4C 11 - 74A9 - 904448 D 0 - - AF6E 00C04FD8DC02 }HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Setup\Filters\.pdf此登錄子機碼必須包含下列登錄項目:預設值名稱:型別: REG_SZ(沒有設定值) 資料:名稱: 副檔名型別: REG_SZ資料: pdf名稱: FileTypeBucket類型: REG_DWORD資料: 0 x 00000001 (1)名稱: MimeTypes型別: REG_SZapplication / pdf 資料:

    4.PDF 文件上載至 3.0 Windows SharePoint Services 網站。

    5.停止並啟動 Windows SharePoint Services Search 服務。 如果要執行這項操作,請依照下列步驟執行。:

    a. 按一下 [ 開始 ] 按一下 [ 執行 ] 鍵入 cmd , 然後按一下 [ 確定 ] 。

    b. 停止 Windows SharePoint Services Search 服務。 如果要執行這項操作, 在命令提示字元, 輸入 net

    stop spsearch , 然後按 ENTER 鍵。

    c. 啟動 「 Windows SharePoint Services Search 服務。 如果要執行這項操作, 在命令提示字元, 輸入 net

    start spsearch , 然後按 ENTER 鍵。

    d. 請輸入 結束 若要結束命令提示字元。

    Reference From Other Site

    • 解法二:

    首先當然我們必須要安裝 Adobe iFilter 在 Microsoft Office SharePoint Server 2007 的 索引伺服器上
    (PS: Adobe 最新的版本 Adobe Reader 8.0 已經將 iFilter 包含進去, 所以其實我們只要安裝 Adobe Reader 8.0 我們就可以藉由 MOSS 2007 來搜尋我們的 PDF 檔案)
    接下來就是要開始進行設定:


    1. 進入我們的中央管理中心並選擇[應用程式管理]
    2. 點選我們預設的 Share Services Provider
    3. 在搜尋的 Section 中選擇搜尋設定
    4. 在 Craw 的設定中選擇檔案型態
    5. 新增一個檔案型態並將 PDF 的檔案型態加入


    安裝結束後, 接下來我們開始把 PDF Icon 加入我們的系統中


    1. Drive:\Program Files\Adobe\PDF IFilter 6.0 我們先到此目錄下
    2. 接著在開始/ 執行中輸入 regsvr32.exe pdffilt.dll
    3. 成功之後我們複製我們的 .gif PDF 圖檔, 將圖檔置入 Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Images
    (PS: 1. 圖檔大小: 17 * 17 2. 下載位置 Adobe 有提供: http://www.adobe.com/misc/linking.html)
    4. 同樣的跟 2003 一樣我們要編輯 Docicon.xml 檔案將 .pdf 的附檔加入此檔案中


    OK 到目前為止都已經將前置作業完成嚕@@ 接下來就是要開始進行 Craw 的執行嚕


    1. 在 Craw 設定中我們選擇內容來源與設定索引時間
    2. 選擇[Local Office SharePoint Server Sites] 並且開始進行完整的索引


    結束嚕~~

    Bug(s) and Hotfix

    WSS - Response.End() after blob streaming causing performance impact on x64 platform
    KB Article Id: 939077
    SEARCH – Duplicate Best Bets should not be allowed.
    KB Article Id: 939077
    WSS – Content deployment - The file 'XXXX' is not checked out...
    KB Article Id: 939188
    WSS – CDCR:Tool request to automate site collection repartitions
    KB Article Id: 939035
    WSS – NAME.DLL wrong versioning causes crash in IE in OWSSUPP.DLL.
    KB Article Id: 938888
    WSS – Special character encoding problem during content deployment in combination with variations.
    KB Article Id: 938536
    SEARCH – Modified date in search result is shown as yesterday/tomorrow date
    KB Article Id: 938537
    SEARCH – "View by Modified Date" does not work fine after Incremental Crawl
    KB Article Id: 938536
    WSS – One-Time timer jobs cause 2 hour delay in backup and restore when DST in effect.
    KB Article Id: 938663
    MOSS – The kpi creation succeeds and shows kpi with green status if the cell has '#NAME?' because of incorrect formula calculation.
    KB Article Id: 938182
    WSS – Attachment for item in content approval enabled List disappears after edited.
    KB Article Id: 938183
    WSS – Unable to use 'e-mail as a link' feature in WSS 3.0.
    KB Article Id: 938241
    SEARCH – Cannot search for anything beyond the first slide of a PowerPoint (ppt) presentation.
    KB Article Id: 937901
    SEARCH – Search does not index or return results when DB Status is set offline.
    KB Article Id: 938569
    WSS – DocLib with > 1000 folders with unique permissions causes error in sitedata webservice.
    KB Article Id: 937901
    WSS – Groups on a higher site level will be deleted when subsite was created by an own template and deleted later.
    KB Article Id: 937901
    WSS – Cannot delete a field of type "Computed" from the document library
    KB Article Id: 937901
    SEARCH - Define a scope when using the AdvancedSearchWebPart for entering the parameters and the CoreResultsWebPart to execute the search and display the results.
    KB Article Id: 938568
    WSS – Track Passport users by their PUID(Office Live).
    KB Article Id: 937498
    WSS – CDCR:Request for external blob storage API (Office Live).
    KB Article Id: 938499
    WSS – Non-RFC compliant extra ':' in initial Workflow email causes mail to be interpreted as TEXT on non-Exchange systems.
    KB Article Id: 937906
    MOSS - Users unable to create MySite.
    KB Article Id: 937207
    SEARCH - Unable to search content of protected charts in Excel.
    KB Article Id: 937203
    WSS - Check the canary header in addition to the form body.
    KB Article Id: 937203
    SEARCH - Lists with a null description are not returned when order determined by description field.
    KB Article Id: 937775
    SEARCH - The Notes URL could not be converted in from http:// to notes:// even it is defined in the Server Name Mappings.
    KB Article Id: 937203
    SEARCH - Browser Back button in "Advanced Search" hides search criteria in use (also for the following searches).
    KB Article Id: 936877
    SEARCH - The word breaker for Traditional Chinese Names in the CHT version of MOSS is not Correct.
    KB Article Id: 937039
    SEARCH - Override DB level permissions by using Readers Fields at the document level.
    KB Article Id: 936877
    WSS - Need tool to clean up problem sites caused by the inheriting permissions.
    KB Article Id: 935958
    SEARCH - Lag time when starting a crawl increases based on number of documents in system. KB Article Id: 936867
    WSS - Documents do not maintain 'modified by' user information after export/import operation using stsadm.exe.
    KB Article Id: 936867
    WSS - Inheriting permission causes destructive error : User can never access to the site collection.
    KB Article Id: 937038
    WSS - In AD creation mode, Create User sends email even though check box is unchecked.
    KB Article Id: 936867
    WSS - Web Part page Relative URL path is broken and result in "File Not found" unexpectedly.
    KB Article Id: 936867
    SEARCH - Search queries intermittently timeout.
    KB Article Id: 936867
    WSS – Forefront virus scanner generates error causing document upload to fail.
    KB Article Id: 936867
    WSS – Removing user from site collection causes content deployment to fail.
    KB Article Id: 936867
    SEARCH - Sites that require forms-based authentication or cookie-based authentication are not crawled in SharePoint Server 2007.
    KB Article Id: 934577
    SEARCH - The starting of master merge failed on the AnchorProject and left the indexes marked as being already involved in merge. Subsequent merges do not start.
    KB Article Id: 936877
    MOSS - You receive the following error message when you search for a GUID in SharePoint Server 2007: An error occurred while retrieving data from AdventureWorksInstanceBad. Administrators, see the server log for more information.
    KB Article Id: 934793
    SEARCH - SharePoint Server 2007 cannot index a Microsoft Exchange public folder.
    KB Article Id: 934793
    WSS - Issues that may occur when you use the volume shadow copy service (VSS) reference writer in Windows SharePoint Services 3.0
    KB Article Id: 935605
    SEARCH - If you set the Hint property of a Full Text Query object to OptimizeWithFullTextIndex and then query the computer that is running Windows SharePoint Services 3.0, the order of the results is sorted incorrectly.
    KB Article Id: 934790
    WSS - Error message when you try to install a feature in Windows SharePoint Services 3.0: "The 'UserSelectionMode' attribute is not allowed.
    KB Article Id: 934613
    WSS - When you run a program that uses the SPWorkflowManager.ForceDehydrateHttpContextWorkflows() event to work with files that are saved in a Windows SharePoint Services 3.0 document library, the expected Web page is not displayed. Additionally, you receive the following error message: Service Unavailable
    KB Article Id: 934790
    WSS - When you upload a file to multiple Windows SharePoint Services 3.0 document libraries, an alert creation e-mail message is sent from the document libraries as expected. However, an alert notification e-mail message is sent from only one document library. You would expect an alert notification e-mail message to be sent from all the document libraries to which you uploaded the file.
    KB Article Id: 934790
    WSS - When you use the ItemAdding event to add a new file to a Windows SharePoint Services 3.0 document library, the path of the document library folder cannot be found.
    KB Article Id: 934790
    WSS - A file that is attached to an e-mail message is not put in a Windows SharePoint Services 3.0 document library
    KB Article Id: 934882
    SEARCH - You browse a Windows SharePoint Services 3.0 Web site that contains different language subwebs. When you search one language subweb for an item that does not exist, you receive an error message as expected in that language subweb. However, when you search for an item that does not exist in a different language subweb, you unexpectedly receive an error message in the first language subweb that you searched.
    KB Article Id: 934790
    WSS - You run an SQL query to change the properties for a user that you created on a Windows SharePoint Services 3.0 Web site. When you run the PeoplePicker tool to search for a user, the original user is unexpectedly found. You would expect the PeoplePicker tool to use the changes that you made to the user's properties when it searches for a user.
    KB Article Id: 934790
    WSS - You add two List Web Parts to a page of a Windows SharePoint Services 3.0 Web site. The second List Web Part is connected to receive data from the first List Web Part. When you click the option button for an item in the first List Web Part, only that list item appears in the second List Web Part as expected. However, if you sort the results of the first List Web Part and then click the option button for a different item in the list, all list items unexpectedly appear in the second List Web Part.
    KB Article Id: 934790
    WSS - The Web File Properties dialog box displays incorrect properties for a document that is saved in a Windows SharePoint Services 3.0 document libraryKB Article Id: 934253
    WSS - A default column value is saved to a document regardless of the content type of the document in a Windows SharePoint Services 3.0 document libraryKB Article Id: 932922
    SEARCH - No results are returned in the search results when you search for people by site membership in SharePoint Server 2007
    KB Article Id: 935196
    WSS - E-mail alerts do not work when the server that is running Windows SharePoint Services uses port translation.
    KB Article Id: 933818
    SEARCH - You cannot search Microsoft Excel workbooks in a Windows SharePoint Services document library.
    KB Article Id: 933818
    SEARCH - Users receive search error messages and event ID 10038 error messages are logged in the Application log on Web front-end servers
    KB Article Id: 933819
    SEARCH - No documents are returned in the search results when a user searches for Lotus Notes content in SharePoint Server 2007
    KB Article Id: 933939
    SEARCH - When SharePoint Server 2007 crawls a Microsoft Exchange Server 2003 public folder, the following error message is logged to the gatherer log: "The item could not be accessed on the remote server because its address has an invalid syntax"
    KB Article Id: 933586
    MOSS - When you select the Re-encrypt all credentials by using the new encryption key option to reencrypt credentials in a Single Sign-On (SSO) environment, the "IX_SSO_Credentials" index is renamed to "IX_SSO_Temp_Credentials." When the SSO database is queried, the query fails.
    KB Article Id: 932917
    MOSS - A URL that contains an extra slash mark may take longer to open on a server that is running SharePoint Server 2007
    KB Article Id: 932918
    SEARCH - Complex remote links are not crawled when the links are in the same SharePoint Server 2007 portal
    KB Article Id: 932901
    SEARCH - When you use the FulltextSqlQuery object to perform a full-text search of a server that is running SharePoint Server 2007, the search results may be sorted in random order.
    KB Article Id: 932917
    WSS - You cannot disable VSAPI scans when you schedule manual scans of content in SharePoint Server 2007 and in Windows SharePoint Services 3.0
    KB Article Id: 933138
    WSS - The file name of a file that you download from the Document Center is changed to use UTF-8 canonical format and is missing the file name extension
    KB Article Id: 932914
    WSS - You cannot create a content database after you install Windows Internal Database SP2 KB Article Id: 932914
    MOSS - You run a program that uses the SharedWebService.OnlineServerAddresses Web service to determine the URL for its search service. When several requests are made to the same Web service at the same time, a deadlock situation may occur.
    KB Article Id: 932919
    WSS - Previously published pages that are no longer published cause duplicate links to appear in the Windows SharePoint Services 3.0 content database.
    KB Article Id: 932621
    WSS - You receive the following error message when you try to open a form in Windows SharePoint Services 3.0: "The Page is modified. Please reopen it"
    KB Article Id: 932621
    SEARCH - You cannot crawl case-sensitive Web content in SharePoint Server 2007
    KB Article Id: 932619
    WSS - One or more custom programs do not finish successfully when you run multiple custom programs that use the BreakRoleInheritance function in the Windows SharePoint Services 3.0 object model.
    KB Article Id: 932056
    WSS - When you try to show an error message in a Windows SharePoint Services 3.0 Web site programmatically by using the ItemCheckingIn() event, the custom error message text is not shown. Instead, you receive a garbled error message that may resemble the following error message: 1!.512s!
    KB Article Id: 931636
    WSS - You cannot select the values for a custom field when you try to edit the properties on the FldEditEx.aspx page on a Windows SharePoint Services 3.0 Web site.
    KB Article Id: 932055
    SEARCH - You cannot perform a search query after you upgrade to Windows SharePoint Services 3.0 on a Windows Small Business Server 2003-based computer.
    KB Article Id: 931008
    SEARCH - When you search a Windows SharePoint Services 3.0 Web site and then click View by Modified Date, you receive the following error message: "Your search cannot be completed because of a service error. Try your search again or contact your administrator for more information."
    KB Article Id: 931636
    SEARCH - When you perform an incremental crawl on a Windows SharePoint Services 3.0 Web site, the crawl may stop when one or more of the following conditions are true; No changes are found, No new links are found or No new updates are found.
    KB Article Id: 931496
    WSS - Changes that you make to the "List View" Web Part are not retained after you save the site as a template in Windows SharePoint Services 3.0.
    KB Article Id: 926284
    WSS - When you try to delete a message in Windows SharePoint Services 3.0 programmatically, you receive a null reference exception message.
    KB Article Id: 931636
    WSS - Microsoft Windows SharePoint Services 3.0 currently does not comply with daylight saving time (DST) in Western Australia for the years 2006 to 2009.
    KB Article Id: 932347
    SEARCH - If the parent farm contains two or more start addresses that contain the same host in SharePoint Server 2007, efforts to provision the content sources fail.
    KB Article Id: 931496
    OUTLOOK - When you locate a Windows SharePoint Services 3.0 custom list in Microsoft Office Outlook 2007, CPU usage that is reported in Task Manager may reach 100 percent. Additionally, CPU usage does not decrease until you exit Outlook 2007.
    KB Article Id: 935515
    WSS - When you locate a Windows SharePoint Services 3.0 custom list in Outlook 2007, CPU usage as reported in Task Manager may reach 100%. Additionally, CPU usage does not decrease until you exit Outlook 2007.
    KB Article Id: 931637

    MOSS 2007 流程常見錯誤

    當流程出現問題時建議使用 Log File: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS... 因為不管大大小小的錯誤均會記錄在此 Log Folder 下其實會比事件檢視器好用多了~~~
    流程最常見的三大問題:

    狀況一:Failed on Start

    一般來說最有可能的原因在於流程安裝過程中已經出現錯誤... 因為出現錯誤所以導致於無法找到相關流程的 dll 檔案,此時可以檢查一下 GAC 內是否有我們需要的 dll 檔案,甚至我們必須檢查 workflow.xml 內的強示名稱是否有對應到我們的組件版本。

    狀況二:Error Occurred

    這一個問題則是發生在於你的流程已經啟動但是啟動的過程當中出現錯誤而且是客製化流程,同樣的會建議看一下 Logs,倘若我們有使用 LogToHistoryList activity 則我們就可以很清楚知道到底是哪一個節點出現問題當然我們也可以使用 Virtual Studio 來 Trace 我們的程式碼...

    狀況三:Forms

    假如我們的表單是使用 InfoPath,那麼我們將要檢查 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES 確認一下我們的表單已經被正確佈署且安全性已經設定為[Full Trust]

    一堆 Lotus Notes 相關文件與 KB

    轉換 License 問題

    咦 最近突然有很多人詢問 License 轉換的問題,剛好利用這次機會找到了一篇網路上的文章,說明的挺詳細的:
    http://blogs.technet.com/bnathan/archive/2006/11/19/comment-passer-de-la-version-d-val-de-moss-la-version-finale.aspx
    大家參考看看吧...
    另外這兩個版本到底差別在哪ㄋ??

    1. Excel Services
    2. Infopath Form Services
    3. Key Performance Idicators
    4. Business Data Catalog
    5. Business Data Search
    6. Business Data Actions
    7. Filter Web Parts
    8. Report Center

    差別就這幾個嚕,這幾個功能都是企業版才有的,簡單來說模糊來說與 BP/ BI 有關的都是 Enterprise...

    如何安裝/ 移除 .wsp Feature

    粉簡單啊~~ 就寫兩支簡單批次檔:一支叫新增;一支叫移除
    [新增]
    @SET STSADM=”c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe”
    %STSADM% -o addsolution -filename OfficeSpaceFeature.wsp
    %STSADM% -o deploysolution -name OfficeSpaceFeature.wsp -immediate - allowGacDeployment
    %STSADM% -o execadmsvcjobs
    [移除]
    @SET STSADM=”c:\program files\common files\microsoft shared\ web server extensions\12\bin\stsadm.exe”
    %STSADM% -o retractsolution -name OfficeSpaceFeature.wsp -immediate
    %STSADM% -o execadmsvcjobs
    %STSADM% -o deletesolution -name OfficeSpaceFeature.wsp