Sharepoint學習筆記—習題系列--70-576習題解析 -(Q141-Q143)

Question  141
 You are planning an upgrade to a SharePoint 2010 application. You have the following requirements:
.Modify an existing workflow to include a new code activity.
.Ensure running instances of the workflow continue to work.
.Ensure new instances of the workflow include the modifications.
You need to plan the upgrade the application to meet these requirements. After the workflow code is modified, what should your plan specify?
A. Deploying the code to the global assembly cache (GAC) and deactivating the workflow feature.
B. Incrementing the version of the workflow assembly, deploying to the GAC, and activating the workflow feature.
C. Incrementing the version of the workflow assembly, deploying to the GAC, deactivating the workflow feature, and then activating the workflow feature.
D. Incrementing the version of the workflow assembly, deploying to the GAC, and modifying the appropriate workflow. xml file to reference the new version.服務器


解析:
 你計劃升級一個Sharepoint應用程序,須要知足以下要求:
 要求1.爲一個已經存在的工做流添加一個新的代碼活動
 要求2.保證那個已經使用的工做流實例的繼續正常運行
 要求3.保證新的工做流實例包含了要求1中所做的修改
 你該如何操做以確保升級活動達到上述要求?
 因爲本題要求「保證那個已經使用的工做流實例的繼續正常運行」,因此你必須另外部署新Workflow的程序集。即」 Incrementing the version of the workflow assembly, deploying to the GAC」,選項B.C.D前面部分的描述。而選項A則排除,由於部署到GAC中的是程序集(通過編譯後的代碼)而非代碼。
  咱們知道,每一個工做流都具備一個工做流定義(workflow. xml)文件。此 XML 定義指定實際工做流程序集的標識、該程序集中的類以及工做流必須運行的任何工做流表單的位置。選項B.C均未對原來的工做的工做流定義(workflow. xml)文件進行修改,這樣就達不到要求1,即必需要爲已經存在的工做流添加一個新的代碼活動。只有選項D,經過修改這個workflow.xml文件,把原來已經存在的工做流所依賴的工做流程序集的標識指向新建立的工做流程序集,從而達到本題的要求。
所以本題答案應該選 D app

參考 
http://msdn.microsoft.com/zh-cn/library/ms434426(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/ms414556(v=office.14).aspx
http://social.msdn.microsoft.com/Forums/en-US/6034c5d5-86b2-45dc-a9cc-4ebf4930668e/how-to-increment-the-version-of-my-workflow工具

 


Question  142
 You have a SharePoint 2010 application deployed in production. The application has a list with a single longrunning workflow named Version A. You design a new version of the workflow named VersionB. You have the following requirements:
.Existing instances of Version must continue to run until completed.
.VersionB must always be instantiated in the future.
.Version A must no longer be instantiated.
You need to design the solution to meet the requirements. Which approach should you recommend?
A. Disable the Start this workflow when a new item is created property in the Start Options of Version A.
B. Disable the Start this workflow when a new item is created property in the Start Options of VersionB.
C. Set the No New Instances property in the Remove Workflows settings of Version A.
D. Set the Optionally limit the number of versions to retain property in the Versioning Settings of the list.網站


解析:
  你開發部署了一個Sharepoint2010應用在生產環境,此應用包含了一個長期運行某個列表上的工做流,此工做流當前版本號爲A,你準備開發此工做流的新版本B,並知足以下要求:
  要求1.已經運行的版本A必須繼續運行,直到它執行完成
  要求2.升級後新建立的此工做流實例必須基於版本B建立
  要求3.版本B生效後,再也不基於版本A建立新的工做流實例
 你該如何操做以知足上述要求呢?
  咱們知道,經過將工做流與列表、文檔庫、內容類型或網站關聯,能夠添加工做流。經過取消工做流與列表、文檔庫、內容類型或網站的關聯,能夠移除工做流。或者,您能夠阻止工做流的新實例啓動,但仍容許全部正在運行的工做流實例完成。這正是本題所須要作的事情。
  下面是如何從列表或文檔庫移除工做流關聯的具體步驟:
從列表或文檔庫移除工做流關聯
1. 驗證您是否擁有如下管理憑據:
    o 您必須是所配置的 SharePoint 網站上的 Site Owners 組的成員。
2. 經過瀏覽找到要從其中移除工做流的列表或庫。
3. 執行下列操做之一:
   o 對於列表,在「列表工具」選項卡上單擊「列表」。
   o 在「設置」組中,單擊「列表設置」。
   o 對於庫,在「庫工具」選項卡上單擊「庫」。
   o 在「設置」組中,單擊「庫設置」。
4. 在「列表設置」或「庫設置」頁上的「權限和管理」部分,單擊「工做流設置」。
5. 在「工做流設置」頁上,單擊「刪除工做流」。
6. 在「刪除工做流」頁上,找到要移除的工做流並從如下選項中進行選擇:
   o 選擇「沒有新實例(No New Instances)」以防止此工做流的新實例運行,但仍然容許正在運行的實例完成。【正是本題要求的效果,也只有選項C使用了此屬性設置,因此選項C爲本題的答案】
全部正在運行的工做流均完成後,您能夠返回到此頁以徹底移除工做流關聯。
   o 選擇「移除」以防止此工做流的新實例運行並移除此工做流的全部實例。此選項將移除已在運行的實例。
7. 單擊「肯定」。
  選項A.B分別關閉自動啓動工做流。與本題的要求沒太大關係。
  選項D則涉及列表項(主要是文檔庫內文檔的版本)的版本保存限制,與本題的工做流無關。因此也應該排除。
所以本題答案應該選 Cui

