28
SMWCon Spring 2011, Arlington VA, USA April 29, 2011 Jesse Wang | Ning Hu

Smwcon widget editor - first preview

Embed Size (px)

DESCRIPTION

A semantic visual widget editor prototype built on top of semantic mediawiki to enable metadata programming and easy social semantic application development

Citation preview

Page 1: Smwcon widget editor - first preview

SMWCon Spring 2011, Arlington VA, USA April 29, 2011

Jesse Wang | Ning Hu

Page 2: Smwcon widget editor - first preview

� � Widget Editor is a part of the wiki infrastructure to

make Semantic MediaWiki a social semantic web application development platform

� To let people build web applications through metadata and GUI � Lowering the bar for people to develop web

applications � Still a very work-in-progress prototype (first alpha)

What is Widget Editor

Page 3: Smwcon widget editor - first preview

� Motivation

Vision

Live Demo

Design

Discussion, Q&A

Agenda

Page 4: Smwcon widget editor - first preview

� Motivation

Why we want to do this?

Page 5: Smwcon widget editor - first preview

� � Collaboration � Collecting structured data � Sharing information � Management of heterogeneous data � Simple workflow management � User-generated arbitrary queries � Data analysis and information discovery

Usage of SMW

Page 6: Smwcon widget editor - first preview

� � Schema design � Extension choices � Forms � Template � Skins � Queries

Common Work Items

Page 7: Smwcon widget editor - first preview

� Expert in Need

Page 8: Smwcon widget editor - first preview

� Vision

It could be a lot easier… Let’s start with some widgets…

Page 9: Smwcon widget editor - first preview

� � Most users just like to build

contents � CMS: Drupal, WordPress, MW/

SMW, … �  SNS: MySpace, Ning, WetPaint,

LinkedIn, … � Frameworks allows people to

focus on content or data

Focus on Content

Page 10: Smwcon widget editor - first preview

� � Frameworks let users set “meta-data”

�  So they can customize the content

� Users contribute and customize �  via meta-data

�  including parameters

� Users can build systems or content repository �  via meta-data (parameters)

Data and Metadata

Page 11: Smwcon widget editor - first preview

� � Metadata to glue code and content � It brings power and flexibility in this paradigm:

� More metadata è Higher customizability � More linkage èHigher flexibility

� In Semantic MediaWiki � Metadata = Special Wiki Data

�  Template, category, property, etc.

Metadata as Glue

Page 12: Smwcon widget editor - first preview

� � Existing examples:

�  “Allowed values” è Auto-completion in SF �  “has default form” è Map form to data (category)

� We want to enhance the experience �  “has range” è auto-completion in Semantic Forms �  “has domain” è auto-construct form for the domain �  “has label/description” è metadata to use in forms �  “has style” è the visual part of customization

Metadata Programming

Page 13: Smwcon widget editor - first preview

� � OOAD is something quite old now

�  Is OOAD in SMW application development?

� Do we have tools to help user with OOAD? � Any Design Patterns to help? � Model-View-Controller (MVVM)

� Does the model get linked to view nicely?

Object-Oriented

Page 14: Smwcon widget editor - first preview

� � Category and widget hierarchy

� Each category is a domain (class) � Each category has a widget � Widget reflects category hierarchy � Animal è Person è Employee, Patient

� Widget can embed other widgets � Aggregation to make application construction easier � Object “Person” contains object “Address” which has

“State”, “City”, etc.

Widget as Objects

Page 15: Smwcon widget editor - first preview

� � Widget has a collection of fields

� Each field is linked to a property � Each field gets metadata from associated property

�  Type (Date, Number, Widget, …) �  Has domain and range…

� Widget is also a user interface to edit and view wiki content � Editing form can be automatically generated

Widget as UI

Page 16: Smwcon widget editor - first preview

� Live Demo

Among the first to see how it works

Page 17: Smwcon widget editor - first preview

� � Widget Designer

� Data type (Number, File/Image, Page, …) � Range (number range, enumeration, query) � Live widget view � Open architecture � And more

� Action Connector � Action link between widget fields

� Automatic Form Generation

Demo Recap

Page 18: Smwcon widget editor - first preview

� WE Design

How we did it

Page 19: Smwcon widget editor - first preview

� � Category è Class � Property è Attributes � Page in a category è Instance of a class � Data in a page è attribute values of an instance

� Bringing OO into SMW is not too hard

SMW and OO

Page 20: Smwcon widget editor - first preview

� � Model == category + property + template field? � View == template? � Controller == template + parser function?

� More complicated and convolved … � We are not using *semantic* in SMW

SMW and MVC

Page 21: Smwcon widget editor - first preview

� WE Model �

MW

+ S

MW�

Super Category �

Sub Widget �

Template�Sub Cate �

Template�

Sup Widget �

Field �Prop �

Field �Prop �

Field �Prop �

Field �Prop �

Person �

Employee �

Patient

Address � Name �

Company �

Disease �

Page 22: Smwcon widget editor - first preview

� WE View

Page 23: Smwcon widget editor - first preview

� � Field-Internal constraint defined in “Model”

� Property “Allows value” �  “#wfallowsvalue”

� Field-External constraint defined by “Action Connector” � Associate with parser function

WE Control

Page 24: Smwcon widget editor - first preview

� � The editing view (input form) is automatically

generated using the metadata � User can control:

� Label � Table or Section (horizontal vs. vertical layout) �  Infobox (with header or not) �  Some styles � Order (index) � And more to be added

WE Form

Page 25: Smwcon widget editor - first preview

� � Action Connector to dynamically modify the

metadata � Upon changes in related field’s values � Provide richer interaction / transaction among the

fields (properties)

� All these are meta-data

WE Act

Page 26: Smwcon widget editor - first preview

� Discussion

It’s our first demo, we’ll have a lot to do We need your help.

Page 27: Smwcon widget editor - first preview

� � “What if we build something that nobody uses?” J � Will it be useful? � If yes, are you willing to help?

� Help us with development � Be our first customers

WE Need Feedback

Page 28: Smwcon widget editor - first preview

� � Questions, suggestions and comments?

Thank You!