Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gbv/wordpress-importer-service
https://github.com/gbv/wordpress-importer-service
mycore
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/gbv/wordpress-importer-service
- Owner: gbv
- Created: 2018-07-11T16:59:45.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-09T16:10:26.000Z (5 months ago)
- Last Synced: 2024-11-10T03:17:21.630Z (2 months ago)
- Topics: mycore
- Language: Java
- Size: 248 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WordpressImporterService
A Service which synchronizes Wordpress blog posts with MyCoRe mods objects. This is the server part. For visualization you can use the [WordpressImporterGUI](https://github.com/gbv/wordpress-importer-gui).
## Development Server
Run `mvn clean jetty:run` to build the project and run a jetty web server.
## Configuration
The configuration should be present in the `.wpimport/` directory of the executing user. There should be a `config.json`.
### Example config.json
```json
{
"parts": {
"test": {
"blog": "https://verfassungsblog.de/",
"repository": "http://localhost:8291/mir/",
"parentObject": "mir_mods_00000001",
"postTemplate": "verfassungsblog.template.xml",
"username": "admin",
"password": "password",
"license": "http://creativecommons.org/licenses/by/4.0/",
"license": {
"label": "Public Domain Mark 1.0",
"logoURL": "https://licensebuttons.net/l/publicdomain/80x15.png",
"URL": "https://creativecommons.org/publicdomain/mark/1.0/",
"classID": "cc_mark_1.0"
}
}
}
}
```* **blog** - the url to the WordPress instance
* **repository** - the url to the mycore instance
* **parentObject** - the id of the object to which all blogpost will be appended
* **postTemplate** - a file name or path relative to the `.wpimport` folder which contains a mods.xml template.
* **username** - the username for the mycore restapi
* **password** - the password for the mycore restapi
* **license** - the license which will be used for all posts. Can be a string or an object with the following properties:
* **label** - the label of the license
* **logoURL** - the url to the license logo
* **URL** - the url to the license
* **classID** - the class id of the license (mods:classificiation/@authority=)### Database
To check which wordpress post already has a mycore object, all childen of the `parentObject` will be loaded with the
mycore restapi and all posts will be loaded with the wordpress restapi. Then every post which url is not found in a
mycore object can be imported.To load all MyCoRe objects and posts the service needs like 30 minutes. So i decided to save them in a small json based
file in the configuration folder and only update new ones. The files are named: `mycoredb_$hostname.json` and `blogdb_$hostname.json`