web-dev-qa-db-ja.com

Drupal Commons 6.25でOGにプログラムで新しいグループを割り当て/追加する方法

Drupal Commons 6.25で、Organic Groupsにプログラムで新しいグループを追加する方法は?約3000グループに対してそれを行う必要があります。50を生成する予備テストサイクルが最初のステップになります。

どの方法が望ましいですか?

ちなみに、画像はsites/default/files/imagecache/group_images_medium/group_imagesに保存されています。

発生する質問

  • 画像、および対応するパスはデータベースのどこかで参照されていますか?
  • 画像の一括アップロードを行うにはどうすればよいですか。それ以外に、グループの一括作成を行うことはできますか
  • OGのテーブルのどのテーブルが必要ですか?
  • 「og」テーブル自体を取るだけで十分ですか?

PS: Drupal 6のコメントを含む進行中の試みは、ここで見ることができます: http://drupal.org/node/79874

1
zero

私はog_massaddの作成者です(残念ながら、現在はバグが多いため)、そのモジュールはOGにユーザーを追加するためのものです。しかし、私があなたを正しく理解していれば、実際の有機グループを作成したいですか?

PhpMyAdminを使用してこれを行うと、おそらく非常に面倒になります。ノード、リビジョン、すべてのCCKテーブル(グループノードにCCKフィールドがある場合)、og、og_uid(グループメンバーシップの場合)、最低でもレコードを追加する必要があります。グループにコンテンツを追加するには、ノード、リビジョン(必要に応じてCCKテーブル)、およびog_ancestryに追加する必要があります。

プログラムでグループを作成する方が少し簡単です。

$groupnode = new stdClass();
$groupnode->type = 'gruppe'; // Group node type
$groupnode->status = 1;
$groupnode->uid = $owner_uid;
$groupnode->title = $title;
$groupnode->body = $body;
$groupnode->og_selective = $group_acces_level;
$groupnode->og_register = OG_REGISTRATION_NEVER;
$groupnode->og_directory = OG_DIRECTORY_CHOOSE_FALSE;
$groupnode->og_private = variable_get('og_private_groups', OG_PRIVATE_GROUPS_CHOOSE_FALSE);
$groupnode->{_integration_cGroupType}[0]['value'] = $cGroupType_content; // CCK field

node_save($groupnode);

if ($groupnode->nid) {
  og_insert_group($groupnode);

  // Set space (if spaces_og is used)
  //$ogspace = spaces_load('og', $groupnode->nid, TRUE);
  //$ogspace->controllers->variable->set('spaces_preset_og', $spacepreset);

  og_save_subscription($groupnode->nid, $owner_uid, array('is_active' => 1, 'is_admin' => 1));
} else {
  dpm('OG creation failed :(');
}
2
Fuzzy76