Jump to content
Sign in to follow this  
KSasaki

windows ENScript.exe createNote で /a のファイル添付ができない

Recommended Posts

Evernote 4になってからできなくなったようなんですが、Evernote 3.5の頃は出来ていた

ENScript.exe createNote /a によるファイル添付が出来なくなっています。

使っているバージョンは4.2.1.3716 ですが、4になった頃からずっと使えません。

具体的には次のような症状です。

ENScript.exe createNote /a AAA.JPG とすると一端デフォルトノートブック内にノートが作成されます。

その後、同期が動いた直後に Unsynced Notes のノートブックに移動して同期失敗と言われます。

ノート自体は一端作られるようなので根本的にNGというわけではなさそうです。

Unsynced Notesに移動したノートは壊れているわけではなく、添付した AAA.JPGも正常に見られます。

Activity Log に気になるエラーが1行ありましたので添付します。

16:00:03 [1324] 75% EDAMUserException: errorCode=ENML_VALIDATION parameter="Document is invalid: no grammar found."

この ENML_VALIDATION というエラーコードからすると Evernote XML ファイルに何か間違ったタグを打ち込んでいるのではないかと思うのですが、どれかは分かりません。

Share this post


Link to post

ENScript の /a 問題はだいぶ前に Evernote 社に質問を投げているのだが、あまり真面目にとりあってくれない。

でも実はとても重要な機能なはずです。

ENScript createNote /s ABC.txt /i TITLE /a XYZ.jpg /c "YYYY/MM/DD HH:mm:ss"

という具合に記述できる仕様で、これができると、映像や PDFファイルを Evernote に投入する事が半自動化できるわけです。

Evernote の検索エンジンが優れていることは Evernoteを選んだ多くのユーザーが100も承知のはず。

ところが ENScript のこのバグは、/a による画像、PDFの登録をできなくしています。

ちなみに Version 3.5 の頃はちゃんと動作していました。非常に快適にノートを作成できていたのですが、

Version 4 になってから出来なくなっています。

これは Evernote 社も認識しているはずで、もし意図して /a オプションを使えなくしているのだとしたらプログラムを作って

登録できるようにするしかなさそうです。

Share this post


Link to post

もしかすると原因がわかったかも知れません。

以下、あくまで想像で精査したわけではありませんのでご注意ください。

ENScript.exe が作り出したファイル ENEXファイルに足りない情報がないか調べてみたところ、幾つか足りないものがあることが分かりました。

/a で画像ファイルを加えた場合、 タグがありませんでした。

そこで手動でサイズ情報を加えてインポートしたところ、まだ同期エラーがでていました。

さらに、 と を加えてインポートしたところ、今度はちゃんと同期が取られました。

以上のことから想像するに、ENScript が /a を指定された場合に ENEX の DTD にあるルールを逸脱するような ENEXファイルを生成しているのではないかと思われます。

手動で入れる事もできるので、この路線で活路を見いだす事もできるかも知れませんが、本筋としては ENScript の修正をお願いしたいと思います。

Share this post


Link to post

原因が判明しました。

結論から言うと ENScript.exe のバグです。

Evernote 4.0 の頃から使えるようになった様々な機能拡張に対応した XML(ENML) の DTD ファイルがあるのですが、ENScript.exe createNote /a で指定した部分の記述が、一部新しい機能に対応しているにも関わらず、それに対する DTDファイルを ENML ファイルに含めずにサーバーにアップしているようです。

具体的には タグの直前に

というのが必要なのですが ENScript.exe の出力ではそれが欠落しています。

そのため、サーバーが ENML ファイルを認識出来ずに「同期失敗」となっています。

それが証拠に、Export したファイルの当該箇所に上記の DTDファイル指定を手作業で挿入して Import すると全く問題なく同期されます。

(注意)

手動で ENMLファイルをいじって Import するのは全て自己責任です。それによって生じる如何なる問題についても、私及びEvernote社が責任を負うものではありません。

恐らく Evernote をアップグレード( V3から V4 )した際に Evernote 社内の開発グループ間で情報伝達がキチッとされていなかったのではないかと想像できます。

いずれにせよ、極めて軽微なミスであり、(刺々しいのは承知ですが) この程度のバグが取れないというのはお粗末過ぎますね。

早急な対処をお願いしたいと思います。(Evernoteの方はこれを見ていない気もしますが......)

Share this post


Link to post

今後リリースされるバージョンで修正を入れるよう現在開発チームで対応中です。

長い間お待たせして申し訳ありませんでした。

Share this post


Link to post

刺々しい発言ばかりで本当に申し訳ありませんでした。

Evernote に全てを捧げている(というのは言い過ぎかも知れませんが) ので、良くなって欲しいと本気で思ってます。

次でとは言いませんが、近い将来対応される事を期待しております。

Share this post


Link to post

この問題は 4.2.2.3935 (129432) 以降のバージョンに修正が盛り込まれておりますので、

ぜひお使いの Evernote を最新版にアップデートしてご確認ください。

Share this post


Link to post

ゴタゴタしていたので確認が遅れてしまい、もうしわけありません。

最新版で /a ファイルによる書き込みができるようになりました。

ご対応頂きありがとうございました。

お陰で、スクリプトによるファイルの自動加工アップロードが簡単にできるようになりました。

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...