Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible de créer un article sans YAML avec l'API #1004

Open
vicbab opened this issue Mar 11, 2024 · 8 comments
Open

Possible de créer un article sans YAML avec l'API #1004

vicbab opened this issue Mar 11, 2024 · 8 comments
Assignees

Comments

@vicbab
Copy link

vicbab commented Mar 11, 2024

J'ai accidentellement créé un article sans YAML (avec un YAML vide) sur l'API. Le résultat: impossible d'ouvrir l'article pour l'éditer sur Stylo.

@vicbab
Copy link
Author

vicbab commented Mar 11, 2024

Je crois que ce problème est lié à #982

@vicbab
Copy link
Author

vicbab commented Mar 11, 2024

En fait, même en ajoutant un YAML valide par l'API, ça ne semble pas fonctionner. Je peux ouvrir l'article, mais seulement si l'onglet Métadonnées est fermé. Sinon, l'écran devient blanc et plus rien ne fonctionne.

@RochDLY
Copy link
Collaborator

RochDLY commented Mar 15, 2024

Est-ce que tu peux nous montrer la requête que tu as utilisé pour pousser le YAML dans l'article ?

@RochDLY RochDLY self-assigned this Mar 15, 2024
@vicbab
Copy link
Author

vicbab commented Mar 16, 2024

C'est dans ce projet.

ContentFragment = StyloApi::Client.parse <<-'GRAPHQL'
      fragment ContentFragment on Article {
        updateWorkingVersion(content: $content) {
          workingVersion {
            bib
            md
            yaml (options: { strip_markdown: true })
          }
        }
      }
    GRAPHQL

    Create = StyloApi::Client.parse <<-'GRAPHQL'
      mutation($title: String!, $content: WorkingVersionInput!) {
        createArticle(title: $title, user: "RTFTOMD") {
          title
          _id
          workingVersion {
            bib
            md
            yaml
          }
          ...Articles::ContentFragment::ContentFragment
        }
      }
    GRAPHQL

yaml dans le fragment = ""

@RochDLY
Copy link
Collaborator

RochDLY commented Mar 18, 2024

mutation ajoutArticle{
  createArticle(title:"Article ajouté avec l'API",
    user:"id"){
    title 
    _id
    workingVersion {
      md
      yaml (options: {strip_markdown: true})
    }
  }}

De mon côté une requête presque similaire fonctionne.

La requête que je fais me permet juste de créer un nouvel article "vide" dans Stylo (avec le texte par défaut). Pour le peupler vous pouvez utiliser le fragment de requete avec updateWorkingVersion(content: $content), néanmoins il faut lui passer du md, du yaml et du bibtex si vous souhaitez modifier directement le contenu grâce à l'API :

mutation updateArticle{
  article(articleId:"65f81b91e3d15e00121c33df"){
    updateWorkingVersion(content: {
      md: "test",
      yaml: "---\nabstract: []\narticleslies:\n  - auteur: ''\n    title: ''\n    url: ''\nauthors: []\nbibliography: ''\ncontrolledKeywords: []\ndate: ''\nday: ''\ndiffnum: ''\ndirector:\n  - foaf: ''\n    forname: ''\n    gender: ''\n    isni: ''\n    orcid: ''\n    surname: ''\n    viaf: ''\ndossier:\n  - id: ''\n    title: ''\n    title_f: ''\nfunder_id: ''\nfunder_name: ''\nissnnum: ''\nissueid: ''\njournal: ''\njournalid: ''\njournalsubtitle: ''\nkeyword_en: ''\nkeyword_en_f: ''\nkeyword_fr: ''\nkeyword_fr_f: ''\nlang: fr\nlink-citations: true\nmonth: ''\nordseq: ''\norig_lang: ''\nprod: ''\nprodnum: ''\npublisher: ''\nredacteurDossier: []\nreviewers: []\nrights: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)\nsubtitle: ''\nsubtitle_f: ''\nsurtitle: ''\ntitle: ''\ntitle_f: untitled\ntranslatedTitle: []\ntranslations:\n  - lang: ''\n    title: 'Update du YAML'\n    url: ''\ntranslator:\n  - forname: ''\n    surname: ''\ntypeArticle: []\nurl_article_sp: ''\nyear: ''\nnocite: '@*'\n---"
    }){
    workingVersion{
      md
      yaml
      }
    }
  }}

@RochDLY
Copy link
Collaborator

RochDLY commented Mar 18, 2024

Par contre il faut faire attention avec cette requête car vous modifiez le contenu directement dans la working copy et vous ne versionnez pas les modifications. Pour faire cela il vous faudrait ajouter une requête du type : 

    createVersion(articleVersionInput: {
    	userId:"id",
    	major: true, #false pour une version mineure
    	message: "modification du YAML"}){
    	versions(limit:5){
      	version
    	}
    }

@RochDLY
Copy link
Collaborator

RochDLY commented Mar 18, 2024

image

@RochDLY
Copy link
Collaborator

RochDLY commented Mar 18, 2024

Si toutefois vous créez un article vide

J'ai accidentellement créé un article sans YAML (avec un YAML vide) sur l'API. Le résultat: impossible d'ouvrir l'article pour l'éditer sur Stylo.

Si toutefois vous créez un article vide, vous pouvez utiliser la requete mutation updateArticle ci-dessus et vous insérez le yaml par défaut de Stylo dans la working copy : 

"---\narticleslies:\n  - auteur: ''\n    title: ''\n    url: ''\ndirector:\n  - foaf: ''\n    forname: ''\n    gender: ''\n    isni: ''\n    orcid: ''\n    surname: ''\n    viaf: ''\ndossier:\n  - id: ''\n    title: ''\n    title_f: ''\nlang: fr\nlink-citations: true\nrights: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)\ntitle: untitled\ntitle_f: untitled\ntranslations:\n  - lang: ''\n    title: ''\n    url: ''\ntranslator:\n  - forname: ''\n    surname: ''\nnocite: '@*'\n---"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants