2011-02-01 8 views
1

私はDrupal 7のウェブサイトを設定しています。現在のところ、Webサイトは、私が完全に制御できるVM内(正確には、UbuntuベースのBitnamiアプライアンス)で動作しています。PerlやJavaを使ってDrupalサイトにコンテンツを投稿する方法はありますか?

一部のコンテンツは承認されたユーザーによって通常の方法で追加されますが、それは問題ありません。定期的に追加する必要のあるコンテンツは、Perl/Java/Groovyプログラムで実際にうまく送信できます。それは、他の場所からファイルを取得し、コンテンツをフォーマットし、ウェブサイト内の明確な場所(特定の「書籍」など)に投稿することを含みます。

私は夕方、私にリードを与えることができる何かを探していましたが、本当に説得力のあるものは何も見つかりませんでした。私はBlog API moduleがほとんど私が探していたが、かなりではないことを発見した。コメントの1つは、XML-RPCを使用してノードを追加できるようにする "サービス"モジュールの使用について語っています。

そのような(単純な?)タスクのすべてはありますか?このプロセスを簡単にするためにPerlモジュールやJavaライブラリを知っている人はいますか?私は自分の袖を巻いて、そのためのGroovyスクリプトを書いてみるべきですか?

どのようなアイデアも大歓迎です!

+1

BlogAPIモジュールやサービスモジュールなどのXML-RPCソルーションは、なぜ機能しませんか? –

+0

あなたの提案をお寄せいただきありがとうございますが、どういうわけか、BlogAPIは実際にはいくらか「制限された」ようです。あなたはGoogle Data APIに準拠するか、別のウェブサイトのコンテンツを投稿するかのいずれかで、問題を別の方向に押し込むだけです...しかし、おそらく私は間違っています! – jprobichaud

答えて

0

Groovyを使用したい場合のオプションはSeleniumです。これをGroovyから使用して、基本的なWeb UIテストを作成しました。これはうまくいきます。また、Drupalサイトのフォームに記入することもできます。 WWW :: Mechanizeで見つけられなかった素晴らしい機能の1つは、Firefoxを使ってテストを作成するためのベースとして使用するアクションを記録する機能です。詳細はSelenium IDEのページをご覧ください。注意すべきことの1つは、現行のGAバージョンのSeleniumが実際のブラウザを駆動する必要があるため、GUIなしでサーバ上で動作しないことです。 Selenium 2.0ベータ版では、この制限を回避するブラウザとしてHTML Unitを使用できます。

+0

それは**非常に興味深い**です!残念ながら、Seleniumは、Drupal 7がコンテンツを追加する際に使用するJavaスクリプト形式によって少し混乱しているようです。私はDrupalとSeleniomの両方を騙して基本的な追加を行いました。「コンテンツを追加する」の代わりに「http:// localhost/drupal /?q = node/add/article」に行くように「開く」コマンドを強制しました。 >記事のリンクを参照してください。groovyコードへの変換は絶対に素晴らしいです! – jprobichaud

3

これは、PerlのWWW::Mechanizeスクリプトではかなり簡単な作業です。

+0

ありがとう、私は "WWW :: Mechanizeでコンテンツを作成する"ためにWebを検索し、 "ノード、ユーザー、分類用語または単純なデータベースレコードとしてデータをインポートまたは集計する" Fields "Drupalモジュールを見つけることになりました。私は "Fields"とWWW :: Mechanizeを組み合わせると、私が望むところに到達することができると思います。ありがとう! – jprobichaud

関連する問題