Как я могу синхронизировать документы shareJS с файловой системой
Я пытаюсь создать простой текстовый редактор с поддержкой мультитенантной операции "Операционное преобразование", и хотя было достаточно просто заставить редактор работать и синхронизироваться между клиентами с помощью shareJS, моя проблема заключается в том, что я хотел бы синхронизировать документы shareJS с папкой структура на стороне сервера (в конечном итоге это будет git-репо)
Я совершенно новичок в sharejs и Operational Transforms и нашел документацию shareJS немного трудной для более сложного примера.
Любые предложения о том, как я могу подойти к этой проблеме?
То, что я пытался сделать, - это реализовать клиент на стороне сервера, который мог бы получить весь текст документа при обновлении, но (и я уверен, что это недостаток опыта), единственный способ, которым я могу думать, чтобы быть сообщником, - это использовать Клиентский API для циклического перебора всех документов и записи каждого в файл. Но для меня это звучит ужасно неэффективно. Может кто-нибудь указать мне какие-либо ресурсы, которые могут помочь или дать какой-то совет относительно того, как я мог бы подойти к этому?
1 ответ
Это немного запоздалая мысль, но вы все равно можете вызвать метод getSnapshop на стороне сервера и записать его в файл в вашей файловой системе. Если он не запускается локально, вы можете создать крошечный маршрутизатор с Express на локальном компьютере, который будет прослушивать пост-запрос, и вы отправляете выгруженный файл в тело пост-запроса на вашем сервере sharejs, а затем на своем компьютере выгрузите тело пост-запроса в файл, который должен работать.
Остерегайтесь соображений безопасности, если вы используете систему аутентификации на вашем сервере.