2011年8月24日 星期三

SharePoint 2010 Custom Action Locations and Group IDs - Page

SharePoint 2010 的Locations and GroupIDs總共分為四大類:

以下是Page對應表格資料:

Location

Custom Action Group IDs

Default Custom Action IDs

Group Description

Microsoft.SharePoint.ContentTypeSettings

Fields

· AddField

· ReorderFields

Columns section on site collection Content Type page.

Microsoft.SharePoint.ContentTypeSettings

General

· ChangeNameDescription

· ChangeOptionalSettings

· ChangeWorkflowSettings

· RemoveContentType

Settings section on site collection Content Type page.

Microsoft.SharePoint.ContentTypeTemplateSettings

Fields

· AddField

· ReorderFields

Columns section on List Content Type page.

Microsoft.SharePoint.ContentTypeTemplateSettings

General

· ChangeNameDescriptionGroup

· ChangeOptionalSettings

· ChangeWorkflowSettings

· RemoveContentType

Settings section on List Content Type page.

Microsoft.SharePoint.Create

WebPages

Not applicable

Web Pages section on Create page.

Microsoft.SharePoint.GroupsPage

NewMenu

Not applicable

New menu on site collection People and Groups page.

Microsoft.SharePoint.GroupsPage

SettingsMenu

Not applicable

Settings menu on site collection People and Groups page.

Microsoft.SharePoint.ListEdit

Communications

Not applicable

Communications section on Customize page for list or document library.

Microsoft.SharePoint.ListEdit

GeneralSettings

Not applicable

General Settings section on Customize page for list.

Microsoft.SharePoint.ListEdit

Permissions

Not applicable

Permissions and Management section on Customize page for list or document library.

Microsoft.SharePoint.ListEdit.DocumentLibrary

GeneralSettings

Not applicable

General Settings section on Customize page for document library.

Microsoft.SharePoint.PeoplePage

ActionsMenu

Not applicable

Actions menu on site collection People and Groups page.

Microsoft.SharePoint.PeoplePage

NewMenu

Not applicable

New menu on site collection People and Groups page.

Microsoft.SharePoint.PeoplePage

SettingsMenu

Not applicable

Settings menu on site collection People and Groups page.

Microsoft.SharePoint.SiteSettings

Customization

· ProjectSettings

· NavOptions

· Theme

· TopNav

· QuickLaunch

· SaveAsTemplate

· ReGhost

Look and Feel section on Site Settings page.

Microsoft.SharePoint.SiteSettings

Galleries

· MasterPageCatalog

· ManageCType

· ManageField

· SiteTemplates

· ListTemplates

· WebParts

· Workflows

Galleries section on Site Settings page.

Microsoft.SharePoint.SiteSettings

SiteAdministration

· RegionalSettings

· LibrariesAndLists

· WebUsage

· UserAlerts

· RSS

· SrchVis

· ManageSubWebs

· ManageSiteFeatures

· DeleteWeb

Site Administration section on Site Settings page.

Microsoft.SharePoint.SiteSettings

SiteCollectionAdmin

· DeletedItems

· SiteCollectionUsage

· Storage

· ManageSiteCollectionFeatures

· Hierarchy

· Portal

Site Collection Administration section on Site Settings page.

Microsoft.SharePoint.SiteSettings

UsersAndPermissions

· PeopleAndGroups

· SiteCollectionAdministrators

· User

 

以上資料來自微軟MSDN : http://msdn.microsoft.com/en-us/library/bb802730.aspx

SharePoint 2010 Custom Action Locations and Group IDs - Menu

每次在設定Ribbon的時候,或是其他Elements功能都常常需要設定到Location和以及相對應的Group,每一次也要查一下MSDN,雖然查的到,但亞當斯還是覺得好麻煩,所以就把微軟官方的SharePoint 2010 Custom Action Locations and IDs在這邊也記錄備查一下。

SharePoint 2010 的Locations and GroupIDs總共分為四大類:

  • Menu Custom Action Locations and Group IDs
  • Page Custom Action Locations and Group IDs
  • Central Administration Custom Action Locations and Group IDs
  • Server Ribbon Custom Action Locations and Group IDs

