Skip to content

mobo is JSON Schema based modeling bot for Semantic MediaWiki!

Notifications You must be signed in to change notification settings

hermannschwaerzlerUIBK/mobo

 
 

Repository files navigation

Build Status

Why mobo?

The structure of a Semantic MediaWiki (SMW) can become hard to develop and maintain as it increases in size and complexity. With this project an object oriented modeling approach based on the JSON Schema format is used. Instead of creating SMW Attributes, Templates and Forms by hand in wikitext, Fields, Models and Forms are defined through JSON Files. Properties can be inherited and overwritten which keeps the model DRY.

mobo is a Node.js based toolset that validates, visualizes, converts and uploads your development model in real-time to your wiki.

Getting Started

Requirements

  • Node.js is required for mobo to install/run.
  • A Semantic MediaWiki Installation is required as upload target. Semantic Forms is required, the HeaderTabs and TemplateData extension are supported.
  • Your wiki needs a bot account that provides the login data you need to specify in your settings.json. The Bot should have the "bot" and possibly the "administrator" (if you want to upload special pages) privileges.

Installation

Install mobo and create a new project:

$ npm install -g mobo               # Installs mobo globally. If this fails: "sudo npm install -g mobo"
$ mkdir new_model && cd new_model   # Creates and enters new directory
$ mobo --init                       # Initializes the empty directory with the default structure
$ nano settings.json                # Adjust / enter options (login data for the bot...)
$ mobo                              # Runs mobo in interactive mode

If mobo can't be added to your global path, it can be run manually:

$ node /path/to/mobo/cli.js 

Update

$ npm update -g mobo

Configuration

To overwrite the default settings, just add them to your settings.json.

Enter mobo -c to print out the currently used configuration, including all inherited default values. If you want to change a setting, simply copy it into your settings.json and adjust it.

Documentation

There are a few context specific README.md files within the project:

Screenshots

Your model is developed with your favorite text editor:

text-editor

mobo is a console application. It validates, generates and uploads your model - in realtime by default:

cli

There is a webapp that allows you to browse your current model and the resulting wikitext:

webapp

mobo can generate a graph model (has to be layouted via Gephi) that can be explored interactively:

graph

The final SMW structure makes use of Semantic Forms:

forms

Templates are auto-documented:

docs

Demo

(Coming soon)

License

Copyright (c) 2014 Simon Heimler Licensed under the MIT license.

About

mobo is JSON Schema based modeling bot for Semantic MediaWiki!

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 95.9%
  • CSS 4.1%