2

新しいアイテムがリストに追加された後、テンプレートに基づいて新しい SharePoint サイトを作成するにはどうすればよいですか。たとえば、プロジェクトに関する情報を含むリストを含む SharePoint サイト "A" があり、そのリストに新しいプロジェクトを追加するには、そのプロジェクトの新しい共有ポイント サイト (チームスペース) を自動的に作成する必要があります。

また、ワークフローを使用してこれを作成できるかどうか、またはワークフローで webservice(c#) を呼び出すことができるかどうかも知りたいです。

4

3 に答える 3

0

まず、Visual Studio を使用して sharepoint プロジェクトを作成する必要があります。そこに c# を記述できます。

C# でサイトを作成するには

 SPSite topLevelSite = new SPSite("http://localhost");
 SPWeb spWebInstance = topLevelSite.OpenWeb();
 String siteTemplate = spWebInstance.WebTemplate;
 try
 {
SharePointWebInstance.Webs.Add("the name", "name", "new site added",    (UInt32)System.Globalization.CultureInfo.CurrentCulture.LCID, siteTemplate, false, false);
  }
 catch(Exception ex)
 {
  //...
 }
 finally
 {
 topLevelSite.Close();
 SharePointWebInstance.Dispose();
 }

はじめに、sharepoint デザイナーのみを使用する場合は c# を使用できません。c# は Visual Studio で使用できます。

リストから何かを取得する

using Microsoft.SharePoint;  


class SPTest {  

public void ReadList() {  

// Use using to make sure resources are released properly  
using(SPSite oSite = new SPSite(pathToSite)) {  
using(SPWeb oWeb = oSite.AllWebs[nameOfWeb]) {   
  // Alternately you can use oSite.RootWeb if you want to access the main site  

  SPList oList = oWeb.Lists[listName];  // The display name, ie. "Calendar"  

  foreach(SPListItem oItem in oList.Items) {  
    // Access each item in the list...  
    DateTime startTime = (DateTime)oItem["Start Time"];  
    // etc....  
  }  

  }  
  }  
  }  
  } 

始めるために、YouTube を使用して、sharepoint と Visual Studio を一緒に使用する方法を確認することをお勧めします。または、本からではなくインターネットから取得した上記の Microsoft 公式コース 10175A (私が行った) コードに従うことをお勧めします。

一部のJavaコードはajaxなどで非常に強力ですが、通常のワークフローやjavascriptでこれを行うことは可能だとは思いません。したがって、ビジュアルスタジオ内でこれを理解するのに時間を費やす必要があります。(c# はそれほど難しくありません。時間をかけてください)

ああ、2007 を使用しているのがわかります。プログラミングの観点からは使いにくいです。このコードが機能しない場合でも、まだ実行できる方法に近いと思います。オブジェクトとそれを使用して行うことを確認してください。わずかに異なる場合があります。 .

于 2012-11-06T18:26:28.253 に答える
0

ワークフローでこれを行うことができるかもしれませんが、私はそれを本当に疑っています。少なくとも、特に簡単ではありません。

リストにイベント レシーバーを追加することをお勧めします。これは、このモデルに従う必要があったときに何度か実行したことであり、私にとっては非常に成功しています。

リストに ItemCreated (または必要に応じて ItemCreating) ハンドラーをアタッチして、アイテムがリストに追加されたときにテンプレートに基づいてサイトを作成できます。また、新しいサイトの構成を行うオプションもあります (おそらくに基づいて)作成したリスト項目の値)。機能のステープルを使用して構成することもできますが、特に新しく作成されたアイテムの値を調べる必要がある場合は、あまり便利ではありません。

親リストのアイテムの編集が子リストに影響を与える必要がある場合は、ItemUpdated (または Updating) イベントを処理することもできます。サブサイトを削除する必要がある場合は、ItemDeleted (または Deleting) を処理することもできます。

于 2012-11-06T16:36:22.930 に答える
-1

本当にたくさんのサイトを作成しますか? それは私がお勧めするものではありません.つまり、2年後に自分が取り組む管理タスクを考えてみてください.

可能であれば、すべてのプロジェクトに対して 1 つのサイトを検討する必要があると思いますが、それでも良い面で権利などを調整することができます。一般的に、人々は 1 つのサイト内で物事を見つけやすくなります。

ほんの数ドルで、プロジェクトベースのシットに対処しなければならず、悪夢であることがわかりました。でも、もしあなたが好きなら、私はあなたを止めません。

于 2012-11-06T16:30:38.940 に答える