以下是Menu對應表格資料:

Menu Custom Action Locations and Group IDs

Location

Custom Action Group IDs

Default Custom Action IDs

Group Description

DisplayFormToolbar

Not applicable

ExportEventToolbarButton (calendars)

ExportContactToolbarButton (contacts)

Location corresponds to the display form toolbar of lists.

EditControlBlock

Not applicable

Not applicable

Location corresponds to the per-item edit control block (ECB) menu.

EditFormToolbar

Not applicable

Not applicable

Location corresponds to the edit form toolbar of lists.

NewFormToolbar

Not applicable

Not applicable

Location corresponds to the new form toolbar of lists.

ViewToolbar

Not applicable

Not applicable

Location corresponds to the toolbar in list views.

Microsoft.SharePoint.StandardMenu

ActionsMenu

Not applicable

Actions menu in list and document library views.

Microsoft.SharePoint.StandardMenu

ActionsMenuForSurvey

Not applicable

Site Actions menu for surveys.

Microsoft.SharePoint.StandardMenu

SettingsMenuForSurvey

Not applicable

Site Settings links for surveys.

Microsoft.SharePoint.StandardMenu

SiteActions

Not applicable

Site Actions menu.

2011年8月18日 星期四

How to coding to creating a web part page in SharePoint 2010(如何在某個List(如Site Pages/Site Assets)裡加入一個web part page)

如果想要動態透過SharePoint Server API將Web Part Page動態加入指定的清單中,如:Site Pages或Site Assets中,該如何來實作,以下亞當斯使用Console Application來示範,先建立一個Console Application

1. 加入Microsoft.SharePoint.dll以及System.Web.dll兩個主要的組件

clip_image001

2. 因為當SharePoint2010在建立新的網頁組件頁面(WebPartPage)時,有很多的網頁範本可以選擇,所以假設想要動態建立新的WebPartPage,則必須先指定某個既定的網頁範本,例如最基本的:spstd1.aspx,這些網頁組件頁面範本是存放在以下路徑:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\1028\STS\DOCTEMP\SMARTPGS

clip_image002

3. 在Main.cs中加入以下程式碼,透過SPUtility.GetGenericSetupPath先取出範本存放的路徑,接著設定網頁範本名稱以及想要放置的資料夾或清單名稱,最後透過SPFile物件,將自訂的網頁組件頁面新增到SitePages清單中:

try

{

using (SPWeb web = new SPSite("http://sharepoint").OpenWeb())

{

//Create Page in SitePages List (If English Version Please use 1033)

string hive = SPUtility.GetGenericSetupPath("TEMPLATE\\1028\\STS\\DOCTEMP\\SMARTPGS\\");

FileStream stream =

new FileStream(Path.Combine(hive, "spstd1.aspx"), FileMode.Open);

SPFolder libraryFolder = web.GetFolder("SitePages");

SPFileCollection files = libraryFolder.Files;

SPFile file = files.Add("MyPage.aspx", stream);

Console.WriteLine("Create Custom Page OK");

}

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

}

Console.Read();

4. 建置專案,並結執行測試,開啟http://sharepoint/SitePages/Forms/AllPages.aspx,可以看到MyPage.aspx已經被API動態新增到SitePages中

clip_image003

5. 點擊MyPage.aspx,並進入編輯模式,可以在MyPage中新增網頁組件

clip_image005

2011年8月17日 星期三

How to Programmatically Add List or WebParts to SharePoint 2010 WebPartPage

想要在既有的網頁組件頁面中透過API動態加入既有的清單List或是網頁組件WebPart,該如何設計呢?

以下亞當斯帶各位來設計開發:

1. 假設建立一個將加入至WebPartPage的清單:MyProject (此清單是Project Task),如下圖所示:

clip_image002

2. 接著建立一個Console Application,加入Microsoft.SharePoint.dll以及System.Web.dll兩個主要的組件

