Perrine Paul-Gilloteaux
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Sprint data - utilisation board issue https://gitlab.in2p3.fr/fbi-data/coordination/-/boards/3677 # Planning FBI DATA - Démo état des lieux M%ontpellier et Nantes. - MADBOT (présentation Julien Seiler) ajd à 16h - SCRUM (Rôle à définir) - DOC (Retour utilisateurs/Zammad)/définition d'une première FAQ - ROADMAP (Priorités déploiement et FBI.data (dont formations et Mooc) ) Deploiment faire un point Release 1/2 etc.. - PARTAGE - TEST UNITAIRES (Procédures dégradées ) #J 2 # 1. Démo état des lieux Montpellier et Nantes. A faire - Test remplissage fichier excel - changer les entêtes des colonnes dans fichier excel pour qu'ils soient plus clairs - Pas d'espaces dans certains champs de fichiers excel - Pas d'espaces dans les noms d'investigation - bouton change password omero -> rediriger vers page authentik - a debuger # 2. SCRUM (Rôle à définir) Les rôles - Sprint = max 1 mois, 15 jours sinon. - Plusieurs types de sprint : (Deploiement (DEV : GG+TB) , DOC (MM+GM), RETOUR USER (RBM+GM) ... ) - Product Owner: Emmanuel Faure vision globale: clarification et définition du user story/definition backlog, - recuper les differentes users stories possible et définit les priorités - Role au début de chaque Sprint - Définit les roles (SM+DEV) et les personnes impliqués. - Et bilan à la fin - Scrum Master : - le Scrum Master doit être décidé à chaque sprint (en fonction du type) - Il ne peut pas être dans les DEV - La réunion de définition des tâches doit se faire entre les DEV et le SM (pas les autres nécessairemnt ) - Le SM fait le point avec les DEV (Daily point) tout les semaines avec un estimation du temps par tour de table par exemple. - L'idée est qu'on change de SM à chaque sprint - Le SM doit faire le point chaque semaine. - Le sccrum Master fera des cartes de coordination gitlab avec les temps en poste plannification. - l'equipe de dev, doc et dev - sprint reviewer intégration continue nécessaire. - partie prenantes. - Regles : 1ers lundi du mois - Finalisation du sprint - Choix des users stories et rtépartition rôle - Plannification du sprint dans l'après midi (sans le scrum master) - Puis Cr tâches au Scrum Master Question du hot fix -> exemple de l'import demo de ce matin. Sprint doc possible en parrallele de sprint dev Plannification du sprint: S’accompagne des données et estimations nécessaires pour documenter le prochain projet de sprint. Confirme les estimations réalisées pour les tâches dans le backlog produit du sprint. Sélectionne les tâches du backlog produit à réaliser lors du prochain sprint. Évalue la capacité de l’équipe à procéder au prochain sprint. Conclut les réunions par une séance de questions-réponses. Puis en Daily Sprint= Hebdo Sprint. Quelles étaient les tâches d’hier ? Quelles sont celles d’aujourd’hui ? Avez-vous repéré des points de blocage ? # 3.a Sprint DOC (G.M. M.M. E.F) ## Example Sprint 1 dev: User story = s'assurer sque modification n'impacte pas le fonctionnement précédent -> Intégration continue CI et tests unitaires. EF= Product Owner Raphael= MB https://asana.com/fr/resources/scrum-master Taches précédentes: - Le docker compose de test tourne (irods + omero-server + ndfsrods) - conteneur quay - pytest tourne pour les tests unitaires indépendants du serveur À faire: 1. Configurer pytest pour lancer le docker compose 2. Démontrer un test unitaire nécessitant docker compose par exemple tester [`OmeroManager.transfer`](https://gitlab.in2p3.fr/fbi-data/omero-quay/-/blob/main/src/omero_quay/managers/omero.py?ref_type=heads) 3. Tests d'intégration par exemple faire tourner `script/irods_import.py` Test fonctionnel pour débuggage par exemple. Solution technique CI: gitlab In2P3 Gitlab CI avec Runner sur meso : CI infra ok # 3.b Sprint DEV Test unitaires (les autres) (cf au-dessus) ## Example Sprint 2: Marc et Guillaume sont dev Scrum Mistress Perrine EF : End user User story: l'utilisateur peut remplir en autonomie le fichier excel User story: Pouvoir réalisert un import - USER_1 : Ingés FBI DATA - USER_2 : Ingés plateformes - **Tache 1 : Finalisation doc Phase 1 pour user_1:** Rappel des tests Phase 1 - Upload : - montage espace perso en réseau avec Samba (Nantes uniquemnt) - Jeu de données + Fichier Excel dans un dossier (montage Samba dans espace perso) à Nantes et Montpellier - client en ligne de commande (avec fichier excel) (simplecli) (import dans l'espace commun) - Download : - iget (depuis espace commun ) - Omero web et insight (depuis espace commun ) - sftpgo (depuis espace perso) - NE PAS TESTER : Omero insight (modif,renommer,deplacer,partage) - Tâches à effectuer`` - T1a. Procédure de tests (Zammad) : Définir la procédure de tests et le Canevas de test sous Zammad associé -> (Guillaume M ESTIMATION 3J) ; puis Marc fera la page MKdoc pour l'expliquer aux users 2 (Marc ESTIMATION 1J). - T1b. Faire une page d'intro plus courte en une seule page (Stockage deporté au meso, avec le système tampon, (0.5J) exemple page Omero Overview. Priorité 1 - T1c Expliquer les Phases de déploiement (avec un pointeur vers la page des tests ) )(Marc ESTIMATION 2J) priorité 1 - T1d. une page de la listes des tests (remonter la doc admin) (Marc ESTIMATION 0.5J) Priorité 1 - T1e. Documentation sur identification et changement Récupération du mot de passe sur page omero (ESTIMATION 1J), à déployer par Théo - T1f. Mettre en avant les éléments temporaires et le fonctionnement visé à terme (explications sur l'authenfication visée feuille de route) (Marc ESTIMATION 4J) - T1g. Excel remplissage à clarifier avec des exemples xcel (MARC 1.5J) - T1h. Faire remonter les problématiques actuelles en testant le suivi de la doc (Guillaume M, Perrine Paul-G) (Estimation 1J) - T1i. avoir un workflow simplifié aide mémoire (Marc Estimation 1J) **Tache 2 : Ajouter (préliminaire) Phase 2 pour user_2 :** Rappel des tests Phase 2 - Upload : - montage espace perso en réseau avec Samba (ajouter montpellier) - iput (dans l'espace utilisateur avec fichier , command irods installé ) - sftpgo (dans l'espace utilisateur avec fichier ) - Partage des droits : - en modifiant l'excel (column owner et members) (droit définits uniquement au nieau de l'Investigation (de ISA)) - avec consequence sur iget de la données partagées - Tâches à effectuer`: - T2a. doc : demander à Guillaume G pour le fonctionnenemnt Samba Montpellier (M. Mongy ESTIMATION 1J ) - T2b. installation irods local avec (iput et iget) Squelette à définir (M Mongy ESTIMATIOn 1J) - T2c. rajouter la description des droits du fichier excel (M Mongy Estimation 1J) Durée du Sprint MM 10J phase 1 + 3J pahase 2 2 semaines 1.5 avant lundi puis après le 14 mai 23 mai fin du Sprint # 4. Zammad (+ Point GIT) (G.M.) Question Configuration Zammad (GM) Définir des profils utilisateurs et les tiockets qu'ils recoivent. On ne peut pas assigner un ticket à plusieurs personnes mais tous les admin peuvent cloturer. Question des bugs qui ne devrait plus apparaitre par exemple. affectation de ticket= propriétaire enlever outbouyd call etc... Groupe Elever admin et users, rajouter un "Fonctionnalité manquante" State à désactiver Tickets crées, GM affecte. Possibilité de créer des filtres d'attribution. Configuration d'abonnements mails/notifications à faire (par exemple recevoir les updates sur ses propres tickets) Créations des templates de tests (cf taches sprint_doc1) # 5. FINALISER LE DETAIL ROADMAP (T.B et G.G) A FAIRE + TARD # 6. Cachier des charges MADBOT pour le MVP (minimum Viable Product) - Import from (import de dossier complet , à clarifier par GG ) - Création compte (associé à authentik) - Création ISA = node et retour de isa-importer - API Admin (Objectifs utilisation : backpropagate des modifs effectués dans omero doivent s'appliquer à Matbot ) - Accés à une publication des évenenmnts MATBOT en temps réel (un data name est modifier dans matbot et on doit le propager dans omero puis IRODS ) - Possibilité de créer un référentioel metadonnées entrepôt Bio Image Archive - Instance Bac à sable des maintenant (besoin avant le MVP) - Gestion des membres dans MadBot <-> avec les groupes omeros - Procédure Déploiement qui permet de ne pas avoir d'interuption de service # 7. 15H. Training + GBI (Fabrice.C) https://globalbioimaging.org/exchange-of-experience/exchange-of-experience-ix https://founding-gide.eurobioimaging.eu/community-event-2024/ Poster à soumettre absolument Annual meeting. EOSC HANDS on meeting . EVOLVE Data Se rembarquer dedans, se mobiliser dessus Demander au BE de proposer une stratégie d'outreach européen.@Emmanuel et Guillaume -> Yves Mely et Caroline mettent à l'ODJ Stratégie training. Production MOOC. Doc -> Mind mapping à faire doc (ISA Metdata/ formation à notre systeme/DMP) NE PAS EDITER https://coggle.it/diagram/YCOlFC31dzCCuJgT/t/knowledge-book-image-processing-and-analysis LE NOTRE: https://coggle.it/diagram/Zie43lY0PmVeoo3d/t/knowledge-book-image-data-management # 8. Achat Machines Tampon - 60k€ - Role de la machine : - deplacement vers le meso (Donc effacement) - Stockage des données avant de retourner à l'espace utilisateur (Bac a sable ) - conversion de données ? - Génération de thumbail ? - SAMBA et IRODS local . - Proposition de 2 espaces SAMBA - /users/BACASABLE (Dépend de la plateforme -> possibilité d'effacement après 1 mois ) - /users/TOTRANSFERT (stockage sous notre reponsabiilité (dépend de la bande passante) - 10 machines à 6k€ (devis à demander par Theo à DELL ou HPE ) - Définir les 10 plateformes en BE # 9. Calcul exécution au méso, avec le compte de l'utilisateur du méso. Compte meso = renater ou autre fédération d'identité (ok Authentik). FBIAS va fournir la liste des algos en priorité Basé Docker -> sous slurm (généralement utilsié en méso) définition machine requirements jobs par utilisateur. Données définies par utilisateur requirements par nous ? ou laisser libre Comment on les lance? Exemple Curie voir demain démo. Aurélien Maillot Open Mole. Comment partaon t'on les dockers aux utislateurs (market place) 2 niveaux utilsiateurs : - 1 sachant coder (ingé plateformes) -> Notebook ? (Contrainte 1 seul machine pas de parallelisation via slurm) Comment recuperer la données ? (API IRODS/OMERO ou montage filesystem par le meso) -> Interface Surcouche au slurm MEso (Example Curie/Open Mole) -> ou mets-on les data output-> Omero/Irods et avec quelles annotations -> Comment renovie t on les logs ? - 2 end user -> Depuis Omero -> Depuis FIJI Local https://f1000research.com/articles/11-392 -> Interface dédié -Logiciels commerciaux à voir - VM - Omero certains algos - Un gestionnaire de workflow type BioImageIT - Jupyter notebook avec un jupyter hub sur meso . - Obiwan Microbi https://github.com/hip-satomi/ObiWan-Microbi - https://blog.omero-fbi.fr/blog/11-procedure_obiwan_microbi/ mais pas connecté au slurm - Omero-slurm client BIOMERO https://github.com/NL-BioImaging/biomero Comment faire # 10. Autres trucs. - Penser présentation pour Mercredi (et faire des captures d'écran) https://fbi-data.pages.in2p3.fr/websites/mkdocs-website/ - groupes référents data. Faire doodle Juin - Lien avec OpenCID ## Visio Madbot - Confrontation calendrier juillet/aout. 1ere instance Juin. Besoin de bac à sable. Ca peut etre des maintenant pour la sandbox? pendant sprint data?ok - import from ? initialement que de labguru? Le core va créer les data link à partir du connecteur. - API d'utilisateur pas admin - Datalink vers des dossiers à rajouter!! Node = isa mapping. - QUestion Synchro (datalink pourri= plus le bon)= dashboard. - Question sur ISA dans Madbot = Renommer les noeuds ? - API stable et début insertion de notre côté Rest OK et Python (Marc) - doc Liens?? (notamment pour API) https://ifb-elixirfr.gitlab.io/madbot/madbot-doc/ -> Profiter pour demander à Julien les contacts fléchages mesocentre IFN NNCR - question sur les collections de metadonnées( i.e masque de metadonnées) exemple Sample à demander.Notion d'association. - Irods et court de route et adaptation API/ omero etc.. hackatons connecteurs. - Question connecteur labguru referentiel madbot. - Question identification -> Authentik OUi.délégable - PGD Opidor et dsw? (Ma DMP?) ## Formation - Formation générique ou adaptée à nos technos? - Parties génériques: - Structure de projet avec pyproject et hatch - Rappels programmation orienté objet - Gestionaire de contexte - case / match - Prog asynchrone (threading, subprocess, asyncio) - Partie adaptée - LinkML & Pydantic - ZeroMQ - APIs omero et iRODS ## Omero-quay - Finish CI - First test case: concatenate file names in assays (issue 14) - Implement FSSpec Manager - Implement [Majordomo](https://gist.github.com/costrouc/44b5dbcd7783c9b0fb3a95f065f577d4) - Import from client ## Calendrier Déploiement (daté du 12/02/24) Fichier Excel : - Le fichier Excel Contient une liste des utilisateurs membres des données (A Veifier ) - Excel contineint l'onglet insvestigatio ndans lequel il y a les membres, - Tous les membres ont accés en Read Annotate et peuvent accès à une study Question du stockage à vérifier selon les phases Marc: Responsable Documentation - User Type: - USER_1 : Ingés FBI DATA - USER_2 : Ingés plateformes - USER_3 : 1 ou 2 gros users par Node (Nantes, Montpellier)) (les identifier ) - USER_4 : Beta End USER (plus pour Nantes , Montpellier , ouverture vers Bordeaux) - POINT Calendier et Phase Déploiement: - PHASE 1 (USER_1): - Fonctionnalités à tester : Upload des données : - montage espace perso en réseau avec Samba (Nantes uniquemnt) - Jeu de données + Fichier Excel dans un dossier (montage Samba dans espace perso) à Nantes et Montpellier - client en ligne de commande (avec fichier excel) (simplecli) (import dans l'espace commun) Download data : - iget (depuis espace commun ) - Omero web et insight (depuis espace commun ) - sftpgo (depuis espace perso) DOC : -> Adresse omero -> remplissage excel -> pointeur vers iget ipush -> Mon compte utilisateur ? (envoyer un mail à GG) -> Besoin de Zamad pour retour de ticket -> Doc espace commun / espace utilisateur -> montage du partage samba -> doc SFTP go Fonctionnement de test : ??? -> Voire avec Roles SCRUM Les données restent sur pour l'instant sur SAMBA (à virier quand y'aura MATBOT) - PHASE 2 (USER_1 + USER_2): - Fonctionnalités à tester : Test de réseaux Upload des données : - montage espace perso en réseau avec Samba (+ montpellier) - iput (dans l'espace utilisateur avec fichier , ocmmand iros installé ) - sftpgo (dans l'espace utilisateur avec fichier ) Partage des droits : - à la creation de l'excel avoir la possibilié de modifier (column owner et members) (droit définits uniquement au nieau de l'Investigation (de ISA)) - avec consequence sur iget de la données partagées DOC : -> Doc de l'infra (archi + port + réseau , etc++ ) - PHASE 3 (USER_1+USER_2+USER_3) : - Fonctionnalités à tester : (de ceux des USERS_1) - Upload des données : - Omero insight (dans l'espace commun ) - et déplacement , effacement, renomage , partage PAS DE Partage des droits avec IRODS (ichown bloqué) PAS DE DEPLAMCENT EFFACEMETN RENOMAGE avec IRODS - PHASE 4 (USER_1+USUER_2+USER_3+USER_4) : Intégration MatBot (ARCHI ISA ) (Chantier démarre au 01/04) -> Creation de l'architecture (progation vers Omero et Irods) -> Peut-êter avec les méta donnnées Espace ISA accessible par IRODS est ouvert à la modificaiton (sous contrainte) (Besoin de propagation des droits ) Espace ISA accessible par SAMBA est ouvert à la modificaiton (sous contrainte) (Besoin de propagation des droits ) ## Test docs: - Mot de passe Authentik perdu -> pas de consigne. Bien préciser que le même pour Zammad etc... et si diferent bien préciser. - Page https://fbi-data.pages.in2p3.fr/websites/mkdocs-website/import_donnees/#11-remplissage-du-fichier-excel Pas suffisante pour remplir Excel - Flou lien entre les répertoires et les noms de fichiers. Attention au filage des exmple (par exemple nmae) ceciu est une investuigation puis investagtion donné en example comme nom. - Flou sur la définition de owner remis plusieurs fois par rapport à l'identité de l'utilsiateur qui dépose les data. - Mettre les fichiers excels assoiciés à chaque exemple en téléchargement.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully