makinacorpus / makinacorpus/django-mapentity

Add form to import data

Open
#97 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

💫 Improvements
Dominant language
JavaScript
Stars
46
Forks
20
PR merge metrics
No merged PRs in 30d

Description

Besoins :

  • Permettre aux utilisateurs de charger leurs propres jeux de données
  • Faciliter la mise en place des instances client après livraison des jeux de données répondant aux critères

Specs :

  • Un formulaire permet de charger un fichier Shapefile|GeoJSON pour une entité (ex : tronçons dans Geotrek)
  • À la sélection du fichier source, la liste des colonnes est lue et présentée
  • Dans une première version, seules les colonnes dont le nom et le type correspondent à celles attendues seront utilisées
  • Si les attributs obligatoires ne sont pas présents dans le fichier, un message avertit l'utilisateur en présentant les détails (nom de l'attribut, type attendu, ...)
  • Le formulaire doit permettre à l'utilisateur de choisir ce qu'il adviendra des enregistrements existants et manquants (ex : supprimer les enregistrements qui ne sont pas dans le fichier, conserver ou écraser les enregistrements existants, créer ou ignorer les nouveaux, etc.)

Notes :

  • Un mécanisme doit permettre de spécifier la classe de déserialization (ex: topologies dans Geotrek, c.f. command loadpoi)
  • Le format Shapefile est constitué de 4 fichiers, l'import d'un ZIP peut certainement faciliter l'utilisation
  • La suppression d'enregistrements peut entrainer des suppressions en cascade : il faut avertir l'utilisateur
  • L'import des fichiers joints en masse semble difficile à envisager (formalisme, volume!)
  • Le mécanisme d'import doit être générique et doit pouvoir être mis en commun avec l'import en ligne de commande
  • Le formulaire pourrait être générique et doit pouvoir être utilisé dans l'adminsite pour les données qui ne sont pas des entités (ex : communes dans Geotrek)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the referenced loadpoi command and the adminsite integration to understand existing import entry points. The work is complete when a generic form supports the specified Shapefile or GeoJSON validation, record-handling choices, warnings, and reuse with command-line imports.

Written by the indexing model from the issue text.

Assessment

Tech stack
django, javascript
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.