タグによる閲覧
すべてのタグ »
開発 (RSS)
フィルターするタグはこれ以上ありません。
SharePointの拡張機能を開発した場合、開発したDLLはGACかInetpub/wwwroot/wss/VirtualDirectories/ ポート番号 /binフォルダに配置することになります。 GACであれば特にアクセス権は気にしなくてもよいですが、binフォルダに配置するときはアクセス権に注意する必要があります。 アクセス権が違うと、ページ表示時にアセンブリがロードできず、アクセスが拒否されたというエラーメッセージが表示されます。 binフォルダにDLLを配置する際には、配置したDLLのアクセス権とbinフォルダのアクセス権が以下のとおりになっているか確認してください。
続きを読む
FeatureのScopeには、Farm、WebApplication、Site、Webの4つを指定することができます。 Featureに含まれるElementには、CustomActionやReceiverなどを指定することができます。 が、ScopeとElementには可能な組み合わせと不可能な組み合わせがあります。 その組み合わせの一覧がSDKに載っていました。 Elements by Scope http://msdn2.microsoft.com/en-us/library/ms454835.aspx
続きを読む
先日、とある方から聞いて実験して初めて知りました。 コンテンツタイプはリストごとにインスタンスが作られているのです。 何を言っているかというと、リストごとにコンテンツタイプのIDが異なっているわけです。 たとえば、「お知らせ」というデフォルトで存在するコンテンツタイプがありますが、これのIDは「0x0104」。 お知らせリストを2つ作り、リストの詳細設定で「コンテンツタイプの管理を許可する」を「はい」にチェックし、それぞれのコンテンツタイプの設定ページで、URLに表示されるctypeパラメータを見てみると・・・
続きを読む
タイトル長いですが、そのとおりの内容です。 見つけたので( ..)φメモメモ Adding a custom action to the MOSS expiration policy 今度やってみよ。
続きを読む
以前にカスタムアクションの追加方法について レポート をしました。 その時には、CustomActionのXMLに、追加するメニューの情報(タイトルや遷移先など)を書くようになっていました。 また、遷移先ページにはListIdやItemIdなど、決められた情報だけが渡るようになっていました。 大概の場合はこれでも問題ないでしょうが、時には遷移先を何かの条件によって変更したり、デフォルトでは提供されない情報を遷移先に渡したりしたいということが発生すると思います。 そんな時に備えて、SharePointには実行時にメニューを追加する方法も用意されています。
続きを読む
ItemAddedイベントやItemUpdatedイベントなどのAfter系イベントでListItem.Updateメソッドを実行すると、ItemUpdatingイベントとItemUpdatedイベントまで実行されてしまいます。 ListItem.Updateメソッドを呼び出したんだから、当たり前といえばそれまでですが、呼び出されては困る場面だってあるわけです。 そんな時は DisableEventFiring メソッドを使います。 このメソッドを実行するとイベントが再帰的に呼び出されるのを防ぐことができます。
続きを読む
SPItemEventReceiverクラスのItemAddingイベントの引数には、 SPItemEventProperties 型のpropertiesがあります。 propertiesにはListItemプロパティがあり、このプロパティからListItemにアクセスできるわけですが、ItemAddingイベントではこのプロパティがnullになっており、ListItemにアクセスできません。 これはおそらく、このタイミングではまだListItemがDBに登録されていないからだと思います。 しかし、ItemAddingイベントでListItemにアクセスできないとなると、高度な入力チェックを行ったり、登録されようとしている値をもとに計算をして、列に値をセットするといったことができなくなってしまいます。
続きを読む
前に紹介した、本家のサイトに載っている以下のドキュメントを読みました。 Best Practices: Using Disposable Windows SharePoint Services Objects ざっくり内容をまとめると、タイトルの通り、 SPSiteとSPWebを使用し終わったらDisposeする必要がある ということでした。 SPSiteなんかはmanage dataよりもunmanage dataのほうが大きかったりするようで、Disposeは欠かせないようです。 気をつけないといけないのは、SPSite.AddメソッドやSPSite.AllWebsプロパティ、SPWeb.Websプロパティなどから返ってくるSPSiteやSPWebについても、きちんとDisposeしないといけないということです。
続きを読む
独自のリストテンプレートタイプを作成するということは、独自のリスト定義を作成することであるということが、 前の調査 でわかりました。 ということで、今日は独自のリスト定義を作る方法を調べてみます。 リスト定義は、Visual Studio 2005 にSharePoint用のExtensionを追加することで簡単に作成できるようになります。 まずはこの記事「 SharePoint用の開発環境に必要なもの 」を見て、環境を整えましょう。 環境ができたらリスト定義を作ります! 1.List Definitionプロジェクトを作成
続きを読む
カスタムアクションを特定のリストだけに追加する方法 で書いたとおり、カスタムアクションを特定のリストだけに追加するには、そのリスト用のリストテンプレートタイプを追加しなければいけません。 ということで、独自のリストテンプレートタイプを追加する方法を調べてみました。 リストテンプレートといえば、リストの設定ページの「リストをテンプレートとして保存」が真先に思い浮かびます。 試しに「お知らせ」からリストを作成し、特に何も変更しないまま「リストをテンプレートとして保存」をしてみます。 このリストテンプレートは「お知らせカスタム」と名付けましょう。
続きを読む
本家のSDKに、SharePoint開発のベストプラクティスということで、2本記事がアップされています。 まだ全部は読んでいないですが、誰もが気になるパフォーマンスのこととか、Disposeのこととかが書かれています。 SharePointで本格的に開発をする上で、ざっとでも目を通しておくほうがよさそうです。 Best Practices: Common Coding Issues When Using the SharePoint Object Model Best Practices: Using
続きを読む
今回は特定のリストだけにカスタムアクションを追加する方法を調べてみます。 と、いきたいところだったのですが、SharePoint 2007は、厳密に言うと特定のリストだけにカスタムアクションを追加することはできないようです。 追加できる単位は、リストテンプレートのタイプ毎になります。 (実際はコンテンツタイプとかファイルタイプとか、その他の単位でも付けられますが、それでもリスト毎というのはできないようです。) リストテンプレートのタイプを指定してカスタムアクションを追加するには、以下のようにXMLを記述します。
続きを読む
これまでカスタムアクションの設定について色々と試してきましたが、今日はカスタムアクションが実行されたときに動作するプログラムの記述方法について調べてみました。 カスタムアクションがクリックされたときに動作するプログラムは、カスタムアクションをSharePointに登録するときに書くXMLで指定します。 具体的には、UrlActionタグのUrl属性になります。 <CustomAction Id="OriversCustomActionDisplayFormToolbar" Location="DisplayFormToolbar"
続きを読む
カスタムアクションを使うと、SharePointに様々な機能を組み込むことができるようになりとても便利ですが、機能によっては特定の権限を持つユーザーにだけ使わせたいといったことが出てくると思います。 そんな場合にどうすればよいのか、調べてみました。 カスタムアクションの定義で、カスタムアクションの使用を許可する権限をRights属性に指定します。 例えば、アイテムの追加権限を持っている場合だけカスタムアクションを使用できるようにするには、以下のような定義を書きます。 <CustomAction
続きを読む
カスタムアクションを作成してSharePointに登録することで、リストのツールバーやサイトの操作のプルダウンメニューなどに、独自のメニューを追加することができます。 SDKにカスタムアクションを追加できる場所の一覧表があります。 http://msdn2.microsoft.com/ja-jp/library/ms473643.aspx SDKをもとに試してみると若干違っているところとかがあったりしたので(07/08/06時点)、訂正も兼ねて、ここにカスタムアクションを追加するためのXMLと追加後のイメージを載せておきます。
続きを読む