Pour créer au mieux un importateur Yammer pm

J’ai créé un importateur Yammer pour quelqu’un et il aimerait qu’il soit disponible publiquement. (Salut @gerhard, je pense que cela relève de votre domaine.) Je n’arrive pas vraiment à comprendre la popularité de Yammer et/ou s’il s’agit de quelque chose qui verra bientôt beaucoup de gens réclamer une nouvelle plateforme ou si la plupart de ces personnes s’attendent simplement à perdre leurs données lorsqu’elles quittent la plateforme.

L’exportation Yammer est un tas de fichiers CSV, donc le script d’importation utilise script/import_scripts/base/generic_database.rb. Il comprend l’importation des MP, ce qui a nécessité l’ajout de quelques tables à generic_database.rb. J’ai pensé qu’il était plus logique d’ajouter un code distinct pour les MP que d’essayer de contraindre le code existant à les gérer et de risquer de le casser pour les autres importateurs qui l’utilisent (zendesk, zendesk_api et answerbase). De plus, les pièces jointes sont gérées différemment de ce qu’elles doivent être dans les scripts qui utilisent generic_database.rb, donc mes tables de MP ne gèrent pas les téléchargements comme les autres (ce que je n’ai pas pu comprendre). J’ai également ajouté une table de téléchargement plutôt que d’utiliser topic_upload et post_upload comme le fait l’importateur générique.

    def create_upload_table
      @db.execute <<-SQL
        CREATE TABLE IF NOT EXISTS upload (
          id #{key_data_type} NOT NULL PRIMARY KEY,
          user_id INTEGER,
          original_filename TEXT,
          filename TEXT,
          description TEXT,
          url TEXT
        )
      SQL
    end

Le code actuel traite les téléchargements lorsqu’il y fait référence dans raw. Il remplace également les références aux utilisateurs par des références Discourse @username. Il gère également certains opengraphobject bizarres et les utilise, s’ils existent, pour générer des titres de sujets (qui manquent à la plupart des sujets dans le dump pour lequel j’ai écrit cela).

Questions :

  • Est-ce trop de simplification pour pouvoir répondre à ces questions ?
  • Dois-je créer un MP pour le noyau, ou simplement l’inclure comme un dépôt autonome (j’inclurai un script qui copiera le code dans l’arborescence source de Discourse et l’exécutera à partir de là) ?
  • Les ajouts à generic_database semblent-ils raisonnables ou devrais-je trouver un moyen d’ajouter à cette classe dans mon script d’importation ou simplement inclure mes fonctions supplémentaires dans mon propre script et le faire référencer simplement le @db global ?
2 « J'aime »

Je dirais, créez une PR pour le cœur et nous verrons à partir de là…

2 « J'aime »

Salut Jay,

Cet importateur est-il disponible publiquement ? Si oui, où ?

Merci d’avance

Cordialement Johan

Il y a un script d’importation Yammer dans script/import_scripts/yammer.rb

3 « J'aime »

Merci. Alors voici : discourse/script/import_scripts/yammer.rb at main · discourse/discourse · GitHub

2 « J'aime »

Salut Jay.

Je pensais que c’était un importateur pour Yammer.
Mais si je lis le code, ce n’est pas le cas.
Il semble que ce soit un importateur pour Discourse.
Je ne connais pas très bien Discourse. Pouvez-vous m’en dire plus sur l’importateur pour Discourse.

Merci d’avance.

Bien. Ce site est pour Discourse, donc un « importateur X » signifie à peu près toujours « un importateur pour déplacer votre ancien site X vers Discourse ».

Si vous avez un site Yammer et que vous souhaitez avoir un site Discourse, cela peut vous aider.

4 « J'aime »