Skip to content

Commit 24c516c

Browse files
authored
reference screenshots [skip ci]
1 parent 2e5e26d commit 24c516c

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
**Django Data Wizard** is an interactive tool for mapping structured data (e.g. Excel, XML) into a normalized database structure via [wq.io] and the [Django REST Framework]. Django Data Wizard allows novice users to map spreadsheet columns to serializer fields (and cell values to foreign keys) on-the-fly during the import process. This reduces the need for preset spreadsheet formats, which most data import solutions require.
22

3+
<img width="33%"
4+
alt="Column Choices"
5+
src="https://raw.githubusercontent.com/wq/django-data-wizard/master/images/02-columns.png">
6+
<img width="33%"
7+
alt="Auto Import - Progress Bar"
8+
src="https://raw.githubusercontent.com/wq/django-data-wizard/master/images/08-data75.png">
9+
<img width="33%"
10+
alt="Imported Records"
11+
src="https://raw.githubusercontent.com/wq/django-data-wizard/master/images/10-records.png">
12+
313
By default, Django Data Wizard supports any format supported by [wq.io] (Excel, CSV, JSON, and XML). Additional formats can be integrating by creating a [custom wq.io class] and then registering it with the wizard. For example, the [Climata Viewer] uses Django Data Wizard to import data from [climata]'s wq.io-based web service client.
414

515
The Data Wizard supports straightforward one-to-one mappings from spreadsheet columns to database fields, as well as more complex scenarios like [natural keys] and [Entity-Attribute-Value] (or "wide") table mappings. It was originally developed for use with the [ERAV data model][ERAV] provided by [vera].
@@ -137,6 +147,10 @@ If you are using wq.db, you could allow the user to initiate an import run by ad
137147
### auto
138148
#### `POST /datawizard/[id]/auto`
139149

150+
<img align="right" width=320 height=240
151+
alt="Auto Import - Progress Bar"
152+
src="https://raw.githubusercontent.com/wq/django-data-wizard/master/images/06-data25.png">
153+
140154
The `auto` task attempts to run the entire data wizard process from beginning to end. If any input is needed, the import will halt and redirect to the necessary screen. If no input is needed, the `auto` task is equivalent to starting the `data` task directly. This is an asynchronous method, and returns a `task_id` to be used with the status API.
141155

142156
The default [run_detail.html] template provides an example form to initiate the `auto` task.
@@ -172,6 +186,10 @@ The default [run_auto.html] and [run_data.html] templates include a `<progress>`
172186
### serializers
173187
#### `GET /datawizard/[id]/serializers`
174188

189+
<img align="right" width=320 height=240
190+
alt="Serializer Choices"
191+
src="https://raw.githubusercontent.com/wq/django-data-wizard/master/images/00-serializers.png">
192+
175193
The `serializers` task provides a list of all registered serializers. This screen is shown by the `auto` task if a serializer was not specified when the `Run` was created. The default [run_serializers.html] template includes an interface for selecting a registered serializer. If a serializer is already selected, the template will display the label and a button to (re)start the `auto` task.
176194

177195
### updateserializer
@@ -186,6 +204,10 @@ parameter | description
186204
### columns
187205
#### `GET /datawizard/[id]/columns`
188206

207+
<img align="right" width=320 height=240
208+
alt="Column Choices"
209+
src="https://raw.githubusercontent.com/wq/django-data-wizard/master/images/02-columns.png">
210+
189211
The `columns` task lists all of the columns found in the dataset (i.e. spreadsheet) and their mappings to serializer fields. This screen is shown by the `auto` task if there are any column names that could not be automatically mapped. The potential mappings are one of:
190212
* simple serializer field names (e.g. `field`)
191213
* nested field names (for [natural keys], e.g. `nested[record][field]`)
@@ -207,6 +229,10 @@ parameter | description
207229
### ids
208230
#### `GET /datawizard/[id]/ids`
209231

232+
<img align="right" width=320 height=240
233+
alt="Identifier Choices"
234+
src="https://raw.githubusercontent.com/wq/django-data-wizard/master/images/04-ids.png">
235+
210236
The `ids` task lists all of the identifiers found in the dataset (i.e. spreadsheet) that are in a column known to correspond to a foreign key. This screen is shown by the `auto` task if there are any identifiers that could not be automatically mapped to foreign key values. The potential mappings depend on the serializer field used to represent the foreign key.
211237

212238
* Existing record ID or slug (for [PrimaryKeyRelatedField], [SlugRelatedField], and [NaturalKeySerializer][natural keys])
@@ -227,13 +253,22 @@ parameter | description
227253

228254
### data
229255
#### `POST /datawizard/[id]/data`
256+
257+
<img align="right" width=320 height=240
258+
alt="Auto Import - Progress Bar"
259+
src="https://raw.githubusercontent.com/wq/django-data-wizard/master/images/08-data75.png">
260+
230261
The `data` task starts the actual import process (and is called by `auto` behind the scenes). Unlike `auto`, calling `data` directly will not cause a redirect to one of the other tasks if any meta input is needed. Instead, `data` will attempt to import each record as-is, and report any errors that occured due to e.g. missing fields or unmapped foreign keys.
231262

232263
This is an asynchronous method, and returns a `task_id` to be used with the `status` API. The default [run_data.html] template includes a `<progress>` element for use with [wq/progress.js] and the status task.
233264

234265
### records
235266
#### `GET /datawizard/[id]/records`
236267

268+
<img align="right" width=320 height=240
269+
alt="Imported Records"
270+
src="https://raw.githubusercontent.com/wq/django-data-wizard/master/images/10-records.png">
271+
237272
The `records` task provides a list of imported rows (including errors). It is redirected to by the `auto` and `data` tasks upon completion. When used with wq.db, the `records` task includes links to the detail page for each newly imported record. The default [run_records.html] template includes an interface for displaying the record details.
238273

239274
[wq.io]: https://wq.io/wq.io

0 commit comments

Comments
 (0)