質問

私はSharepoint(2007)がまったく初めてなので、ご容赦ください。新しいサイトが作成されたときに、aspxページを自動的に作成したいと思います。これらのページは、マスターページによって定義されるタブを介してリンクされます。カスタムサイト定義がなく、機能のホチキス止めをそのまま使用できる空白のサイト定義に適用することを計画していました。

調査を通じて、Webパーツページを作成し、これを機能に変えることができると思います。次に、これを空白のサイト定義にステープルで留めます。問題は、これを行う方法に関する情報が見つからないことです。したがって、私が持っている2つの質問は次のとおりです。

  1. aspxページだけの機能を作成するにはどうすればよいですか
  2. この機能を空白のサイト定義にステープル留めするにはどうすればよいですか

ここで同じ質問をしている人が1人見つかりました: Webパーツページをサイト定義に追加する方法 最初の回答を読みましたが、それは頭に浮かぶものであり、本当に質問に答えているかどうかわかりません。

どうもありがとう!

役に立ちましたか?

解決

最初の質問に対する答えは、アプリケーションページコンテンツページのどちらを意味するかによって異なります。それらにはそれぞれ利点があります:アプリケーションページはカスタムサーバー側コードを実行できるという点で優れており、コンテンツページは(たとえば)ユーザーがカスタマイズできるため優れていますが、デフォルトではどのような種類のコードに制限されています実行します。

機能と制限の2つのタイプの違いに関する非常に良い議論については、Windows SharePoint Services SDKを確認し、" アプリケーション_layoutsページタイプ"および" コンテンツページタイプ。"

ステープリングに関しては、サイト定義のonet.xmlファイルに新しい機能を追加するよりもかなり簡単で柔軟性があります。この記事は、代替案のかなり良い概要のようです。ただし、空のサイト定義のコピーを作成し、名前を変更してから、それを作業で使用することもできます。

コンテンツページの機能

これには3つのタイプのものが必要です:

  1. feature.xmlファイル-要素マニフェストを参照する定型的なもの。
  2. ページテンプレート-これはaspxページ全体の場合もあれば、(たとえば) WebPartZones が定義されているが実際のWebパーツのないWebパーツページのシェルの場合もあります(まだ) 。
  3. ページテンプレートを参照し、機能のアクティベーションの一部としてプロビジョニングする必要のあるWebパーツを定義する要素マニフェストファイル。

機能のフォルダー構造は次のようになります。

12
+-- TEMPLATES
    +-- FEATURES
        +-- YourFeature
            +-- PageTemplates
            |   +-- Page.aspx (simple aspx page)
            |   +-- WebPartPage.aspx (still simple, but with WebPartZones)
            +-- feature.xml
            +-- elements.xml

Feature.xml:

<Feature 
  Id="CFF117BC-9685-4a7b-88D0-523D9DAD21F0"
  Title="Custom Pages Feature"
  Scope="Web"
  xmlns="http://schemas.microsoft.com/sharepoint/">
  <ElementManifests>
    <ElementManifest Location="elements.xml"/>
  </ElementManifests>
</Feature>

Elements.xml

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Path="PageTemplates" Url="Pages" >
    <File Url="Page.aspx" Type="Ghostable" />
    <File Url="WebPartPage.aspx" Name="WebPartPage.aspx" Type="Ghostable" >
      <AllUsersWebPart WebPartZoneID="Left" WebPartOrder="0">
        <![CDATA[         
            <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2"
                     xmlns:cewp="http://schemas.microsoft.com/WebPart/v2/ContentEditor">
                <Assembly>Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
                <TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
                <Title>Some content that you want to provision with the feature</Title>
                <FrameType>TitleBarOnly</FrameType>
                <cewp:Content>
                  Hello world.
                </cewp:Content>
            </WebPart>
        ]]>
      </AllUsersWebPart>
    </File>
  </Module>
</Elements>

Page.aspx

<%@ Page MasterPageFile="~masterurl/default.master" 
    meta:progid="SharePoint.WebPartPage.Document"  %>
<asp:Content runat="server" ContentPlaceHolderID="PlaceHolderMain">
  Hello World
</asp:Content>

WebPartPage.aspx

<%@ Page Language="C#" MasterPageFile="~masterurl/default.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" meta:progid="SharePoint.WebPartPage.Document"   %>

<%@ Register Tagprefix="WebPartPages" 
             Namespace="Microsoft.SharePoint.WebPartPages" 
             Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<asp:Content ID="main" runat="server" ContentPlaceHolderID="PlaceHolderMain" >

<table width="100%">
  <tr>
    <td valign="top" style="width:50%">
        <WebPartPages:WebPartZone ID="Left" runat="server" 
                      FrameType="TitleBarOnly" Title="Left Web Part Zone" />
    </td>
    <td valign="top" style="width:50%">
        <WebPartPages:WebPartZone ID="Right" runat="server" 
                     FrameType="TitleBarOnly" Title="Right Web Part Zone" />        
    </td>
  </tr>
</table>

</asp:Content>

そのように機能を設定すると、その構造内にサイトコンテンツページを展開できるはずです。

また、Ted Pattisonの Inside Windows SharePoint Services ブックを強くお勧めします。このトピックは、サイトコンテンツページの重要なセキュリティの側面など、詳細に説明されています。購入価格に見合うだけの価値があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top