Applied Semantic MediaWiki <br />SMWCon Spring 2011 Tutorial #4<br />2011.04.28<br />
Who Are We<br />Jesse Jiaxin Wang<br />Sr. Software Architect, Vulcan Inc.<br />http://semantic-mediawiki.org/wiki/User:Je...
About Vulcan<br />3<br />Vulcan Inc. was established in 1986 by investor and philanthropist Paul G. Allen, co-founder of M...
Agenda<br />
Jumpstart<br />
Using a Bundle<br />Semantic Bundle <br />http://www.mediawiki.org/wiki/Semantic_Bundle<br />Features: (Pros and Cons)<br...
Installation Package<br />SMW+ Package <br />http://smwforum.ontoprise.com/smwforum/index.php/Help:SMW%2B<br />Features:<b...
Real-world Deployment<br />When you want a set of custom extensions, you want<br />Your <br />OWN <br />deployment <br />m...
Deployment Practices<br />Your own codebase, with checkpoints<br />SVN or Git to get the base, and then<br />Customize the...
Build System<br />You own it!<br />Your own selection of extensions<br />And versions of them<br />Own patches, scripts an...
Wish List<br />A public wiki installation repository<br />with lots of packages<br />Including necessary data<br />Semanti...
Customize<br />
What to Customize<br />Skins<br />Extensions<br />Schema and Data<br />Templates and forms<br />Anything else you can code...
Skins<br />How to customize a skin<br />Create your skin file in /skins folder within your wiki directory, like  Ontoskin....
Seahawk Video Skin<br />
Skin Customization Example<br />Vulcan Development Wiki and Seahawk wiki.  <br />We have customized these two skins for ou...
Personalized Skin<br />Skin supports customization via __USERNAME__<br />User can have personalized styles within a skin<b...
Schema and Data<br />“Just do it!”<br />Easy to start<br />Flat, large ontology, at beginning<br />Many properties only va...
N-ary Relations<br />Type:Record<br />From 1.5 + supports Semantic Search<br />Still no “Allowed values”, no unit, and no ...
Extensions<br />Where to find extensions<br />http://www.mediawiki.org/wiki/Extension_Matrix<br />By supported version (1....
Get the Extensions!<br />Some essential ones!<br />http://semantic-mediawiki.org/wiki/Help:MediaWiki_extensions<br />Seman...
Our Experiences<br />We built several wikis (2008-2011)<br />The most useful extension (SF) often needed patches<br />Auto...
Security Extensions<br />Know thyself! – What you want, really.<br />Often customers don’t know what they really want<br /...
A Short Story<br />Proposal Management System (Wiki)<br />Users (including privileged users) submit proposals<br />Reviewe...
How to Select | Test<br />Inclusion / transclusion<br />Special:Export<br />Aton/RSS feed, Watch page<br />Listing and Sea...
Visualization: Our Path<br />2008: SRF used to only have few options <br />2009: Exhibit seemed cool<br />Ported webit<br ...
Comparing SRF Options<br />Google Charts (pie and bar)<br />Google does it! (G gets your data, no offline choice…)<br />St...
Sidebar Customization<br />Basic: MediaWiki:Sidebar<br />Enhanced: semantic queries, and tree views<br />Advanced: use var...
Current Sprint in Sidebar<br />*Current sprint<br />{{#ask: [[Category:Project sprints]]<br />[[Sprint start date::<{{CURR...
My Active Sprint Tasks in Sidebar<br />*My tasks<br />{{#ask: [[Category:Project tasks]]<br />[[Project task owner::<q>[[U...
More Extension Examples<br />Twitter Feed<br />http://www.mediawikiwidgets.org/Twitter_Search (example)<br />Flickr Feed<b...
Templates and Forms<br />MediaWiki template is essential for its structured data handling<br />Editing, especially Templat...
Form with a Style<br />http://www.thethirdturn.com/w/index.php?title=Form:Driver&action=edit<br />
Forms with autocompletion<br />Advanced Auto-Completion on Customized Query Results<br />Basic Auto-Completion on Category...
Story Template<br />To have a field (form link) for users to quickly create tasks that belong to the story (parameter pres...
Example: Daily Report<br />We want to achieve “burn-down” chart in our sprint overview<br />We need:<br />Daily new tasks ...
Quiz #1:<br />How do you specify Today, Tomorrow in query?<br />
Date Magic and Templates<br />Magic words: CURRENTYEAR/MONTH/DAY<br />Some MediaWiki  date-related templates to use <br />...
Quiz #2:<br />How do you do strictly “less than” or “greater than”?<br />(Before 2010.03)<br />
Strict Comparison<br />Date query : how to do “In progress” with a finish date “>” today?<br />Extra markup would reduce u...
Quiz #3:<br />What if “Today” changes to “Tomorrow” or later dates in your query template?<br />{{CURRENTYEAR}}/{{CURRENTM...
Freeze the Time<br />Subclusion is your friend!<br />Subclusion = Substitute + inclusion<br />Today's newly started # task...
More Customization<br />Out there in the<br /> Wild Wiki World<br />
Integration<br />
Steps<br />Know what to build<br />Customers, customers, customers!<br />Get your collection of extensions…<br />Customize...
Case 1. Proper Wiki<br />Focus on Skin, Form and Template<br />Steps:<br />Pick a (default) skin<br />Design some forms<br...
Biology Ontology Wiki<br />People need discuss about the details related to construct a biology ontology<br />Classes (cat...
Ex: Property Form<br />
Forms on Namespace<br />http://www.mediawiki.org/wiki/Extension:Semantic_Forms#Based_on_namespace<br />“Easy-peazy, lemons...
Case 2: Simple Workflow App<br />Idea: go from one form to another form<br />Need form links in the template<br />May need...
Proposal Review Workflow Example<br />User submits a proposal via a form<br />Fill in basic information about the proposal...
Ways to Handle Workflow<br />Add a link to open another form<br />Force edit “review” using another form (e.g. reviewer fo...
Case 3: WikingDev Wiki<br />Our project management wiki<br />We use it for *all* things it can do:<br />Proposals, ideas, ...
Examples of Data I/O<br />Wiking Development Wiki  <br />An Imported email<br />http://wiking.vulcan.com/dev/index.php/Dem...
Microsoft Office Connector<br />Leverage Microsoft Office applications and technology<br />Bring SMW info to Office applic...
Our Agile Project Management (Scrum)<br />57<br />Wiking<br />Jesse Wang | SMWCon Amsterdam 2010<br />
Wiki Data I/O<br />Wiking development wiki has two external applications <br />Subversion integration<br />Microsoft Offic...
Data I/O Extensions<br />MediaWiki API – very basic read/write<br />Page Object Model<br />First Data I/O extension to all...
Wiki Object Model<br />Previous wiki data API efforts are not good enough to build applications <br />There are strong nee...
Wiki Object Model Objects<br />Category<br />Link<br />Property<br />Text<br />Magic word<br />HTML tag<br />Sentence<br /...
Demo of WOM<br /><ul><li>Demo at http://wiking.vulcan.com/dev_sandbox/
Demo 1: APIs
The API is part of MediaWiki API, with our additions to allow get and set (read/write) the content of a wiki page
http://wiking.vulcan.com/dev/index.php/Extension:Wiki_Object_Model/Apis
Demo 2: Inline Editor
A simple inline editor (AJAX styled) to let user modify a specific portion of the wiki page
Based on http://wiking.vulcan.com/dev/index.php/Extension:Wiki_Object_Model/Functions</li></ul>62<br />
4. Final Case Study<br />Stanford University CS 227 Car Wiki<br />Developed for Masters level CS class for assignment in “...
“Dream Car” Wiki Ontology<br />The ontology was left intentionally incomplete and students were encouraged to update the o...
Upcoming SlideShare
Loading in …5
×

Smwcon spring2011 tutorial applied semantic mediawiki

5,721 views

Published on

The 4th tutorial on semantic mediawiki for SMWCon Spring 2011 By Jesse Wang, Ning Hu, and Wil Smith

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
5,721
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
69
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • ----- Meeting Notes (3/24/11 15:29) -----Vulcan is the MothershipProviding funds and supportPaul Allen successful
  • Counter information overload with visualizations
  • WikiTags is here to bridge semantic wikis with more potential users, such as users of Microsoft Word, Outlook and Excel, with Microsoft SmartTag technology.
  • Smwcon spring2011 tutorial applied semantic mediawiki

    1. 1. Applied Semantic MediaWiki <br />SMWCon Spring 2011 Tutorial #4<br />2011.04.28<br />
    2. 2. Who Are We<br />Jesse Jiaxin Wang<br />Sr. Software Architect, Vulcan Inc.<br />http://semantic-mediawiki.org/wiki/User:Jesse<br />Ning Hu<br />Sr. Software Developer, TeamMersion LLC<br />Wil Smith<br />Software Engineer, Vulcan Inc.<br />
    3. 3. About Vulcan<br />3<br />Vulcan Inc. was established in 1986 by investor and philanthropist Paul G. Allen, co-founder of Microsoft, to manage his business and philanthropic efforts. Allen is chairman of Vulcan and his sister, Jody Allen, is president and CEO. <br />
    4. 4. Agenda<br />
    5. 5. Jumpstart<br />
    6. 6. Using a Bundle<br />Semantic Bundle <br />http://www.mediawiki.org/wiki/Semantic_Bundle<br />Features: (Pros and Cons)<br />A set of author-selected extensions<br />A fixed set of extensions, few customization options<br />Simplified download and configuration process<br />Still need manual configuration<br />Usually up-to-date and work well together<br />Community tested and supported<br />
    7. 7. Installation Package<br />SMW+ Package <br />http://smwforum.ontoprise.com/smwforum/index.php/Help:SMW%2B<br />Features:<br />A set of (fixed) company selected extensions<br />Simplifies installation and configuration<br />Windows installer and VM images are great<br />And they just became free!<br />You may still be curious about what it does…<br />Professionally documented and tested<br />Usually weeks after major release of latest SMW<br />
    8. 8. Real-world Deployment<br />When you want a set of custom extensions, you want<br />Your <br />OWN <br />deployment <br />mechanism!<br />
    9. 9. Deployment Practices<br />Your own codebase, with checkpoints<br />SVN or Git to get the base, and then<br />Customize the wiki<br />Script or Manual or Mixed<br />A third-party deployment framework and repository<br />Ontoprise: http://smwforum.ontoprise.com/smwforum/index.php/Help:Deployment_Framework<br />RPI: http://code.google.com/p/smwbp/wiki/setup_wiki<br />Referata: http://smw.referata.com/wiki/Category:Packages<br />
    10. 10. Build System<br />You own it!<br />Your own selection of extensions<br />And versions of them<br />Own patches, scripts and templates<br />Vulcan: Internal GIT repositories of completed build<br />Versioning and branches between projects<br />Other examples:<br />RPI Best Practice (Google code)<br />Hudson build (PNNL)<br />
    11. 11. Wish List<br />A public wiki installation repository<br />with lots of packages<br />Including necessary data<br />Semantically marked up<br />Well documented (or even reviewed)<br />Easy to find and use<br />Federated wiki package store (Wiki AppStore)<br />
    12. 12. Customize<br />
    13. 13. What to Customize<br />Skins<br />Extensions<br />Schema and Data<br />Templates and forms<br />Anything else you can code… <br />
    14. 14. Skins<br />How to customize a skin<br />Create your skin file in /skins folder within your wiki directory, like Ontoskin.php<br />Finish this skin files following Ontoskin.php skin files<br />There are two classes in this skin files:<br />Inherit from SkinTemplate, set the CSS and template filter.<br />Inherit from QuickTemplate, set the UI style<br />Create skin folder with your skin name in /skins<br />Copy image and CSS files to your skin folder<br />Use your own skin<br />In LocalSettings.php set<br />$wgDefaultSkin = 'wiking_skin'<br />
    15. 15. Seahawk Video Skin<br />
    16. 16. Skin Customization Example<br />Vulcan Development Wiki and Seahawk wiki. <br />We have customized these two skins for our projects and the key is the method of QuickTemplate. In this method, you can decide what to show and how it shows on your wiki<br />You can customize wiki site like menu links, page titles, CSS and JavaScript files in the data properties of QuickTemplate<br />For example, show wiki side bar in your skin<br /><?phpforeach ($this->data['sidebar'] as $bar => $cont) { ?><br /> <li><br /> <a href="#"><h5><?php $out = wfMsg( $bar );></h5></a><br /> <ul><br /> <?phpforeach($cont as $key => $val) { ?><br /> <li id="<?php echo $val['id'] ?>" ><br /> <a href="<?php echo $val['href'] ?>"><?php echo $val['text'] ?></a><br /> </li><br /> <?php } ?><br /> </ul><br /> </li><br /><?php } ?><br />
    17. 17. Personalized Skin<br />Skin supports customization via __USERNAME__<br />User can have personalized styles within a skin<br />http://www.mediawiki.org/wiki/Manual:Skin_configuration#User_CSS<br />Tip: A way to turn off Wikipedia banner ad:<br />http://en.wikipedia.org/wiki/User:Jesseone/vector.css<br />
    18. 18. Schema and Data<br />“Just do it!”<br />Easy to start<br />Flat, large ontology, at beginning<br />Many properties only valid in certain cases<br />But it’ll get better!<br />“Designer” Ontology<br />Professionally generated (Protégé)<br />More data (restriction) than necessary<br />Data importer isn’t powerful to fully support all OWL features<br />“The middle road” <br />practical schema design: think, adapt, evolve<br />
    19. 19. N-ary Relations<br />Type:Record<br />From 1.5 + supports Semantic Search<br />Still no “Allowed values”, no unit, and no other visual customizations<br />Semantic Internal Object extension<br />Adding an object in the middle<br />Using parameterized (patterned) properties<br />Using a triple store (external)<br />
    20. 20. Extensions<br />Where to find extensions<br />http://www.mediawiki.org/wiki/Extension_Matrix<br />By supported version (1.16, 1.17, …)<br />By status (beta, stable, …)<br />By type (API, AJAX, hook, user rights…)<br />By new-ness (sort by most recently created time)<br />By talk page new-ness…<br />By most updated versions…<br />
    21. 21. Get the Extensions!<br />Some essential ones!<br />http://semantic-mediawiki.org/wiki/Help:MediaWiki_extensions<br />Semantic MediaWiki extensions are quite a few:<br />http://semantic-mediawiki.org/wiki/Help:SMW_extensions<br />Find what you want <br />Not exactly? Then patch it!<br />Nothing close? Then build it!<br />Or find people to build it <br />
    22. 22. Our Experiences<br />We built several wikis (2008-2011)<br />The most useful extension (SF) often needed patches<br />Auto-completion<br />Fixed set of allowed values<br />All values in a category<br />All values having a specific property<br />All values from a query<br />More parameters support (default values, UID, etc.)<br />New functionality in other extensions or SMW Core<br />Aggregation (average, max, sum, etc.)<br />e.g. > and < comparison<br />
    23. 23. Security Extensions<br />Know thyself! – What you want, really.<br />Often customers don’t know what they really want<br />Many choices = nothing is perfect<br />From basic to advanced:<br />MediaWiki built-in security<br />Simple Security (Page Security)<br />HaloACL<br />Features<br />Restrictions<br />
    24. 24. A Short Story<br />Proposal Management System (Wiki)<br />Users (including privileged users) submit proposals<br />Reviewers (privileged users) rate and review them<br />Reviewers discuss and make decision and assign<br />What security extension should it employ?<br />HaloACL?<br />SimpleSecurity?<br />MediaWiki built-in groups?<br />
    25. 25. How to Select | Test<br />Inclusion / transclusion<br />Special:Export<br />Aton/RSS feed, Watch page<br />Listing and Searching<br />Special:Search<br />RecentChanges, AllPages<br />Diff and Revision URL<br />Action links (raw, render)<br />API (???)<br />Action=query? <br />3rd party APIs<br />Author backdoor?<br />Caching?<br />Files and Images?<br />Redirects?<br />Other extensions?<br />
    26. 26. Visualization: Our Path<br />2008: SRF used to only have few options <br />2009: Exhibit seemed cool<br />Ported webit<br />Fixed some bugs and enhanced features <br />Runway, TimePlot, multiple rows in Map view etc.<br />2010: Open Flash Chart<br />More bars, pies, lines, scatter plot…<br />Interaction<br />Richer information display<br />
    27. 27. Comparing SRF Options<br />Google Charts (pie and bar)<br />Google does it! (G gets your data, no offline choice…)<br />Static bar and pie, no color options…<br />Exhibit<br />More choices (timeline, map, facet, runway…)<br />Browser compatibility issues<br />OFC (Open Flash Chart)<br />Many bars, charts, plots, even scattered plots<br />Flash required<br />
    28. 28.
    29. 29. Sidebar Customization<br />Basic: MediaWiki:Sidebar<br />Enhanced: semantic queries, and tree views<br />Advanced: use variables together with queries<br />Custom: Using an extension: DynamicSidebar<br />Customize your own sidebar at User:<username>/Sidebar<br />http://www.mediawiki.org/wiki/Extension:DynamicSidebar<br />Example: http://wiking.vulcan.com/dev/<br />
    30. 30. Current Sprint in Sidebar<br />*Current sprint<br />{{#ask: [[Category:Project sprints]]<br />[[Sprint start date::<{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]]<br />[[Sprint end date::>{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]]<br />|format=template<br />|template=Sidebar query template<br />|link=none<br />|}}<br />
    31. 31. My Active Sprint Tasks in Sidebar<br />*My tasks<br />{{#ask: [[Category:Project tasks]]<br />[[Project task owner::<q>[[User alias::{{CURRENTUSER}}]]</q>]]<br />[[Project story::<q><br />[[Project sprint::<q>[[Category:Project sprints]]<br />[[Sprint start date::<{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]]<br />[[Sprint end date::>{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]]</q>]]<br /></q>]]<br />[[Project task status::In progress||Not started]]<br />|format=template<br />|template=Sidebar query template<br />|link=none<br />|}}<br />
    32. 32. More Extension Examples<br />Twitter Feed<br />http://www.mediawikiwidgets.org/Twitter_Search (example)<br />Flickr Feed<br />http://www.mediawikiwidgets.org/Flickr<br />Amazon Carousel<br />https://widgets.amazon.com/Amazon-Carousel-Widget/<br />Google Analytics<br />http://www.mediawiki.org/wiki/Extension:Google_Analytics<br />Optify Analytics<br />http://www.optify.net/<br />
    33. 33. Templates and Forms<br />MediaWiki template is essential for its structured data handling<br />Editing, especially Template editing, is not trivial<br />Semantic Forms extension greatly lowers the bar<br />Customizing templates and forms can provide very visually appealing pages<br />
    34. 34. Form with a Style<br />http://www.thethirdturn.com/w/index.php?title=Form:Driver&action=edit<br />
    35. 35. Forms with autocompletion<br />Advanced Auto-Completion on Customized Query Results<br />Basic Auto-Completion on Category Values<br />
    36. 36. Story Template<br />To have a field (form link) for users to quickly create tasks that belong to the story (parameter preset)<br />{{#forminput:Project Task<br />|45<br />|<br />|Create a new task<br />|Project Task[story]={{PAGENAME}}&Project Task[owner]=__USERNAME__&Project Task[status]=Not started<br />}}<br />http://wiking.vulcan.com/dev/index.php/Prepare_for_SMWCon_Spring_2011<br />
    37. 37. Example: Daily Report<br />We want to achieve “burn-down” chart in our sprint overview<br />We need:<br />Daily new tasks (created, but not started yet)<br />Daily in-progress tasks (started by not done yet)<br />Daily finished tasks (completed)<br />Task ownership and completion timeline<br />And similar things for bugs (other analysis)<br />
    38. 38. Quiz #1:<br />How do you specify Today, Tomorrow in query?<br />
    39. 39. Date Magic and Templates<br />Magic words: CURRENTYEAR/MONTH/DAY<br />Some MediaWiki date-related templates to use <br />DATEDIFF, DATECOMP, …<br />NEXTDAY, NEXTDAYDATE, …<br />http://en.wikipedia.org/wiki/Category:Date-computing_templates<br />http://en.wikipedia.org/wiki/Category:ISO_date_templates<br />
    40. 40. Quiz #2:<br />How do you do strictly “less than” or “greater than”?<br />(Before 2010.03)<br />
    41. 41. Strict Comparison<br />Date query : how to do “In progress” with a finish date “>” today?<br />Extra markup would reduce usability<br />Semantic MediaWiki did NOT support it until 2010.11<br />We patched Semantic MediaWiki Core<br />Now (as of SMW 1.5.3 + ) we have < and > implemented <br />Use ≤ and ≥ (on ASCII keyboard 242 and 243)<br />And a configuration to turn it on<br />
    42. 42. Quiz #3:<br />What if “Today” changes to “Tomorrow” or later dates in your query template?<br />{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}<br />
    43. 43. Freeze the Time<br />Subclusion is your friend!<br />Subclusion = Substitute + inclusion<br />Today's newly started # tasks: [[Report start task count::{{subst:#ask: [[Category:Project tasks]]<br />[[Project task start date::{{{date|}}}]]<br />| format=count<br />|}}]]<br />
    44. 44. More Customization<br />Out there in the<br /> Wild Wiki World<br />
    45. 45. Integration<br />
    46. 46. Steps<br />Know what to build<br />Customers, customers, customers!<br />Get your collection of extensions…<br />Customize your wiki (template, forms)<br />Handle the data (schema, query, API, …)<br />
    47. 47. Case 1. Proper Wiki<br />Focus on Skin, Form and Template<br />Steps:<br />Pick a (default) skin<br />Design some forms<br />And templates (queries) behind the forms<br />Build starter pages and Go!<br />
    48. 48. Biology Ontology Wiki<br />People need discuss about the details related to construct a biology ontology<br />Classes (categories)<br />Properties<br />Relations<br />Textbook analysis<br />Discussion<br />Forms necessary to keep content tidy<br />
    49. 49. Ex: Property Form<br />
    50. 50. Forms on Namespace<br />http://www.mediawiki.org/wiki/Extension:Semantic_Forms#Based_on_namespace<br />“Easy-peazy, lemons squeezy” ?<br />
    51. 51. Case 2: Simple Workflow App<br />Idea: go from one form to another form<br />Need form links in the template<br />May need user rights management<br />
    52. 52. Proposal Review Workflow Example<br />User submits a proposal via a form<br />Fill in basic information about the proposal<br />Set a field in the form to be, say, “New”<br />User doesn’t see further information about “Reviewer” or “Owner”, etc.<br />Semantic notification (email and RSS feed) facilitates communication<br />Reviewer finds the form in a canned query<br />Reviewer changes the status to, say, “Approved”<br />Reviewer field (say “Reviewed by”) is (automatically) set<br />Then reviewer assigns the proposal to a owner, say, “Alice”<br />The owner (“Alice”) now sees it and can start work on it<br />Changes the status to “Active”<br />Adds a start date or maybe an estimated end date too<br />
    53. 53. Ways to Handle Workflow<br />Add a link to open another form<br />Force edit “review” using another form (e.g. reviewer form) <br />When saving the new form, the category is changed<br />Now we have a different category  a different default form<br />Change a value to include or exclude to another template<br />May need #if (or #switch) statement in template to change (or include/exclude) template values<br />Use “Page has default form” property (Semantic Forms extension)<br />
    54. 54. Case 3: WikingDev Wiki<br />Our project management wiki<br />We use it for *all* things it can do:<br />Proposals, ideas, email messages, features, bugs<br />Agile development: milestones, sprints, stories, tasks<br />Code/Feature association: SVN mapped to tasks/bugs<br />Progress analysis: burn-down charts, work calendar<br />Collaboration, Documentation, Demonstration<br />
    55. 55. Examples of Data I/O<br />Wiking Development Wiki <br />An Imported email<br />http://wiking.vulcan.com/dev/index.php/Demo_scenarios<br />An email imported as a Project Bug<br />http://wiking.vulcan.com/dev/index.php/Issue_11886_Insert_a_single_property<br />A task uploaded via Outlook with multiple commits<br />http://wiking.vulcan.com/dev/index.php/WikiTags_Release_Structure<br />
    56. 56. Microsoft Office Connector<br />Leverage Microsoft Office applications and technology<br />Bring SMW info to Office applications on-demand<br />API for data I/O: add and modify wiki data within Microsoft Office <br />Utilize semantics to improve relevance<br />Smart actions for semantic properties<br />API<br />API<br />Connections<br />Smart<br />Jesse Wang | SemTech 2010<br />
    57. 57. Our Agile Project Management (Scrum)<br />57<br />Wiking<br />Jesse Wang | SMWCon Amsterdam 2010<br />
    58. 58. Wiki Data I/O<br />Wiking development wiki has two external applications <br />Subversion integration<br />Microsoft Office integration<br />Extensions to support it<br />Semantic Wikitags<br />Semantic Connector<br />
    59. 59. Data I/O Extensions<br />MediaWiki API – very basic read/write<br />Page Object Model<br />First Data I/O extension to allow access some wiki structure data (links, title, basic template field)<br />SMWWriter<br />Based on POM, support annotations (semantic properties)<br />Data API extension in SMW+<br />Semantic WikiTags and Semantic Connector<br />Wiki Object Model<br />A powerful and comprehensive object model (Data API)<br />Read/write at finer object level (sentences, template parameters)<br />
    60. 60. Wiki Object Model<br />Previous wiki data API efforts are not good enough to build applications <br />There are strong needs for access the structured data and unstructured data in the wiki as a data store<br />From internal and external applications’ point of view <br />A DOM-like approach is reasonable choice<br />Xpath is a great tool and standard<br />Granularity offers flexibility and power<br />People like to operate on known objects rather than parsing and handling wiki texts<br />APIs provide access to both internal and external apps<br />
    61. 61. Wiki Object Model Objects<br />Category<br />Link<br />Property<br />Text<br />Magic word<br />HTML tag<br />Sentence<br />Word*<br />Image<br />61<br />Page<br />Section<br />Parameter<br />Parameter value<br />Template<br />Template field<br />Parser function<br />List item<br />Table<br />Table cell<br />* Not yet implemented as of April 2011 <br />
    62. 62. Demo of WOM<br /><ul><li>Demo at http://wiking.vulcan.com/dev_sandbox/
    63. 63. Demo 1: APIs
    64. 64. The API is part of MediaWiki API, with our additions to allow get and set (read/write) the content of a wiki page
    65. 65. http://wiking.vulcan.com/dev/index.php/Extension:Wiki_Object_Model/Apis
    66. 66. Demo 2: Inline Editor
    67. 67. A simple inline editor (AJAX styled) to let user modify a specific portion of the wiki page
    68. 68. Based on http://wiking.vulcan.com/dev/index.php/Extension:Wiki_Object_Model/Functions</li></ul>62<br />
    69. 69. 4. Final Case Study<br />Stanford University CS 227 Car Wiki<br />Developed for Masters level CS class for assignment in “Knowledge Representation Within a Social Context”<br /> Over 40 students created pages populating an ontology, created a personal page documenting their automobile, and compiled site statistics into group pages<br />Extra credit was offered to the entire class as a group upon initial wiki population assignment <br />
    70. 70. “Dream Car” Wiki Ontology<br />The ontology was left intentionally incomplete and students were encouraged to update the ontology<br />Car manufacturer pages<br />Car make & model pages<br />Personal “Licensed Car” Page<br />Custom properties added to ontology and personal pages<br />
    71. 71. Extensions for Car Wiki<br />Standard SMW extension suite downloaded from SMW+ code repository<br />Custom Semantic Results Formatter used with Open Flash Charts<br />Widgets extension included for creating custom JavaScript APIs to other social frameworks<br />
    72. 72. Forms and Templates<br />Semantic Forms for creating company, car, and personal vehicle<br />Templates for presenting your car and linking the make & model to Widget templates for social links<br />
    73. 73. Demo of Car Wiki<br />Ontology<br />Sample Car Manufacturer : Audi<br />Sample Car Make & Model : Audi A6/A7<br />Sample Licensed Cars : William_A6, William_A7<br />Final Chart of Completed Assignment<br />
    74. 74. A Wiki in a Week<br />Ontology, Code Installation and Sample Page Population Completed within a Day<br />SMW+ with core extensions<br />Minimal Updating and Bug Fixing of Components Taken from Other Wiki Projects<br />Custom widgets and result formatters<br />Final Population of Wiki Articles Completed Over the Course of a Week Long Assignment<br />
    75. 75. Summary<br />Jumpstart<br />Deployment of your bundle/suite/package<br />Code, pseudo-code/meta-data, and data<br />Customize<br />Skins, Styles<br />Extension choices<br />Integrate <br />Know the requirements and data<br />Put everything together and evolve<br />
    76. 76. Thank you<br />Questions and/or comments?<br />

    ×