3. 在Main.cs中加入以下程式碼,將List加入名為MyPage.aspx的網頁組件頁面中,MyPage.aspx的建立方式可以自行加入單一網頁組件的頁面,或是請參考以下文章步驟:How to coding to creating a web part page in SharePoint 2010

image

4. 建置專案,並執行測試,將會發現MyProject已經被動態新增至MyPage.aspx的網頁組件頁面中:

clip_image004

2011年8月16日 星期二

How to Hidden OverwriteFile on DiscussionBoard Upload Page in SharePoint 2010(如何在SharePoint2010的討論區上傳檔案時隱藏覆寫功能)

在SharePoint 2010的討論區清單中,當使用者新增一個討論主題的時候,可以在編輯內容時,使用Ribbon上的插入選項,新增欲上傳的檔案:

clip_image002

以下是按下上傳功能時的畫面,但是因為同一個網站中的所有討論區都可以讓使用者上傳文件至指定的清單,這時候會產生一個問題,當不同的討論區上傳檔案時,檔名為相同時就會預設將前一個使用者上傳的文件覆蓋掉。

clip_image003

舉個例子:不同的討論區中發表主題時,上傳同一個檔名至:網站資產,此時勾選「複寫現有的檔案」,就會將之前的檔案直接覆寫掉,並且在本文中持續加入新檔案參考:

clip_image005

那麼如果不勾選「複寫現有的檔案」,就會有以下的訊息提示使用者。

clip_image006

有些情境因為考量到不讓使用者可以自行勾選「複寫現有的檔案」,因此必須將「複寫現有的檔案」選項設定為不顯示,並且預設是不勾選,該如何完成此需求呢,步驟如下:

1. 找到C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS下的RteUploadDialog.aspx

2. 進入編輯模式,找到

<asp:CheckBox id="OverwriteFile" Checked="true" Text="<%$Resources:wss,upload_document_overwrite_file%>" runat="server" />

3. 修改為以下的設定:

<asp:CheckBox id="OverwriteFile" Checked="false" Visible="false" Text="<%$Resources:wss,upload_document_overwrite_file%>" runat="server" />

4. 重新新增討論主題並上傳文件,可以檢視畫面已被修改:

clip_image009

5. 針對相同的清單上傳已存在名稱的文件時,將預設會判斷已存在,不得重複上傳,如下圖所示:

clip_image010

2011年8月15日 星期一

How to using SharePoint 2010 WebPart to New WebSites(如何在SharePoint 2010中透過WebPart新增子網站)

某些商業情境下我們會將SharePoint 2010 的Ribbon隱藏起來不讓使用者可以操作,或者是把以下的網站動作利用權限控管隱藏,以便讓一般的使用者也無法透過網站動作新增網站。

clip_image001

但是,當隱藏Ribbon以及網站動作功能項之後,若是要讓某些部分權限的使用者可以透過特定的操作功能來建立其所負責網站下的子網站時,該如何設計呢?

以下步驟透過一個WebPart包含一個連結就可以輕易達成此需求:

1. 新增一個SharePoint2010 WebPart專案:

clip_image002

2. 拖曳一個Image控制項至UserControl中,並設定:

ImageUrl為 ~/_layouts/images/createcontent.gif

clip_image003

設定完成之後的HTML如下:

<asp:HyperLink ID="HyperLink1" runat="server"

ImageUrl="~/_layouts/images/createcontent.gif">NewWeb</asp:HyperLink>

3. 另在加入一個HyperLink控制項,並設定相同的相關設定:

<asp:HyperLink ID="HyperLink2" runat="server">NewWeb</asp:HyperLink>

4. 設定好的UserControl畫面如下:

clip_image004

5. 接著設定此兩個控制項的NavigateUrl屬性為WEB相對應的路徑:/_layouts/newsbweb.aspx,切換到UserControl程式碼畫面,設計以下程式:

clip_image005

6. 完成後部署至SharePoint 2010網站中,加入此網頁組件

clip_image006

7. 並點擊此連結即可進入新增網站的設定視窗,而不用透過Ribbon或是網站動作管理清單來新增網站了。

clip_image008

clip_image010