Какой формат для общего импорта JSON?

Я пытался импортировать свои данные, используя только API, но, похоже, рекомендуемый способ — использовать импортер. Мои данные поступают из RSS-канала ListServ, который я конвертировал в JSON.

Из поиска по issue я узнал, что формат данных, который мне нужен, выглядит так:

    "topics": [
      {
        "id": 1,
        "title": "Заголовок",
        "pinned": false,
        "posts": [
          {
            "id": 2,
            "body": "Текст сообщения",
            "date": "Дата",
            "author": "имя_пользователя"
          }
        ]
      }
    ]
  }

Первый вопрос: это правильный формат для json_generic?
Второй вопрос: есть ли дополнительная информация о том, как этим пользоваться?

Если у вас есть доступ к файлам mbox, это будет гораздо проще.

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

Ключевой момент здесь:

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

Можете ли вы подтвердить, что структура моего JSON выглядит правильно, за исключением некоторых полей?

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

Я уже импортировал пользователей через API. Похоже, мне в этом вопросе повезло. Контент не проходит валидацию, и, судя по всему, я не могу отключить её, чтобы просто загрузить свой JSON-файл в локальный Discourse. Каждому посту, полагаю, нужно будет получать userId из Discourse. Правильно ли я понимаю, или есть другой подход?

Вам стоит начать с нуля и позволить скрипту создать пользователей. Для поиска пользователей ему требуется импортированный ID в пользовательском поле.

Поскольку мне нужно пересоздать пользователей, будет ли это работать? В этом примере пользователь 1 (Джон Доу) создаёт тему 1 с заголовком «The Title», и в этой теме есть один пост от Джона Доу с содержимым «Body»?

Если это верно, как использовать скрипт json_generic для запуска процесса? Я немного запутался в следующем шаге.

  "topics": [
      {
        "id": 1,
        "user_id": "1",
        "title": "The title",
        "pinned": false,
        "posts": [
          {
            "id": 2,
            "user_id": "1",
            "body": "The body",
            "date": "The date",
            "author": "username"
          }
        ]
      }
    ],
  "users": [
       {
    "id": "1",      
    "name": "John Doe",
    "email": "John_Doe@wahoo.com",
    "password": "asfd9!t",
    "username": "John Doe",
    "active": true,
    "approved": true
  },  

]
  }