Массовый экспорт исходных материалов постов с разметкой

Здравствуйте,

наша компания использует Discourse для поддержки клиентов и укрепления отношений с ними. Для адаптации сотрудников мы создали документацию, используя категории документов и DiscoTOC, что работает отлично.

Однако я хотел бы предложить функцию экспорта исходных материалов документации — а именно исходного текста с разметкой — в обычный текстовый файл.

:information_source: Я знаю о возможности печати в PDF через браузер, но это не помогает, когда нужны исходные данные, а не отрендеренные. Также мне известно о встроенной функции резервного копирования и запросах к базе данных, но эти решения неудобны для администрирования через фронтенд.

В настоящее время мой рабочий процесс выглядит так: редактирование постаSTRG-A, STRG-Cсоздание/открытие текстового файлаSTRG-V, STRG-Sотмена редактирования… следующий пост.

Встроенная возможность пакетного экспорта дала бы несколько преимуществ:

  • значительно упростила бы обслуживание баз знаний
  • улучшила бы процессы резервного копирования и версионирования для администраторов через фронтенд
  • обеспечила бы гибкое использование контента вне Discourse

:right_arrow: Такая функция стала бы реальным повышением производительности для сообществ, использующих Discourse в качестве центра документации, а не только для поддержки.

Мне было бы интересно узнать ваше мнение.

С уважением

2 лайка

Одна из моих проблем — я воспринимаю запросы на новые функции как запросы в службу поддержки. Ой, я снова это сделал. Извините, если это не помогло.

Итак, вам нужно что-то вроде этого: https://meta.discourse.org/posts/1849580/raw или этого: https://meta.discourse.org/raw/381447 или этого: https://meta.discourse.org/raw/381447/1.

А, вы хотите получить исходный текст всех сообщений в теме.

Это не решение, но есть улучшенная версия этого подхода. Однако это всё ещё требует множества кликов.

Это довольно легко автоматизировать с помощью некоторых инструментов командной строки. Умный скрипт может получить JSON темы, чтобы узнать количество сообщений, а затем загрузить их все, возможно, делая паузы для соблюдения ограничений скорости.

Компонент темы мог бы предоставить ссылки на исходный текст для каждого сообщения. Плагин мог бы сделать то, что вы хотите.

3 лайка

Привет, Джей,

спасибо за твой ответ.

Это решение уже обсуждалось по ссылке How to iterate over all the topics in order to export them as Markdown?, но оно непрактично для больших документаций (→ эффективность) и для администрирования через фронтенд (→ компетентность).

Так что да… поддержки нет, но это настоящий запрос на новую функцию с моей стороны :wink:

Всего доброго

2 лайка

Я думаю, что 📄 Copy Post Component, который копирует сообщение напрямую, может быть полезен в данном случае. Это сокращает

до одного клика. Но это всё ещё не массовое копирование.

5 лайков

Это облегчает боль… добавлено в закладки.

Спасибо

3 лайка

Вы можете создать запрос Data Explorer, который возвращает posts.raw, и вызывать этот запрос через API.

7 лайков

Спасибо за совет, Ричард :slight_smile: Как только будет возможность, я изучу Data Explorer и вызовы API. Тем не менее, это всего лишь хук, а не полноценная функция.

Возьмём, к примеру, плагин Doc Categories: для создания документации технически достаточно одного индексного поста со ссылками на все темы. Но этот плагин добавляет кое-что лишнее: автоматическую навигацию по страницам.

Именно такую функциональность я и предлагаю: дополнительную возможность, которая поможет обычным пользователям, а не ещё одно обходное решение для продвинутых пользователей или IT-специалистов.

3 лайка

Если бы я желал такой функции, я бы хотел, чтобы она предоставляла мне zip-архив, содержащий все исходные файлы Markdown, на которые ссылается индекс документации.

Как в таком случае должны быть названы отдельные файлы?

Могли бы вы подробнее описать свой предполагаемый рабочий процесс?

Если бы я создавал рабочий процесс документации, как вы описываете, я бы предпочел реализовать возможность монтирования «сырых» файлов Markdown в файловую систему, что позволило бы другим автоматизированным инструментам работать с ними.

Я не понимаю эту точку зрения.
Почему вы не хотите представлять свою документацию через Discourse?

Привет, Томас, zip-архив, конечно, отлично подойдет :wink: Никакого рабочего процесса за этим нет, просто желание сделать простую резервную копию.

1 лайк

Не могу представить, как обычный пользователь будет использовать сырые источники постов.

3 лайка

Возможно, это потому, что вы не обычный пользователь.

1 лайк

Может, вы приведете хороший пример, вместо того чтобы отвечать ad hominem?
Даже в вашем первом сообщении речь идет об администраторах и людях, управляющих базами знаний.

Извините, вы поделились своим личным мнением, и я просто ответил — без всякого намерения обидеть.

Например, люди, управляющие базами знаний, такие как менеджеры по знаниям, которые создают контент как администраторы, но имеют ограниченный технический бэкграунд, хотят самостоятельно управлять своим контентом и иметь возможность делать его локальные резервные копии.

3 лайка

Я бы не считал менеджера знаний обычным пользователем; это очень специфическая роль.

Давайте оставим все споры о «обычном пользователе» на другое время, пожалуйста.

1 лайк

Тогда способ с Data Explorer будет отличным решением. Вы также можете сделать этот запрос доступным для пользователей без прав администратора.

1 лайк

Привет @soeren-1 и добро пожаловать в наше сообщество! :hugs:

Ваш запрос на новую функцию выглядит интересно! Я считаю, что здорово, что эта тема доступна, чтобы другие с похожей настройкой могли присоединиться к обсуждению. Возможно, в будущем что-то подобное появится в интерфейсе. Но, на мой взгляд, вы ещё не обосновали, что это будет широко полезной функцией.

Вы новичок здесь, поэтому позвольте мне рассказать вам о некоторых вещах, которые могут быть неочевидны. Добавление новых функций требует времени и ресурсов, поэтому обычно новые функции добавляются в Discourse, когда об этом просит один из наших корпоративных клиентов или когда существует большой спрос, например, правило трёх. Часто они сначала появляются в виде плагинов или компонентов, а уже потом интегрируются в основной продукт.

Для многих уникальных случаев API Discourse и Data Explorer предоставляют быстрые и простые решения, которые обычно «достаточно хороши». Я понимаю, что вы просите не об этом! Но иногда попытка решить проблему с помощью API или запроса в Data Explorer может помочь обосновать необходимость добавления функциональности или найти лучший способ решения конкретной задачи.

Вы видели, как запросы в Data Explorer можно предоставлять группам и как для них можно создать интерфейс с возможностью указания параметров? Это подходит для «обычных пользователей» и может сработать для вас и вашей команды как временное решение, а также помочь обосновать идею вашей новой функции. Не знаю, есть ли уже подходящий запрос, с которого можно начать — место для поиска этого — #data-reporting.

@rgj, я думаю, что вы обычный парень, независимо от того, что говорят другие!

d he's just a regular guy like you and me..gif

3 лайка

Спасибо за приветствие, разъяснения и советы, Тобиас.

Я не совсем уверен насчёт «широко используемых функций» — в Discourse много опций и настроек, и я задавался вопросом: «Кому вообще это нужно?». Люди склонны пользоваться теми инструментами, которые им доступны и знакомы. Если у тебя уже есть молоток, ты можешь задаться вопросом, для чего нужен киянка.

Возможно, другие пользователи увидят сценарий использования для предлагаемой функции и присоединятся к обсуждению :slight_smile:

Спасибо всем участникам!

2 лайка