參考 
http://technet.microsoft.com/zh-cn/library/ee662537(v=office.14).aspx
http://technet.microsoft.com/zh-cn/library/ee662537(v=office.14).aspx
http://technet.microsoft.com/zh-cn/library/ee662540(v=office.14).aspx
http://office.microsoft.com/en-au/sharepoint-server-help/enable-and-configure-versioning-for-a-library-HA101853103.aspxthis

 

Question  143
 In your development environment, you designed new versions of a number of features currently working in a SharePoint 2010 farm. The features are being used throughout the farm at all scope levels. You need to meet the following requirements:
.All the features on the farm must be upgraded to the newest version.
.All existing feature instances must be upgraded to the latest version.
.The sites using the features must experience as little downtime as possible.
Which approach should you recommend?
A. Deploy all of the features as one solution package to the farm. Specify the new version number for each feature in the current Feature.xml file for the feature. Activate all of the new features at the farm level.
B. Deploy each of the features in its own solution package to the farm. Specify the new version number for each feature in the current Feature.xml file for the feature. Activate the new features only in the locations where they are currently activated.
C. Specify the new version number and any upgrade actions required in each of the Feature.xml files. Run Feature upgrade as a solution package on the farm.
D. Retract the existing versions of the features. Specify the new version number for each feature in a new Feature.xml file for each feature. Deploy the features as a new solution package. Activate the new features only in the locations where they are currently activated.spa


解析:
 你在開發環境中開發了幾個新版本的功能,這些功能的老版本實例已經在生產環境中投入了應用,它們的應用層次是整個場內的任何層次(Web Application, Site Collection, Web, List….),你須要作到以下要求:
  要求1.全部功能都必須被升級到最新版本
  要求2.已經存在的各個層次的功能必須升級到最近的版本
  要求3.儘可能減小功能停運時間
 本題涉及Sharepoint的功能升級,先來看看相關描述:
 在 Microsoft SharePoint Foundation 中,每一個功能都具備一個在與其對應的 Feature.xml 文件中指定的版本號。在某個特定範圍內激活一個功能時,會建立一個與該功能的版本關聯的功能實例。利用 SharePoint Foundation 中的功能版本控制,可輕鬆跟蹤功能及其關聯實例。以後,當您部署新版本的功能時,SharePoint Foundation 檢測到關聯的功能也須要進行升級,由於功能實例的版本號小於當前的 Feature.xml 文件中指定的新版本號。
 在運行功能升級時,還會根據新 Feature.xml 文件中指定的升級操做對須要升級的功能實例進行升級。SharePoint Foundation 使用新的 QueryFeatures 方法(可應用於頂級對象,如 SPWebApplication 和 SPSite),基於功能實例的版本號來肯定須要升級的功能實例。新 Feature.xml 文件中有一個部分,可用於指定將特定的功能實例從早期版本升級到最新版本所需的升級操做。升級基礎結構會查詢須要升級的功能實例集,而後升級其中的每一個功能實例。此活動會涉及聲明性升級操做和自定義升級代碼。在 SharePoint Foundation 中,將跟蹤每一個功能實例的版本號。
按如下順序依次升級功能:服務器場級別、Web 應用程序級別、網站集和特定網站。在網站級別,功能實例的升級順序是:從根網站開始,而後按照子網站層次結構向下進行升級。將基於依賴性的順序升級功能,也就是說,在升級功能以前,先升級這些功能所依賴的功能。
當升級期間出現錯誤時,升級將在指定的功能實例處中止,並在 ULS 日誌和 Upgrade.log 文件中記錄該錯誤。(一般,ULS 日誌包含有關該錯誤的詳細信息)。同時,繼續對其餘功能實例進行升級。在完成初始升級後並在從新啓動此過程以前,管理員有機會發現並解決致使功能沒法升級的問題。以後,當從新啓動升級過程時,SharePoint Foundation 會對初次升級失敗的功能重複全部升級操做,以便對全部功能和功能實例成功完成升級過程。
   Feature.xml 文件中新增的 <UpgradeActions> 節指定可應用於指定功能的升級操做。
能夠將 <UpgradeActions> 節放置在 Feature.xml 文件的開頭或末尾,使其位於 <Feature> 元素的內容中。經過該節,您能夠爲不一樣的升級範圍指定升級操做,而且能夠包含應用於指定範圍的升級操做列表。升級定義始終將功能升級到 <Feature> 元素中聲明的版本。
 下面咱們來分析各備選項.
 選項A.把全部的功能都打包到一個解決方案中,並從新部署到場級別以及在場級別激活它們。這顯然不符合本題描述:」 老版本實例已經在生產環境中投入了應用,它們的應用層次是整個場內的任何層次」。並且此方式也不會滿組要求2。因此本選項被排除。
 選項B.從新開發針對各個功能的新版本功能的解決方案並部署到場。這種方式也並無升級已運行的老版本,而僅是開發部署了新版本。且這種不斷開發部署新解決方案的方法會頻繁形成Sharepoint生產環境停運。因此選項B也應該被排除。
 選項C.經過開發功能升級解決方案包而不是從新開發新的功能解決方案包,這顯然符合本題的要求。功能升級解決方案包就是用來完成Sharepoint功能升級的各類操做的。
 選項D.要收回已運行的舊版本的功能。這顯然不符合要求2,即不能收回它們,而是升級它們。因此選項D排除。
  
所以本題答案應該選 C
參考 
http://msdn.microsoft.com/zh-cn/library/ee535723(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/ee535708(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/ee537575(v=office.14).aspx版本控制

相關文章
相關標籤/搜索