2017-09-04 1 views
0

以前にブラウザのIndexedDbにダウンロードされたノートとOneNoteで同期させるために、各ノートのcreatedTimelastModifiedTimeのチェックを、サーバー独自のlast_updated_timeに対して行っています。 このチェックは、追加されたページや変更されたページでうまく機能するため、ブラウザのIndexedDbに新しいノートを追加して、すでに保存されているノートを変更することができます。コピーされたメモは、APIを介して新しく作成されたメモとしてどのように識別できますか?

が、ページには「移動またはコピー - コピー」でのOneNoteで作成されたときの動作、そのcreatedTimeプロパティはオリジナルのノートのことなので、それは新しいノートとして識別することはできません。 (それは独自のlastModifiedTimeidのプロパティを持っていますが、ブラウザのIndexedDbには、idの更新が必要な以前にダウンロードされたノートがあることが予想されるため、ちょっと混乱します。

したがって、コピーされたメモは、新しく作成されたメモとしてAPIを介してどのように識別できますか?OneNote自体を修正してそのメモに独自のcreatedTime;

+0

コピーされたメモを新しく作成されたメモとして識別できる不明なプロパティがありますか?) – Velojet

+0

私はこの動作が予想されると思います。ファイルをコピーしたり、ファイルツリー内のファイルを移動したりするだけの場合と同様です。 私の環境では、各Notesページのタイトルにタイムスタンプをプログラムで追加して、作成時を示します。 残念ながら、この情報を保存するために編集できるユーザ定義可能なタグが見つかりませんでした。 – codeye

+0

@codeyeご意見ありがとうございます。しかしながら、我々のユースケースはむしろ異なります。 1)ユーザーはOneNote自体で直接メモを作成して変更するので、OneNote自体の開発者以外は「各メモページのタイトルにプログラムでタイムスタンプを追加する」ことはできません。 ) 2)メモをコピーすることは、ファイルをコピーすることと同じではありません。確かに、この問題を発見した私たちのユーザーは、メモをコピーする行為によって新しいメモを作成していると信じていました(そしてまさにIMO!)。 – Velojet

答えて

1

ページのIDが索引付けされたDBに存在しない場合は、createdTimeに関係なく追加してください。

+0

実際、これは現在行っていることですが、ダウンロードされた各修正ページでこれを行うことは、OneNoteで単純に新しい 'createdTime'プロパティを追加して処理することができない場合、不要なフロントエンド処理のように思えます。それは新たに作成されたページです。私はこれをOneNote実装の欠陥と見なします。 – Velojet

関連する問題