問題タブ [etherpad]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Node.js: プロキシから etherpad への URL 書き換えに高速ルートを使用する
スタックオーバーフローに関する私の最初の質問;)。
私がやろうとしていること: 高速ルート「/pad/*」を使用して、etherpads (etherpad lite) を表示し、ユーザーに表示されるパッドを操作したいと考えています。したがって、「/pad/p/something」を取得すると、「something」が処理され、実際の ID (「XYZ」など) に応じて変更されます。したがって、ユーザーは正しいパッドを編集できます。ただし、etherpad には多くの静的なものと websocket が必要なため、必要に応じてプロキシし、ID を操作したいと考えています。
最小限の作業例: もちろん、ID 変更の実際のロジックははるかに複雑ですが、最小限の作業例では、すべてのパッド ID が "a" にマップされるロジックを使用します。
私はこれを思いついた:
問題: URL が変更され、プロキシが実際に機能する ... のようなもの。すべての URL は、パッド、静的なもの、および Websocket で機能するすべての URL の先頭にある「/pad」を削除するようにマップされます。しかし、パッド ID のマッピングは機能しません。「localhost:3000/pad/p/a」を見ると、「a」パッドが見えます。「localhost:3000/pad/p/b」を見ると、「b」パッドが表示されますが、これは私が意図したものではありません:/。
私は何を間違っていますか?これは node-http-proxy、express、または etterpad-lite の問題ですか?
どんなヒントでも大歓迎です
python - EtherPad lite の python ラッパーを使用する
PyEtherpadLite 経由でEtherpad lite/beta API を使用しようとしています。
私の質問は、API キーはどこにありますか? ドキュメントに従って、API キーはクライアント フォルダーのベース ディレクトリにある .txt ファイルに保存されます。しかし、私の実際の質問は、誰かがホストしている API を介してこのパッドにアクセスしたいということです。それでは、APIキーはどこにありますか?
別のブログで、 https: //beta.etherpad.org/ の Api キーが EtherpadFTW であることを発見しました。しかし、それは機能していないようです。API キーの応答がないか、間違っています。
service - debian での Etherpad サービスが起動時に開始されない
Debian 7.6 サーバーをセットアップしています。etherpad (etherpad-lite) をインストールし、nginx Web サーバーの背後に配置しました。etherpad は mySQL を使用します。これはすべて期待どおりに機能しています。
ここで、etherpad をサービスとして実行したいと考えています。だから私はこのチュートリアルが言うことをしました:
https://www.rosehosting.com/blog/install-etherpad-lite-on-debian-wheezy/
コードを次のスクリプトに入れました。
それに応じてパスを変更しました。これはうまくいきます!使用してetherpadを開始および停止できます
今、これを起動時に開始したいと思います。rcx.d フォルダーにシンボリック リンクを配置しました。
etherpad が必要とする MySQL は S19mysql と同様に起動します。etherpad init スクリプトで、依存関係を追加しました。
# Required-Start: $local_fs $remote_fs $network $mysql $nginx
ただし、再起動後にサービスが開始されません。私はまだ手動で開始する必要があります(これでうまくいきます!)。ログファイル dmesg または etherpad ログに出力が見つかりません。
ここで問題を見つける方法はありますか?どのログ ファイルを調べる必要がありますか? スクリプトは機能するのに、サービスが開始されない場合、どのような問題が発生する可能性がありますか?
S24etherpad のように、開始順序にもより高い数字を使用しようとしました。
ありがとうございました!
etherpad - Etherpad サーバーのインストール
Linux サーバーに etherpad インストールを展開しようとしています。ただし、etherpad がドキュメントをサーバーに保存できるようにする方法が見つかりません。サーバー上の特定のディレクトリに .txt ファイルとして使用できるように、etherpad で編集したテキスト ファイルを保存したいと考えています。
どうすればこれを行うことができるかについての提案はありますか? これに役立つオンラインのドキュメントがあまり見つからなかったため、これに頼っています。
java - Etherpad への Java Swing フロントエンド
Etherpad の機能を Java Swing アプリケーションに実装しようとしています。Etherpad の HTTP API にアクセスするための Java ライブラリがありますが、パッド テキスト全体の取得/設定のみをサポートしているようです。すべてのユーザーが編集中に互いの変更をリアルタイムで確認できる、Java でのプレーン テキストのライブ マルチユーザー編集が必要です。誰かが私を正しい方向に向けることができますか?
javascript - 複数のJavaScriptライブラリをブラウザで一度だけロードする方法は?
Web ページに iFrame として複数の Etherpad インスタンスがあります。Etherpad の ep_tables プラグインは、YUI ライブラリ (約 12 の異なる JS ファイル) を使用します。これらの YUI ファイルは、etherpad インスタンスごとに読み込まれるため、サイトの読み込みに多くの時間がかかります。
状況は次のとおりです。これらの YUI ファイルを最初の etherpad インスタンスに対して 1 回だけロードし、残りのインスタンスは YUI ファイルをロードせず、すでにロードされている YUI ファイルを何らかの方法で使用したいのですが、どうすればこれを達成できますか?
PS: すべての etherpad インスタンスは iFrame であり、YUI ライブラリはその iFrame 内の html の一部です。
containers - Bluemix コンテナーを実行できません テナント ネットワークがありません
私はetherpadのチュートリアルに従っています。
ubuntuでコンテナを作成し、ローカルで実行しました。bluemixへのプッシュは機能しました。しかし、Bluemixでコンテナーを実行しようとすると、次のエラーが発生します。
申し訳ありませんが、こちらでエラーが発生しました: ネットワークを作成できません。割り当て可能なテナント ネットワークがありません。[インシデント ID e1d83d17ff51f0ae]
これは一時的な失敗ですか、それとも私のせいですか?
次のコマンドを実行しました
javascript - Etherpad プラグインでクリック イベントをキャッチする方法
テキスト編集中に特別なオートコンプリートを提供する etherpad プラグインに取り組んでいます。このためには、ユーザーのキャレットがどこにあるかを知る必要があります。ただし、適切なフックが見つからなかったため、ユーザーがマウスクリックでキャレットを移動するかどうかはわかりません。
この問題を解決する最初のステップとして、マウス クリック イベントをキャッチしたいと思います。(クリックイベントをキャッチできたとしても、キャレットの位置を見つける方法はまだわかりませんが、少なくともそれをいつ処理するかはわかります。)助けていただければ幸いです。
javascript - キーを押した直後にEtherpadのキャレット位置を決定する方法は?
私は、書き込み中に特別なオートコンプリートを提供する Etherpad-lite プラグインに取り組んでいます。ユーザーが書いたときにオートコンプリート項目のリストを更新しようとしています。私の問題は、aceEditEvent の context.rep.selStart と context.rep.selEnd のキャレット位置が、キーを押した後の最初の idleWorkTimer イベントでのみ更新されることです。これには、この目的のために大きな待ち時間があります。
aceEditEvent のイベントは次のように発生します。
- handleKeyEvent - すぐに来ます (キーダウンの場合だと思います)。content.rep はキーストロークの前に選択されます
- handleKeyEvent - すぐに来ます (キープレスの場合だと思います)。content.rep はキーストロークの前に選択を行います
- handleKeyEvent - すぐに来ます (キーアップの場合だと思います)。content.rep はキーストロークの前に選択を行います
- idleWorkTimer - 最大 1 秒のレイテンシがあり、content.rep はキーストローク後に選択を行います
では、待ち時間なしで新しいキャレット位置を取得するにはどうすればよいでしょうか?