WSS3SDK之 更新子內容型別

2021-04-24 12:27:34 字數 1889 閱讀 3484

每個內容型別都包含了其所基於的**內容型別的引用。這使得wss可以傳播,或者推送對於父內容型別的變更到其子**或列表內容型別。

當您修改某內容型別後,您可以選擇推送這些改動到所有子級。當推送操作拷貝變化到基於該內容型別的**或列表內容型別時,他並不會覆蓋整個內容型別。相反,進行覆蓋的範圍會根據是通過使用者介面還是物件模型而有所不同。

通過使用者介面更新子內容型別

當您通過使用者介面編輯乙個**內容型別,並在內容型別設定頁面進行修改後,所有頁面中包含的設定都會通過推送進行覆蓋。因此,我們推送的粒度是由分組在各頁上的設定決定的。每次您在內容型別設定頁面中進行的任何改動後,該頁上所有的設定項都會在推送操作中進行覆蓋。

下面是各內容型別設定頁所包含設定的乙個摘要:

新建欄設定該頁用來管理新建到內容型別中的欄。

欄設定該頁面包含下列設定項:

通過物件模型更新子內容型別

物件模型我推送操作提供了更粗的粒度。當我們通過物件模型更改了某個**內容型別後,**實際上只是更改了該內容型別在記憶體中的表現。僅僅當我們呼叫update方法後,wss才會提交這些更改到**資料庫中。

下面的例子中,通過**給乙個**內容型別specification新增了兩欄,然後推送更改到所有子內容型別。

c#spweb web 

=getspweb();

spcontenttype myct 

=web.contenttypes[

"specification"];

myct.fields.add(field1);

myct.fields.add(field2);

myct.update();

您也可以在xml文件的粒度上通過物件模型推送自定義設定。每個內容型別都有乙個xml文件集合,第三方解決方案可以用來儲存自定義設定資訊。我們 可以通過推送操作覆蓋特定的xml文件。要注意的是wss並不會在覆蓋前判斷該xml文件是否正在被使用或是否是其他過程所必需。您也可以在推送操作中整 個刪除xml文件。

當更新子內容型別時的考慮

要知道,推送操作會覆蓋子內容型別所作的更改,如果這些更改正好落入推送操作粒度的範圍內。舉例來說,假設您在子內容型別裡變更了一欄。如果您隨後對父內 容型別中的該欄作出其他改變,甚至刪除該欄,並推送變化, windows sharepoint services將覆蓋您(或更有可能是其他人)原先在子內容型別上所作的變更。

每個推送操作僅會推送本次對父 內容型別所做的更改。如果對其更改後沒有推送,您將不能在以後輕易的進行推送。大多數情形下,你只能被迫撤銷先前的更改,然後再從新改一遍,再來推送。舉 例來說,假設您從父內容型別中刪除了一欄,但當時不推送這一變化。任何其後的推送操作,都將不包括從子內容型別中刪去該列的操作。如果要從子內容型別中刪 除該列,你將需要在父內容型別中重新新增該欄,再次將它刪除,然後執行推送操作。

如果你推送的變化不再適用於子內容型別,這些變化將被忽略。例如,如果您推送欄設頂的變化到乙個已被從子內容型別中刪除的欄,這些變化將被忽略。 windows sharepoint services不會將欄新增回子內容型別。

如果您嘗試對標記為唯讀子內容型別執行推送操作,推動操作將失敗,除非您在推送操作中有設定父內容型別為讀/寫(read/write)的操作。

推送的變化不是乙個全有或全無的操作;若推送的變化,對於某一子內容型別未能成功, windows sharepoint services會繼續推送變化到任何餘下的子內容型別。在推送結束後, windows sharepoint services會返回乙個過程中錯誤的清單。

如果子內容型別定義為密封的,推送操作會在該內容型別上失敗。

注意

要建立或管理乙個**內容型別,您必須至少是該**的**設計者。如果您對某些子**沒有適當的訪問許可權,推送操作在這些子**中的內容型別上將會失敗。

WSS3SDK之 欄位和字段引用

本節將討論欄位和字段引用間的區別。欄是乙個欄位或乙個字段引用 在各種wss 3.0架構 如 列表或內容型別定義 中,欄可以用field元素或fieldref元素 內容型別 來表示。和列表欄在 和列表定義中以field元素來表示。然而,在內容型別定義裡 和列表欄的引用是用fieldref元素來表示的。...

WSS3SDK之 內容型別FormUrls架構概覽

formurls 架構描述了可以作為定製資訊新增到內容型別中的可選xml內容。該xml結點必須存放在內容型別定義中的xmldocument元素下。該架構允許您將套用某內容型別的列表項的顯示,編輯或新建頁面進行客戶端重定向,指到與原先不同的頁面上。該架構包含下列元素 display可選 文字。用於指定...

WSS3SDK之 伺服器和站點架構 物件模型概覽

windows sharepoint services提供了一整套高度結構化的伺服器端物件模型,使得我們可以方便的訪問sharepoint站點中的各種物件。在您的 中,通過一層層的物件結構可以從上向下獲取,直到找到您需要的物件和成員。這依賴於您建立的自定義應用程式或解決方案的型別,您可能會通過不同的...