2016-09-29 56 views
1

プラグイン経由でCKANのカスタマイズを行う場合、妥当な量の開発を開始します。CKANプラグインを開発するための開発者環境

CKANのプラグインを開発するときに人々が使用するCKAN開発者の推奨事項、ヒント、ヒント、または秘訣はありますか?我々は特に、ヘルプの探している

物事は次のとおりです(PyCharmのような)IDEで開発を行うと、我々が持っているだろう、リモートベイグラントVM(に我々のコードを展開/移動する方法について

提言ckanの実行インスタンス)。

WSGIを使用したリモートVagrant VMインスタンスでのデバッグはどのように機能しますか?誰かがPyCharmのようなIDEとWSGIを使ってリモートデバッグをしますか?

次に、ほとんどのCKAN開発者はどのようにプログラミングを行っていますか?彼らはViを使いますか?彼らはローカルマシン上でckanで開発を行っていますか?彼らは(Vagrant/VirtualBoxのような)リモートVMを使用していますか?

CKANプラグインの開発方法を探してみましたが、現時点で有用な情報を見つけることができず、友好的な勧告をいただければ幸いです。

答えて

1

私はckanコミュニティで最も一般的な方法は、vimなどの単純なテキストエディタを使用してコードを編集することだと思います。私は個人的にはSublimeを使用していますが、これはコードを検索してナビゲートするためにvimよりも簡単ですが、誰もが自分の好みを持っています。

シンセティックvimプラグインは、コードがPEP8に準拠していることを確認し、テキストを79文字幅にするなど、ckan開発者に人気があります。しかし、ほとんどのエディタはこの種のプラグインを持っています。

これは、pdbを使ったデバッグに慣れるのに非常に役立ちます - これはckanの最も一般的なオプションのようです。それはすぐに学び、常に働きます。私は何年か前にいくつかのPython IDEデバッガを試してみたところ、信頼性が低いと判断しましたが、今はこれがソートされています。

ウェブ例外を処理するために、ckan iniファイルのデバッグモードをオンにしますが、コマンドラインでckanを呼び出すときにオフにすることがあります。デバッグAPI呼び出し。

ckanを実行するには、linuxマシンかvagrant/Virtual Box Linuxのいずれかを使用します。

ああ、私は完全な開発がCKANのインストール「内の」ローカル開発;-)

2

来週CkanConに来ます。リモートプロダクションサーバ(VM内では、それは関係ないと思います)にデプロイするために、このサーバには適切なCKANと各エクステンションのための裸のgit repoがあります。これらのreposのいずれかを押すと、HEADを /usr/lib/ckan/default/src /にチェックアウトし、apache2を再起動するポスト受信フックがトリガされます。

これは、すばやく展開してコードを同期させ、ロールバックするのに非常にうまく機能します。

この設定には、開発インストールを実働インストール(DB、FileStore、SOLR索引付け)と時々同期させるための小さなスクリプトが追加されています。

個人的には私はEmacsを使用していますが、これはコードを検索してナビゲートするためにvimよりも簡単ですが、誰もが味わうことができます。