We've implemented something rudimentary - ticket: Basic import, documentation: import+not ready


We're working towards the following Howto:

  1. Choose or create cardtype
  2. Go to that cardtype's "Related" tab and click "Import cards"
  3. Choose import method
    1. from card
    2. cut and paste
    3. upload file
  4. Choose format (autodetect?)
    1. CSV
    2. xls
    3. ods
    4. html?
    5. XML?
    6. etc.
  5. (customize data interpretation -- eg. name of column)
  6. Run import




If "Cardtype" is in the second row of the first column, that row could determine the cardtype of plus cards - see http://spreadsheets.google.com/pub?key=pHP4cc7zD3F6DIpVRp692UQ for an example.

As we discussed, cells under a column headed "content" Wagn could be put into the card's value (in the example doc - Bicycle, Pogo stick, etc.).

  --John Abbe.....Thu Apr 17 15:53:21 PDT 2008

Right now if i import a card that already exists, the old content is left as is. What i'd like to see is that if there are any conflicts, Wagn reports how many (maybe also listing them), and asks whether to:

  • cancel the import
  • import but leave existing content
  • override existing content
  • ask the user for each conflict

  --John Abbe.....Thu Apr 17 16:11:41 PDT 2008



Issues with import when a simple card is in the trash when an import is done with that card name:


If the trashed card has a different type from that specified in the import, the import works, but the newly created card retains the type it had in the trash.


If the trashed card has the same type as specified in the import, the import fails on that card with:


PERMISSION_DENIED: You don't have permission to change the content of this card -- it is hard templated by Measure+*tform


If the trashed card is created-renamed-retrashed before import, then it's type, and the type of all subsequent cards imported in that action, are set to the wrong type (in the example below, "Grant in Progress" rather than "Measure"). Further, if it had plus cards associated with it they seem to import okay but there are odd issues. E.g., see http://earlysteps.wagn.org/card/related/Antisocial_Activities in the plusses subtab. (two instances of "Antisocial Activities+acronym", other plus cards not showing up although from looking at http://earlysteps.wagn.org/wagn/Antisocial_Activities they do seem to exist, acronym*trash showing up in "The other parts")

--John Abbe, July 22, 2009


(discussion up to this point copied from Basic import)


drop.io has an impressively wide variety of methods to import. DabbleDB also has really easy import, see their demo.

  --John Abbe.....Sun Jan 23 00:24:38 -0800 2011

Relatedly, I could currently (getting Tom email for democracyinnovations) use import via email.

  --John Abbe.....Mon Jan 24 08:34:01 -0800 2011

I don't really like this description of the import function.


Really, import is the inverse of another function, export. I only point this out because when we define standard export formats and methods, we will want to be able to import the exported data directly into another Wagn. This also becomes a proto-WagNet function.

  --Gerry Gleason.....2013-03-18 11:33:44 +0000

The CSV stuff seems pretty kludgy, and I would prefer it go with the Basic import card as that one documents the actual proto-function. The trash stuff is a distraction here, this card should be about designing what functions should emerge from this work.


Drag/drop methods are very desirable, but require deeper design for a good UX.

  --Gerry Gleason.....2013-03-18 11:38:29 +0000

I don't especially care where we do the work, but I think we should start fresh, and the ticket should start with a verb.

  --Ethan McCutchen.....2013-03-20 02:31:19 +0000

actually, we have a current ticket: support simple import and export. closing this.

  --Ethan McCutchen.....2013-03-20 02:33:19 +0000