zoukankan      html  css  js  c++  java
  • Custom Actions in WSS 3 / MOSS 2007 Part 1

    Custom Actions in WSS 3 / MOSS 2007 - Part 1

    Something that really frustrates my about WSS 3 and MOSS 2007 is the lack of documentation on alot of the object model as well as some of the CAML. One of the areas that really wasn't very helpful at all was the section on custom actions, so I thought I would write this post.

    To begin with, just a quick introduction...custom actions in SharePoint simply refer to the buttons (such as in the "Site Actions" menu) and some of the menus across the site (such as in "Site Settings"). The best way to deploy these custom actions is definitley through a Feature. This post will show the simple way to display these custom actions. In the next post I will show how to use custom controls for the menu buttons.

    Anyways, onto the code (or XML in this case)!

    In the first example, I will create a custom action for the "Site Actions" menu.
    To do this (and for the sake of the rest of the examples) we will begin with creating our feature manifest. Here it is:


    <?xml version="1.0" encoding="utf-8"?>
    <Feature Id="65245A4A-5D65-45ea-896F-6A6A808F3C80"
    Title="MyCustomActionFeature"
    Description="This feature adds custom actions"
    Version="1.0.0.0"
    Scope="Site"
    xmlns="http://schemas.microsoft.com/sharepoint/">
    <ElementManifests>
    <ElementManifest Location="MyCustomActions.xml"/>
    </ElementManifests>
    </Feature>

    Here is what the MyCustomActions.xml file looks like to add an extra item to the Site Actions menu (Note that in most of the examples below, I have just left the Url blank because these are just examples, but this would be where you put the Url of where you want to link to):


    <?xml version="1.0" encoding="utf-8" ?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction
    Id="PeopleAndGroupsAction"
    GroupId="SiteActions"
    Location="Microsoft.SharePoint.StandardMenu"
    Sequence="10"
    Title="People and Groups"
    ImageUrl="/_layouts/images/Actionscreate.gif">
    <UrlAction
    Url="/_layouts/people.aspx" />
    </CustomAction>
    </Elements>

    Here is what the MyCustomActions.xml file looks like to add another custom actions menu item to the Actions menu of a list or document library.


    <?xml version="1.0" encoding="utf-8" ?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction
    Id="MyListActionsCustomAction"
    GroupId="ActionsMenu"
    Location="Microsoft.SharePoint.StandardMenu"
    RegistrationType="List"
    Sequence="10"
    Title="My Actions Custom Action">
    <UrlAction
    Url="~site" />
    </CustomAction>
    </Elements>

    Here is what the MyCustomActions.xml file looks like to add another section to the Site Settings page.


    <?xml version="1.0" encoding="utf-8" ?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomActionGroup
    Id="NewSiteSettingsGroup"
    Location="Microsoft.SharePoint.SiteSettings"
    Title="New Site Settings Group"
    Sequence="10"
    Description="" />
    <CustomAction
    Id="NewSiteSettingsGroupItem"
    GroupId="NewSiteSettingsGroup"
    Location="Microsoft.SharePoint.SiteSettings"
    Sequence="10"
    Title="My New Site Settings Item">
    <UrlAction
    Url="~site" />
    </CustomAction>
    </Elements>

    Here is what the MyCustomActions.xml file looks like to add another section and custom action to the Central Administration page.


    <?xml version="1.0" encoding="utf-8" ?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomActionGroup
    Id="CustomCentralAdminSection"
    Location="Microsoft.SharePoint.Administration.ApplicationManagement"
    Title="Custom Central Admin Section"
    Sequence="10" />
    <CustomAction
    Id="DoSomethingInCentralAdmin"
    GroupId="CustomCentralAdminSection"
    Location="Microsoft.SharePoint.Administration.ApplicationManagement"
    Sequence="10"
    Title="Do Something In Central Admin">
    <UrlAction
    Url="" />
    </CustomAction>
    </Elements>

    As you can see, adding these actions is very easy. If you want to add a group like in the Site Settings and Central Admin examples, all you have to do is add the CustomActionGroup element and then use that ID for the GroupID in your CustomAction element.

    There are also attributes such as RequiresSiteAdministrator and Rights which all some security trimming.

    Also, if you are trying to find the appropriate value for the Location attribute, or GroupID attribute, there are a few listed in the SDK documentation. If you want more, you can simply look/search through the "Features" directory (%Program Files%\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\) for the CustomActions written by Microsoft. After all, they used the same method Ive shown above for alot of the menus and buttons you see.

    Anyway, I hope you have got the idea of custom actions. In one of the posts I have coming up I will show how to use custom controls (and hence use the ControlAssembly and ControlClass attributes) to render your custom actions.

  • 相关阅读:
    Pet Shop 4.0 详细解析(转) 沧海一粟
    如何制作Bat批处理文件 沧海一粟
    iOS开发Icon图标设置 (转) 沧海一粟
    Android金背大刀之ToggleButton之稍息立正
    Android碧水剑之DatePickerDialog、TimePickerDialog之岁月如梭
    平衡边界作业算法并发仿真测试基于三层架构的Web系统的基准性能
    Android鸳鸯刀之DatePicker、TimePicker之明年今日
    Android应用性能优化整体策略
    Android应用开发之性能测试之TraceView
    平衡边界作业算法并发仿真测试网络存储系统的响应时间
  • 原文地址:https://www.cnblogs.com/icedog/p/1772526.html
Copyright © 2011-2022 走看看