40 lines
1.3 KiB
Markdown
40 lines
1.3 KiB
Markdown
## JSON Ingestion Examples
|
|
|
|
The data is pulled from https://jsonplaceholder.typicode.com/
|
|
|
|
### Approach 1: Migrate API
|
|
#### Requirements
|
|
- Migrate
|
|
- Migrate Plus
|
|
|
|
There are 2 migrations:
|
|
- images (5000 total)
|
|
- json_posts_to_posts (100 total)
|
|
|
|
To run them you can do:
|
|
```
|
|
drush mim images --limit=100
|
|
drush mim json_posts_to_posts
|
|
```
|
|
there are only 100 posts, so for our purposes we don't need more than 100 images.
|
|
|
|
Once both migrations have been run you can see the data at `/migration-posts` which is controller by a view.
|
|
This approach has the advantage of requiring migrate API which pulls in a lot of helpful things,
|
|
such as rollbacks, update old items, only importing new items...etc.
|
|
### Approach 2: Custom Drush Command
|
|
Will import the first 100 images only, followed by 100 posts.
|
|
Also available for viewing on `/migration-posts` after import.
|
|
```
|
|
drush jie-posts
|
|
```
|
|
### Approach 3: Views JSON Source
|
|
#### Requirements
|
|
- views_json_source
|
|
|
|
Make sure `views_json_source` module is included in your codebase.
|
|
Then visit `/views-json-source` after enabling this module which is a preconfigured view of titles and body fields from external JSON.
|
|
|
|
### Approach 4: Javascript Only
|
|
1. Attach a javascript library to a page
|
|
2. Fetch the API data and render it all client side
|