jIO ( website / github ) を見ることができます。これにより、JSON ドキュメントを複数のストレージに保存および自動同期できます。
そのため、ユーザーは webDav、xWiki、S3、または任意のストレージから JSON を取得できます (「任意」を使用するには、独自の jIO コネクタを作成する必要があります)。
ドキュメントは users に保存されますlocalStorage
。jIO は、complexQueries
保存されているドキュメントを照会できるモジュールも提供するため、同期、軽量、javascript のみの「データベース」モックアップを作成できます。
クライアントで PDF を生成することもできますが (たとえば、jspdfを使用)、ファイルを JSON に保持すると、さまざまな形式 (クライアントで JSON データを表示する HTML ページなど) への移植性が向上します。
編集:
あなたの要件が何であるか正確にはわかりませんが、私が理解していることから、レプリケートリビジョンストレージをセットアップし、ダウンロード可能なデータを保持するローカルストレージとstorage_list
「リモートデータストレージ」(webDavなど)を追加します.
したがって、アプリを初期化するときは、次のようにします。
var myReaderStorage = JIO.newJio({
"type": "replicaterevision",
"storage_list": [
{
"type": "revision",
"sub_storage":
{
// this will your users local storage
"type": "local",
"username": <string>,
"application_name": <string>
}
},
{
"type": "revision",
"sub_storage": {
"type": "dav",
"username": <string>,
"password": <string>,
"url": <string>
}
}
]
});
これにより、ユーザーの localstorage が webDav ストレージに「接続」され、リビジョン システムがセットアップされます。たとえば、次のようになります。
- ユーザーがアプリをダウンロード = 新しい JIO が初期化されます。
- ドキュメントの場合
GET
、システムはローカル ストレージ (存在する場合) またはリモート ストレージからプルしようとします。
- 見つかったら、すべてのストレージが同期されるため
file-A_version1
、ローカルと webdav の両方で利用できるようになります
- ユーザーはファイルを編集できるようになり (許可されている場合)、
file-A_version2
- 呼び出し
PUT
は localstorage と webDav に保存されます
- ユーザーがデスクトップからアプリを呼び出す = アプリケーションを再度初期化する
GET
localStorage (まだ空) またはリモートからプルしようとします。
file-A_version2
webDav からロードされ、localStorage にも保存されます
これは大まかな設定ですが、アイデアを得る必要があります。次のように続けることができます。
- スマートフォンはオフラインです。デスクトップ作成時のユーザー変更ファイル
file-A_version3
file-A_version3
webDav と同期されます
- 次回ユーザーがスマートフォン経由でアプリにアクセスすると、システムが競合を検出します (
file-A_version1
スマートフォンfile-A_version3
上、webDav 上)。両方のバージョンがスマートフォンで利用可能になり、どちらを削除するかを使用して独自のロジックを作成できますREMOVE
ご不明な点がございましたら、お知らせください。