SlideShare une entreprise Scribd logo
1  sur  73
Facets of Applied Semantic MediaWiki ++ SMWCon Fall 2011 Tutorial #4 2011.09.21
About This tutorial is intended to be used for people who already had the basic knowledge about Semantic MediaWiki. Me: http://semantic-mediawiki.org/wiki/User:Jesse SMW++ : Ontoprise, TeamMersion, Vulcan, etc. Project Halo: http://projecthalo.com/ Dr. Mark Greaves Vulcan Inc. Paul Allen, Idea Man
Agenda A high-level broad view
Jumpstart
Using a Bundle Semantic Bundle  http://www.mediawiki.org/wiki/Semantic_Bundle Features: (Pros and Cons) A set of author-selected extensions A fixed set of extensions, few customization options Simplified download and configuration process Still need manual configuration Usually up-to-date and work well together Community tested and supported
Installation Package SMW+ Package  http://smwforum.ontoprise.com/smwforum/index.php/Help:SMW%2B Features: A set of (fixed) company selected extensions Professionally documented and tested Usually weeks after major release of latest SMW Simplified installation and configuration Windows installer and VM images are great You may be curious about what it does exactly…
Deployment Framework Really easy to use and flexible Functionality (extensions) growing fast Saves lots of time of maintenance Clicks rather than lots of commands With the benefit of efficiency, quality and consistency Limited by the extensions and packages in it Supported extensions and packages are growing fast
Developer Deployment When you want a set of custom extensions, you want Your  OWN  deployment  mechanism!
Deployment Practices Your own codebase, with checkpoints SVN or Git to get the base, and then Customize the wiki Script or Manual or Mixed A third-party deployment framework and repository Ontoprise: http://smwforum.ontoprise.com/smwforum/index.php/Help:Deployment_Framework RPI: http://code.google.com/p/smwbp/wiki/setup_wiki Referata: http://smw.referata.com/wiki/Category:Packages
Build System You own it! Your own selection of extensions And versions of them Own patches, scripts and templates Vulcan: Internal GIT repositories of completed build Versioning and branches between projects Other examples: RPI Best Practice (Google code) Hudson build (PNNL)
Future Trend A public wiki installation repository with lots of packages Including necessary data Semantically marked up Well documented (or even reviewed) Easy to find and use Federated wiki package store (Wiki AppStore) Call for Participation
Customization
What to Customize Skins Extensions Schema and Data Templates and forms Anything else you can code… 
Skins How to customize a skin Create your skin file in /skins folder within your wiki directory, like  Ontoskin.php Finish this skin files following Ontoskin.php skin files There are two classes in this skin files: Inherit from SkinTemplate, set the CSS and template filter. Inherit from QuickTemplate, set the UI style Create skin folder with your skin name in /skins Copy  image and CSS files to your skin folder Use your own skin In LocalSettings.php set $wgDefaultSkin = 'wiking_skin'
Seahawks Video Skin
Skin Customization Example Vulcan Development Wiki and Seahawk wiki.   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 You can customize wiki site like menu links, page titles, CSS and JavaScript files in the data properties of QuickTemplate For example, show wiki side bar in your skin <?phpforeach ($this->data['sidebar'] as $bar => $cont) { ?>   <li>     <a href="#"><h5><?php $out = wfMsg( $bar );></h5></a>     <ul>       <?phpforeach($cont as $key => $val) { ?>               <li id="<?php echo $val['id'] ?>" >               	<a href="<?php echo $val['href'] ?>"><?php echo $val['text'] ?></a>               </li>       <?php } ?>     </ul>   </li> <?php } ?>
Personalized Skin Skin supports customization via __USERNAME__ User can have personalized styles within a skin http://www.mediawiki.org/wiki/Manual:Skin_configuration#User_CSS Tip: A way to turn off Wikipedia banner ad: http://en.wikipedia.org/wiki/User:Jesseone/vector.css
Schema Design
“Just Do It!” Easy to start Flat, large ontology, at beginning Many properties only valid in certain cases May have similar/duplicate items But it’ll get better over time! Seahawks Video Wiki
Designer Ontology Professionally generated after rounds of discussions Time consuming More comprehensive and thoroughly designed More data (restriction) than required Data (ontology) importer isn’t powerful to fully support all features in the designing tool (Protégé) Biology Ontology Wiki
The Middle Way Practical schema design  Plan and Explore Think, adapt, and evolve Our Agile Project Management Wiki
N-ary Relations Type:Record in SMW Semantic Internal Object extension Adding an object relation in the middle (Reification) Using parameterized  properties (Example: the third turn wiki) Using a triple store (external)
Extensions
Find Extensions Where to find extensions http://www.mediawiki.org/wiki/Extension_Matrix By supported version (1.16, 1.17, …) By status (beta, stable, …) By type (API, AJAX, hook, user rights…) By new-ness (sort by most recently created time) By talk page new-ness… By most updated versions… And of course using search tools from G.Y.M…
Get the Extensions! Some essential MediaWiki extensions! http://semantic-mediawiki.org/wiki/Help:MediaWiki_extensions And quite a few Semantic MediaWiki extensions: http://semantic-mediawiki.org/wiki/Help:SMW_extensions Find what you want  Not exactly? Then patch it! Nothing close? Then build it! Or find people to build it 
Our Experiences We built a few semantic wikis (2008-2011) Sci-Fi movie demo Semantic Football (Entertainment)  NGT – a work-order handling system Ultrapedia – an Analytical Encylopedia Wiking agile project management Biology ontology Stanford class wiki Neurowiki …
Patches  Often Needed Many features are sort of there, some still not. Popular extensions (e.g. SF, SRF, etc.) often need patches or tuning Example: SF Auto-completion (over the years) Fixed set of allowed values All values in a category All values having a specific property All values from a custom query
New Features Added Real-time notification (Semantic NotifyMe, 2008) Aggregation (average, max, sum, etc.) (2009) Video merging  Open Flash Charts (OFC) SRF (2009-2010) Strict > and < comparison (2010) Exhibit enhancements (webit) (2009) New formats: Runway, Time Plot, etc. Mapping: unique ID requirements Geocoding Semantic WikiTags (2009) Semantic Connector (2010)
Two of Our Latest Extensions Wiki Object Model Enable third parties to consume wiki data via APIs APIs (and URLs) for easy and flexible manipulation of wiki page (and data)  At a finer granularity Widget Designer / Page Creator (prototype) To lower structured page creation dramatically To enable data-driven application building Come to my Semantic Page Creator talk on Friday
Why Wiki Object Model Strong needs for access the structured data and unstructured data in the wiki as a data store From internal and external applications’ point of view  A DOM-like approach is good choice Xpath is a reasonable tool and standard Granularity offers flexibility and power Easier to operate on known objects and calling REST APIs rather than parsing and handling wiki texts Common gateway for both internal and external apps
Wiki Object Model Objects Category Link Property Text Magic word HTML tag Sentence Word* Image 31 Page Section Parameter Parameter value Template Template field Parser function List item Table Table cell * Not yet  implemented as of September 2011
Demo of WOM ,[object Object]
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/Functions32
Security Extensions Many choices = nothing is perfect Options: from very basic to very advanced: No Security MediaWiki Built-in Groups Simple Security (Page Security) HaloACL Features Restrictions
A Short Case Study Proposal Management System (Wiki) Users (including privileged users) submit proposals Reviewers (privileged users) rate and review them Reviewers discuss and make decision and assign What security extension should it employ? HaloACL? – the most powerful  ACL out there SimpleSecurity? – simple and effective Or MediaWiki built-in groups? – simplest MediaWiki Groups
Visualizations Semantic Result Formatter Format = ??? {Param} = ???
Visualization: Our Path 2007: SRF used to only have few options  2008-2009: Exhibit seemed cool Ported webit Fixed some bugs and enhanced features  Runway, TimePlot, multiple rows in Map view etc. 2009-2010: Open Flash Chart More bars, pies, lines, scatter plot… Interaction Richer information display 2010-11: TabbedHighChart, OFC/ScatterPlot
Comparing SRF Options Google Charts (pie and bar) Google does it! (G gets your data, no offline choice…) Static bar and pie, no color options… Exhibit More choices (timeline, map, facet, runway…) Size limit; Browser compatibility issues Flash-based: OFC (Open Flash Chart), High Chart Many bars, charts, plots, even scattered plots Flash required
Sidebar Customization Basic: MediaWiki:Sidebar Enhanced: semantic queries, and tree views Advanced: use variables together with queries Custom: Using an extension: DynamicSidebar Customize your own sidebar at User:<username>/Sidebar http://www.mediawiki.org/wiki/Extension:DynamicSidebar Example: http://wiking.vulcan.com/dev/
Current Sprint in Sidebar *Current sprint {{#ask: [[Category:Project sprints]] [[Sprint start date::<{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]] [[Sprint end date::>{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]] |format=template |template=Sidebar query template |link=none |}}
My Active Sprint Tasks in Sidebar *My tasks {{#ask: [[Category:Project tasks]] [[Project task owner::<q>[[User alias::{{CURRENTUSER}}]]</q>]] [[Project story::<q> [[Project sprint::<q>[[Category:Project sprints]] [[Sprint start date::<{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]] [[Sprint end date::>{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]]</q>]] </q>]] [[Project task status::In progress||Not started]] |format=template |template=Sidebar query template |link=none |}}
More Extension Examples Twitter Feed http://www.mediawikiwidgets.org/Twitter_Search (example) Flickr Feed http://www.mediawikiwidgets.org/Flickr Amazon Carousel https://widgets.amazon.com/Amazon-Carousel-Widget/ Google Analytics http://www.mediawiki.org/wiki/Extension:Google_Analytics Optify Analytics http://www.optify.net/
Templates and Forms MediaWiki template is essential for its structured data handling Editing, especially Template editing, is not trivial Semantic Forms extension greatly lowers the bar Customizing templates and forms can provide very visually appealing pages
Form with a Style http://www.thethirdturn.com/w/index.php?title=Form:Driver&action=edit
Forms with autocompletion Advanced Auto-Completion on Customized Query Results Basic Auto-Completion on Category Values
The Sky is the Limit
Integration
Steps Know what to build Customers, customers, customers! Get your collection of extensions… Customize your wiki (template, forms) Handle the data (schema, query, API, …)
Case 1. Proper Wiki Focus on Skin, Form and Template Steps: Pick a (default) skin Design some forms And templates (queries) behind the forms Build starter pages and Go!
Biology Ontology Wiki People need discuss about the details related to construct a biology ontology Classes (categories) Properties Relations Textbook analysis Discussion Forms necessary to keep content tidy
Ex: Property Form
Forms on Namespace http://www.mediawiki.org/wiki/Extension:Semantic_Forms#Based_on_namespace
Case 2: Simple Workflow App Idea: go from one form to another form Need form links in the template May need user rights management
Proposal Review Workflow Example User submits a proposal via a form Fill in basic information about the proposal Set a field in the form to be, say, “New” User doesn’t see further information about “Reviewer” or “Owner”, etc. Semantic notification (email and RSS feed) facilitates communication Reviewer finds the form in a canned query Reviewer changes the status to, say, “Approved” Reviewer field (say “Reviewed by”) is (automatically) set Then reviewer assigns the proposal to a owner, say, “Alice” The owner  (“Alice”) now sees it and can start work on it Changes the status to “Active” Adds a start date or maybe an estimated end date too
Ways to Handle Workflow Add a link to open another form Force edit “review” using another form (e.g. reviewer form)  When saving the new form, the category is changed Now we have a different category  a different default form Change a value to include or exclude to another template May need #if (or #switch) statement in template to change (or include/exclude) template values Use “Page has default form” property (Semantic Forms extension)
More Workflow Good summary by YaronKoren SMWCon Spring 2011 TalkSMW and the Workflow Puzzle My Semantic Page Creator Talk on Friday 9/23 Example: A simple HelpDesk wiki
Case 3: WikingDev Wiki Our project management wiki We use it for *all* things it can do: Proposals, ideas, email messages, features, bugs Agile development: milestones, sprints, stories, tasks Code/Feature association: SVN mapped to tasks/bugs Progress analysis: burn-down charts, work calendar Collaboration, Documentation, Demonstration
Examples of Data I/O Wiking Development Wiki   An Imported email http://wiking.vulcan.com/dev/index.php/Demo_scenarios An email imported as a Project Bug http://wiking.vulcan.com/dev/index.php/Issue_11886_Insert_a_single_property A task uploaded via Outlook with multiple commits http://wiking.vulcan.com/dev/index.php/WikiTags_Release_Structure
Microsoft Office Connector Leverage Microsoft Office applications and technology Bring SMW info to Office applications on-demand API for data I/O: add and modify wiki data within Microsoft Office  Utilize semantics to improve relevance Smart actions for semantic properties API API Connections Smart Jesse Wang | SemTech 2010
Our Agile Project Management (Scrum) 60 Wiking Jesse Wang | SMWCon Amsterdam 2010
Wiki Data I/O Wiking development wiki has two external applications  Subversion integration Microsoft Office integration Extensions to support it Semantic Wikitags Semantic Connector
Data I/O Extensions MediaWiki API – very basic read/write Page Object Model First Data I/O extension to allow access some wiki structure data (links, title, basic template field) SMWWriter Based on POM, support annotations (semantic properties) Data API extension in SMW+ Semantic WikiTags and Semantic Connector Wiki Object Model A powerful and comprehensive object model (Data API) Read/write at finer object level (sentences, template parameters)
Case Study: Battle-space Luminary System  Discover when New Information represents a change in understanding of entities Discovery of explicit entity links, implicit relationships Large Volumes of Data in various formats Unstructured news articles Tactical Reports, Field Intelligence Structured Database Information Use Wiki Pages to represent current knowledge about an entity – “what we know” Domain Ontology to represent domain of information – “what we want to know” Issue Alerts when Significant Events occur New information according to category Changing information on topics of interest Need to send information to various devices – cell phones, email, etc. 63
System Design Wiki Configuration Semantic MediaWiki: Large developer community, active development, open source. Wikipedia uses MediaWiki, so scalability and performance are important. Semantic Results Format: Provides various rich media displays of semantic information, including graphs, timelines, maps Semantic Forms: Provides convenient user interface for entering semantic data into wiki, avoiding cumbersome wikitext Semantic Notifications: Enables sending of notifications when results of semantic query change. Domain Ontology Created OWL Ontology for Terrorism Semantic Parsing, Extraction, Reasoning Java Process using various Open-Source Toolkits Rapid plugin of new technologies Multiple Data Sources supported 64
Sample Content Page 65
Wiki Content Design Use Templates to Ensure Consistent Look-and-Feel Templates Correspond to Ontology Classes Fields within Templates correspond to Properties within Ontology Rich Content Visualizations derived in consistent way Hierarchical Categories match Class Hierarchy within Ontology Ensures Validity for Properties Category included on each Template page to ensure consistency FormsProvide ability for users to enter data directly into wiki without knowing Wiki Text Each form corresponds to a Template Fields within forms correspond to the fields/properties within the Template GUI can include auto-completion Created Page immediately linked semantically to rest of Wiki 66
Sample Visualizations 67 UI enables notifications based on results of query – message sent when visualization changes Visualizations automatically created w/o user edit (tables, timelines, maps, social networks…)

Contenu connexe

Similaire à Applied Semantic MediaWiki Customization and Deployment

Smwcon spring2011 tutorial applied semantic mediawiki
Smwcon spring2011 tutorial applied semantic mediawikiSmwcon spring2011 tutorial applied semantic mediawiki
Smwcon spring2011 tutorial applied semantic mediawikiJesse Wang
 
HTML5 introduction for beginners
HTML5 introduction for beginnersHTML5 introduction for beginners
HTML5 introduction for beginnersVineeth N Krishnan
 
How To Implement a CMS
How To Implement a CMSHow To Implement a CMS
How To Implement a CMSJonathan Smith
 
Aswc2009 Smw Tutorial Part 3 Halo Extension
Aswc2009 Smw Tutorial Part 3 Halo ExtensionAswc2009 Smw Tutorial Part 3 Halo Extension
Aswc2009 Smw Tutorial Part 3 Halo ExtensionJesse Wang
 
Developing a Struts & Tiles application using WebSphere Studio
Developing a Struts & Tiles application using WebSphere StudioDeveloping a Struts & Tiles application using WebSphere Studio
Developing a Struts & Tiles application using WebSphere Studioelliando dias
 
ECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM SolutionsECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM SolutionsJeff Potts
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyMark Proctor
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4Kyle Ledbetter
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityTeamstudio
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in developmentMartin Toshev
 
Lessons learned from Semantic Wiki
Lessons learned from Semantic WikiLessons learned from Semantic Wiki
Lessons learned from Semantic WikiJie Bao
 
CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with ShareAlfresco Software
 
Buzzword, How'd They Build That?
Buzzword, How'd They Build That?Buzzword, How'd They Build That?
Buzzword, How'd They Build That?dcoletta
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersYoav Avrahami
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationBoulos Dib
 
Creating a Wiki-Based Online Help System (Abridged)
Creating a Wiki-Based Online Help System (Abridged)Creating a Wiki-Based Online Help System (Abridged)
Creating a Wiki-Based Online Help System (Abridged)Rand McKinney
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and BeyondESUG
 
GWT training session 1
GWT training session 1GWT training session 1
GWT training session 1SNEHAL MASNE
 

Similaire à Applied Semantic MediaWiki Customization and Deployment (20)

Smwcon spring2011 tutorial applied semantic mediawiki
Smwcon spring2011 tutorial applied semantic mediawikiSmwcon spring2011 tutorial applied semantic mediawiki
Smwcon spring2011 tutorial applied semantic mediawiki
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
HTML5 introduction for beginners
HTML5 introduction for beginnersHTML5 introduction for beginners
HTML5 introduction for beginners
 
How To Implement a CMS
How To Implement a CMSHow To Implement a CMS
How To Implement a CMS
 
Aswc2009 Smw Tutorial Part 3 Halo Extension
Aswc2009 Smw Tutorial Part 3 Halo ExtensionAswc2009 Smw Tutorial Part 3 Halo Extension
Aswc2009 Smw Tutorial Part 3 Halo Extension
 
Developing a Struts & Tiles application using WebSphere Studio
Developing a Struts & Tiles application using WebSphere StudioDeveloping a Struts & Tiles application using WebSphere Studio
Developing a Struts & Tiles application using WebSphere Studio
 
ECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM SolutionsECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM Solutions
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in development
 
Lessons learned from Semantic Wiki
Lessons learned from Semantic WikiLessons learned from Semantic Wiki
Lessons learned from Semantic Wiki
 
CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with Share
 
Buzzword, How'd They Build That?
Buzzword, How'd They Build That?Buzzword, How'd They Build That?
Buzzword, How'd They Build That?
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch Application
 
Creating a Wiki-Based Online Help System (Abridged)
Creating a Wiki-Based Online Help System (Abridged)Creating a Wiki-Based Online Help System (Abridged)
Creating a Wiki-Based Online Help System (Abridged)
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and Beyond
 
GWT training session 1
GWT training session 1GWT training session 1
GWT training session 1
 

Plus de Jesse Wang

Agile lean workshop
Agile lean workshopAgile lean workshop
Agile lean workshopJesse Wang
 
Big data analytic platform
Big data analytic platformBig data analytic platform
Big data analytic platformJesse Wang
 
Social shopping with semantic power
Social shopping with semantic powerSocial shopping with semantic power
Social shopping with semantic powerJesse Wang
 
Smart datamining semtechbiz 2013 report
Smart datamining semtechbiz 2013 reportSmart datamining semtechbiz 2013 report
Smart datamining semtechbiz 2013 reportJesse Wang
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commonsJesse Wang
 
Hybrid system architecture overview
Hybrid system architecture overviewHybrid system architecture overview
Hybrid system architecture overviewJesse Wang
 
Experiment on Knowledge Acquisition
Experiment on Knowledge AcquisitionExperiment on Knowledge Acquisition
Experiment on Knowledge AcquisitionJesse Wang
 
Chinese New Year
Chinese New Year Chinese New Year
Chinese New Year Jesse Wang
 
SemTech 2012 Talk semantify office
SemTech 2012 Talk  semantify officeSemTech 2012 Talk  semantify office
SemTech 2012 Talk semantify officeJesse Wang
 
Building SMWCon Spring 2012 Site
Building SMWCon Spring 2012 SiteBuilding SMWCon Spring 2012 Site
Building SMWCon Spring 2012 SiteJesse Wang
 
SMWCon Spring 2012 SMW+ Team Dev Update
SMWCon Spring 2012 SMW+ Team Dev UpdateSMWCon Spring 2012 SMW+ Team Dev Update
SMWCon Spring 2012 SMW+ Team Dev UpdateJesse Wang
 
SMWCon Spring 2012 Welcome Remarks
SMWCon Spring 2012 Welcome RemarksSMWCon Spring 2012 Welcome Remarks
SMWCon Spring 2012 Welcome RemarksJesse Wang
 
Pre-SMWCon Spring 2012 meetup (short)
Pre-SMWCon Spring 2012 meetup (short)Pre-SMWCon Spring 2012 meetup (short)
Pre-SMWCon Spring 2012 meetup (short)Jesse Wang
 
Msra talk smw+apps
Msra talk smw+appsMsra talk smw+apps
Msra talk smw+appsJesse Wang
 
Jist tutorial semantic wikis and applications
Jist tutorial   semantic wikis and applicationsJist tutorial   semantic wikis and applications
Jist tutorial semantic wikis and applicationsJesse Wang
 
Semantic Wiki Page Maker
Semantic Wiki Page MakerSemantic Wiki Page Maker
Semantic Wiki Page MakerJesse Wang
 
Smwcon widget editor - first preview
Smwcon widget editor - first previewSmwcon widget editor - first preview
Smwcon widget editor - first previewJesse Wang
 
Microsoft Office Connector Update at SMWCon Spring 2011
Microsoft Office Connector Update at SMWCon Spring 2011Microsoft Office Connector Update at SMWCon Spring 2011
Microsoft Office Connector Update at SMWCon Spring 2011Jesse Wang
 
Semantic Wikis - Social Semantic Web in Action
Semantic Wikis - Social Semantic Web in ActionSemantic Wikis - Social Semantic Web in Action
Semantic Wikis - Social Semantic Web in ActionJesse Wang
 
Semantic Wiki: Social Semantic Web In Action:
Semantic Wiki: Social Semantic Web In Action: Semantic Wiki: Social Semantic Web In Action:
Semantic Wiki: Social Semantic Web In Action: Jesse Wang
 

Plus de Jesse Wang (20)

Agile lean workshop
Agile lean workshopAgile lean workshop
Agile lean workshop
 
Big data analytic platform
Big data analytic platformBig data analytic platform
Big data analytic platform
 
Social shopping with semantic power
Social shopping with semantic powerSocial shopping with semantic power
Social shopping with semantic power
 
Smart datamining semtechbiz 2013 report
Smart datamining semtechbiz 2013 reportSmart datamining semtechbiz 2013 report
Smart datamining semtechbiz 2013 report
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commons
 
Hybrid system architecture overview
Hybrid system architecture overviewHybrid system architecture overview
Hybrid system architecture overview
 
Experiment on Knowledge Acquisition
Experiment on Knowledge AcquisitionExperiment on Knowledge Acquisition
Experiment on Knowledge Acquisition
 
Chinese New Year
Chinese New Year Chinese New Year
Chinese New Year
 
SemTech 2012 Talk semantify office
SemTech 2012 Talk  semantify officeSemTech 2012 Talk  semantify office
SemTech 2012 Talk semantify office
 
Building SMWCon Spring 2012 Site
Building SMWCon Spring 2012 SiteBuilding SMWCon Spring 2012 Site
Building SMWCon Spring 2012 Site
 
SMWCon Spring 2012 SMW+ Team Dev Update
SMWCon Spring 2012 SMW+ Team Dev UpdateSMWCon Spring 2012 SMW+ Team Dev Update
SMWCon Spring 2012 SMW+ Team Dev Update
 
SMWCon Spring 2012 Welcome Remarks
SMWCon Spring 2012 Welcome RemarksSMWCon Spring 2012 Welcome Remarks
SMWCon Spring 2012 Welcome Remarks
 
Pre-SMWCon Spring 2012 meetup (short)
Pre-SMWCon Spring 2012 meetup (short)Pre-SMWCon Spring 2012 meetup (short)
Pre-SMWCon Spring 2012 meetup (short)
 
Msra talk smw+apps
Msra talk smw+appsMsra talk smw+apps
Msra talk smw+apps
 
Jist tutorial semantic wikis and applications
Jist tutorial   semantic wikis and applicationsJist tutorial   semantic wikis and applications
Jist tutorial semantic wikis and applications
 
Semantic Wiki Page Maker
Semantic Wiki Page MakerSemantic Wiki Page Maker
Semantic Wiki Page Maker
 
Smwcon widget editor - first preview
Smwcon widget editor - first previewSmwcon widget editor - first preview
Smwcon widget editor - first preview
 
Microsoft Office Connector Update at SMWCon Spring 2011
Microsoft Office Connector Update at SMWCon Spring 2011Microsoft Office Connector Update at SMWCon Spring 2011
Microsoft Office Connector Update at SMWCon Spring 2011
 
Semantic Wikis - Social Semantic Web in Action
Semantic Wikis - Social Semantic Web in ActionSemantic Wikis - Social Semantic Web in Action
Semantic Wikis - Social Semantic Web in Action
 
Semantic Wiki: Social Semantic Web In Action:
Semantic Wiki: Social Semantic Web In Action: Semantic Wiki: Social Semantic Web In Action:
Semantic Wiki: Social Semantic Web In Action:
 

Dernier

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Dernier (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

Applied Semantic MediaWiki Customization and Deployment

  • 1. Facets of Applied Semantic MediaWiki ++ SMWCon Fall 2011 Tutorial #4 2011.09.21
  • 2. About This tutorial is intended to be used for people who already had the basic knowledge about Semantic MediaWiki. Me: http://semantic-mediawiki.org/wiki/User:Jesse SMW++ : Ontoprise, TeamMersion, Vulcan, etc. Project Halo: http://projecthalo.com/ Dr. Mark Greaves Vulcan Inc. Paul Allen, Idea Man
  • 3. Agenda A high-level broad view
  • 5. Using a Bundle Semantic Bundle http://www.mediawiki.org/wiki/Semantic_Bundle Features: (Pros and Cons) A set of author-selected extensions A fixed set of extensions, few customization options Simplified download and configuration process Still need manual configuration Usually up-to-date and work well together Community tested and supported
  • 6. Installation Package SMW+ Package http://smwforum.ontoprise.com/smwforum/index.php/Help:SMW%2B Features: A set of (fixed) company selected extensions Professionally documented and tested Usually weeks after major release of latest SMW Simplified installation and configuration Windows installer and VM images are great You may be curious about what it does exactly…
  • 7. Deployment Framework Really easy to use and flexible Functionality (extensions) growing fast Saves lots of time of maintenance Clicks rather than lots of commands With the benefit of efficiency, quality and consistency Limited by the extensions and packages in it Supported extensions and packages are growing fast
  • 8. Developer Deployment When you want a set of custom extensions, you want Your OWN deployment mechanism!
  • 9. Deployment Practices Your own codebase, with checkpoints SVN or Git to get the base, and then Customize the wiki Script or Manual or Mixed A third-party deployment framework and repository Ontoprise: http://smwforum.ontoprise.com/smwforum/index.php/Help:Deployment_Framework RPI: http://code.google.com/p/smwbp/wiki/setup_wiki Referata: http://smw.referata.com/wiki/Category:Packages
  • 10. Build System You own it! Your own selection of extensions And versions of them Own patches, scripts and templates Vulcan: Internal GIT repositories of completed build Versioning and branches between projects Other examples: RPI Best Practice (Google code) Hudson build (PNNL)
  • 11. Future Trend A public wiki installation repository with lots of packages Including necessary data Semantically marked up Well documented (or even reviewed) Easy to find and use Federated wiki package store (Wiki AppStore) Call for Participation
  • 13. What to Customize Skins Extensions Schema and Data Templates and forms Anything else you can code… 
  • 14. Skins How to customize a skin Create your skin file in /skins folder within your wiki directory, like Ontoskin.php Finish this skin files following Ontoskin.php skin files There are two classes in this skin files: Inherit from SkinTemplate, set the CSS and template filter. Inherit from QuickTemplate, set the UI style Create skin folder with your skin name in /skins Copy image and CSS files to your skin folder Use your own skin In LocalSettings.php set $wgDefaultSkin = 'wiking_skin'
  • 16. Skin Customization Example Vulcan Development Wiki and Seahawk wiki. 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 You can customize wiki site like menu links, page titles, CSS and JavaScript files in the data properties of QuickTemplate For example, show wiki side bar in your skin <?phpforeach ($this->data['sidebar'] as $bar => $cont) { ?> <li> <a href="#"><h5><?php $out = wfMsg( $bar );></h5></a> <ul> <?phpforeach($cont as $key => $val) { ?> <li id="<?php echo $val['id'] ?>" > <a href="<?php echo $val['href'] ?>"><?php echo $val['text'] ?></a> </li> <?php } ?> </ul> </li> <?php } ?>
  • 17. Personalized Skin Skin supports customization via __USERNAME__ User can have personalized styles within a skin http://www.mediawiki.org/wiki/Manual:Skin_configuration#User_CSS Tip: A way to turn off Wikipedia banner ad: http://en.wikipedia.org/wiki/User:Jesseone/vector.css
  • 19. “Just Do It!” Easy to start Flat, large ontology, at beginning Many properties only valid in certain cases May have similar/duplicate items But it’ll get better over time! Seahawks Video Wiki
  • 20. Designer Ontology Professionally generated after rounds of discussions Time consuming More comprehensive and thoroughly designed More data (restriction) than required Data (ontology) importer isn’t powerful to fully support all features in the designing tool (Protégé) Biology Ontology Wiki
  • 21. The Middle Way Practical schema design Plan and Explore Think, adapt, and evolve Our Agile Project Management Wiki
  • 22. N-ary Relations Type:Record in SMW Semantic Internal Object extension Adding an object relation in the middle (Reification) Using parameterized properties (Example: the third turn wiki) Using a triple store (external)
  • 24. Find Extensions Where to find extensions http://www.mediawiki.org/wiki/Extension_Matrix By supported version (1.16, 1.17, …) By status (beta, stable, …) By type (API, AJAX, hook, user rights…) By new-ness (sort by most recently created time) By talk page new-ness… By most updated versions… And of course using search tools from G.Y.M…
  • 25. Get the Extensions! Some essential MediaWiki extensions! http://semantic-mediawiki.org/wiki/Help:MediaWiki_extensions And quite a few Semantic MediaWiki extensions: http://semantic-mediawiki.org/wiki/Help:SMW_extensions Find what you want Not exactly? Then patch it! Nothing close? Then build it! Or find people to build it 
  • 26. Our Experiences We built a few semantic wikis (2008-2011) Sci-Fi movie demo Semantic Football (Entertainment) NGT – a work-order handling system Ultrapedia – an Analytical Encylopedia Wiking agile project management Biology ontology Stanford class wiki Neurowiki …
  • 27. Patches Often Needed Many features are sort of there, some still not. Popular extensions (e.g. SF, SRF, etc.) often need patches or tuning Example: SF Auto-completion (over the years) Fixed set of allowed values All values in a category All values having a specific property All values from a custom query
  • 28. New Features Added Real-time notification (Semantic NotifyMe, 2008) Aggregation (average, max, sum, etc.) (2009) Video merging  Open Flash Charts (OFC) SRF (2009-2010) Strict > and < comparison (2010) Exhibit enhancements (webit) (2009) New formats: Runway, Time Plot, etc. Mapping: unique ID requirements Geocoding Semantic WikiTags (2009) Semantic Connector (2010)
  • 29. Two of Our Latest Extensions Wiki Object Model Enable third parties to consume wiki data via APIs APIs (and URLs) for easy and flexible manipulation of wiki page (and data) At a finer granularity Widget Designer / Page Creator (prototype) To lower structured page creation dramatically To enable data-driven application building Come to my Semantic Page Creator talk on Friday
  • 30. Why Wiki Object Model Strong needs for access the structured data and unstructured data in the wiki as a data store From internal and external applications’ point of view A DOM-like approach is good choice Xpath is a reasonable tool and standard Granularity offers flexibility and power Easier to operate on known objects and calling REST APIs rather than parsing and handling wiki texts Common gateway for both internal and external apps
  • 31. Wiki Object Model Objects Category Link Property Text Magic word HTML tag Sentence Word* Image 31 Page Section Parameter Parameter value Template Template field Parser function List item Table Table cell * Not yet implemented as of September 2011
  • 32.
  • 34. The API is part of MediaWiki API, with our additions to allow get and set (read/write) the content of a wiki page
  • 36. Demo 2: Inline Editor
  • 37. A simple inline editor (AJAX styled) to let user modify a specific portion of the wiki page
  • 39. Security Extensions Many choices = nothing is perfect Options: from very basic to very advanced: No Security MediaWiki Built-in Groups Simple Security (Page Security) HaloACL Features Restrictions
  • 40. A Short Case Study Proposal Management System (Wiki) Users (including privileged users) submit proposals Reviewers (privileged users) rate and review them Reviewers discuss and make decision and assign What security extension should it employ? HaloACL? – the most powerful ACL out there SimpleSecurity? – simple and effective Or MediaWiki built-in groups? – simplest MediaWiki Groups
  • 41. Visualizations Semantic Result Formatter Format = ??? {Param} = ???
  • 42. Visualization: Our Path 2007: SRF used to only have few options 2008-2009: Exhibit seemed cool Ported webit Fixed some bugs and enhanced features Runway, TimePlot, multiple rows in Map view etc. 2009-2010: Open Flash Chart More bars, pies, lines, scatter plot… Interaction Richer information display 2010-11: TabbedHighChart, OFC/ScatterPlot
  • 43. Comparing SRF Options Google Charts (pie and bar) Google does it! (G gets your data, no offline choice…) Static bar and pie, no color options… Exhibit More choices (timeline, map, facet, runway…) Size limit; Browser compatibility issues Flash-based: OFC (Open Flash Chart), High Chart Many bars, charts, plots, even scattered plots Flash required
  • 44.
  • 45. Sidebar Customization Basic: MediaWiki:Sidebar Enhanced: semantic queries, and tree views Advanced: use variables together with queries Custom: Using an extension: DynamicSidebar Customize your own sidebar at User:<username>/Sidebar http://www.mediawiki.org/wiki/Extension:DynamicSidebar Example: http://wiking.vulcan.com/dev/
  • 46. Current Sprint in Sidebar *Current sprint {{#ask: [[Category:Project sprints]] [[Sprint start date::<{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]] [[Sprint end date::>{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]] |format=template |template=Sidebar query template |link=none |}}
  • 47. My Active Sprint Tasks in Sidebar *My tasks {{#ask: [[Category:Project tasks]] [[Project task owner::<q>[[User alias::{{CURRENTUSER}}]]</q>]] [[Project story::<q> [[Project sprint::<q>[[Category:Project sprints]] [[Sprint start date::<{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]] [[Sprint end date::>{{CURRENTYEAR}}/{{CURRENTMONTH}}/{{CURRENTDAY}}]]</q>]] </q>]] [[Project task status::In progress||Not started]] |format=template |template=Sidebar query template |link=none |}}
  • 48. More Extension Examples Twitter Feed http://www.mediawikiwidgets.org/Twitter_Search (example) Flickr Feed http://www.mediawikiwidgets.org/Flickr Amazon Carousel https://widgets.amazon.com/Amazon-Carousel-Widget/ Google Analytics http://www.mediawiki.org/wiki/Extension:Google_Analytics Optify Analytics http://www.optify.net/
  • 49. Templates and Forms MediaWiki template is essential for its structured data handling Editing, especially Template editing, is not trivial Semantic Forms extension greatly lowers the bar Customizing templates and forms can provide very visually appealing pages
  • 50. Form with a Style http://www.thethirdturn.com/w/index.php?title=Form:Driver&action=edit
  • 51. Forms with autocompletion Advanced Auto-Completion on Customized Query Results Basic Auto-Completion on Category Values
  • 52. The Sky is the Limit
  • 54. Steps Know what to build Customers, customers, customers! Get your collection of extensions… Customize your wiki (template, forms) Handle the data (schema, query, API, …)
  • 55. Case 1. Proper Wiki Focus on Skin, Form and Template Steps: Pick a (default) skin Design some forms And templates (queries) behind the forms Build starter pages and Go!
  • 56. Biology Ontology Wiki People need discuss about the details related to construct a biology ontology Classes (categories) Properties Relations Textbook analysis Discussion Forms necessary to keep content tidy
  • 58. Forms on Namespace http://www.mediawiki.org/wiki/Extension:Semantic_Forms#Based_on_namespace
  • 59. Case 2: Simple Workflow App Idea: go from one form to another form Need form links in the template May need user rights management
  • 60. Proposal Review Workflow Example User submits a proposal via a form Fill in basic information about the proposal Set a field in the form to be, say, “New” User doesn’t see further information about “Reviewer” or “Owner”, etc. Semantic notification (email and RSS feed) facilitates communication Reviewer finds the form in a canned query Reviewer changes the status to, say, “Approved” Reviewer field (say “Reviewed by”) is (automatically) set Then reviewer assigns the proposal to a owner, say, “Alice” The owner (“Alice”) now sees it and can start work on it Changes the status to “Active” Adds a start date or maybe an estimated end date too
  • 61. Ways to Handle Workflow Add a link to open another form Force edit “review” using another form (e.g. reviewer form) When saving the new form, the category is changed Now we have a different category  a different default form Change a value to include or exclude to another template May need #if (or #switch) statement in template to change (or include/exclude) template values Use “Page has default form” property (Semantic Forms extension)
  • 62. More Workflow Good summary by YaronKoren SMWCon Spring 2011 TalkSMW and the Workflow Puzzle My Semantic Page Creator Talk on Friday 9/23 Example: A simple HelpDesk wiki
  • 63. Case 3: WikingDev Wiki Our project management wiki We use it for *all* things it can do: Proposals, ideas, email messages, features, bugs Agile development: milestones, sprints, stories, tasks Code/Feature association: SVN mapped to tasks/bugs Progress analysis: burn-down charts, work calendar Collaboration, Documentation, Demonstration
  • 64. Examples of Data I/O Wiking Development Wiki An Imported email http://wiking.vulcan.com/dev/index.php/Demo_scenarios An email imported as a Project Bug http://wiking.vulcan.com/dev/index.php/Issue_11886_Insert_a_single_property A task uploaded via Outlook with multiple commits http://wiking.vulcan.com/dev/index.php/WikiTags_Release_Structure
  • 65. Microsoft Office Connector Leverage Microsoft Office applications and technology Bring SMW info to Office applications on-demand API for data I/O: add and modify wiki data within Microsoft Office Utilize semantics to improve relevance Smart actions for semantic properties API API Connections Smart Jesse Wang | SemTech 2010
  • 66. Our Agile Project Management (Scrum) 60 Wiking Jesse Wang | SMWCon Amsterdam 2010
  • 67. Wiki Data I/O Wiking development wiki has two external applications Subversion integration Microsoft Office integration Extensions to support it Semantic Wikitags Semantic Connector
  • 68. Data I/O Extensions MediaWiki API – very basic read/write Page Object Model First Data I/O extension to allow access some wiki structure data (links, title, basic template field) SMWWriter Based on POM, support annotations (semantic properties) Data API extension in SMW+ Semantic WikiTags and Semantic Connector Wiki Object Model A powerful and comprehensive object model (Data API) Read/write at finer object level (sentences, template parameters)
  • 69. Case Study: Battle-space Luminary System Discover when New Information represents a change in understanding of entities Discovery of explicit entity links, implicit relationships Large Volumes of Data in various formats Unstructured news articles Tactical Reports, Field Intelligence Structured Database Information Use Wiki Pages to represent current knowledge about an entity – “what we know” Domain Ontology to represent domain of information – “what we want to know” Issue Alerts when Significant Events occur New information according to category Changing information on topics of interest Need to send information to various devices – cell phones, email, etc. 63
  • 70. System Design Wiki Configuration Semantic MediaWiki: Large developer community, active development, open source. Wikipedia uses MediaWiki, so scalability and performance are important. Semantic Results Format: Provides various rich media displays of semantic information, including graphs, timelines, maps Semantic Forms: Provides convenient user interface for entering semantic data into wiki, avoiding cumbersome wikitext Semantic Notifications: Enables sending of notifications when results of semantic query change. Domain Ontology Created OWL Ontology for Terrorism Semantic Parsing, Extraction, Reasoning Java Process using various Open-Source Toolkits Rapid plugin of new technologies Multiple Data Sources supported 64
  • 72. Wiki Content Design Use Templates to Ensure Consistent Look-and-Feel Templates Correspond to Ontology Classes Fields within Templates correspond to Properties within Ontology Rich Content Visualizations derived in consistent way Hierarchical Categories match Class Hierarchy within Ontology Ensures Validity for Properties Category included on each Template page to ensure consistency FormsProvide ability for users to enter data directly into wiki without knowing Wiki Text Each form corresponds to a Template Fields within forms correspond to the fields/properties within the Template GUI can include auto-completion Created Page immediately linked semantically to rest of Wiki 66
  • 73. Sample Visualizations 67 UI enables notifications based on results of query – message sent when visualization changes Visualizations automatically created w/o user edit (tables, timelines, maps, social networks…)
  • 75. Usability MediaWiki Usability Initiative Semantic MediaWiki Usability Fact Box, Special pages Extensions Semantic Forms One Click Way Auto-complete SRF User Interface Example: Wiking Project Task http://wiking.vulcan.com/dev/index.php/Rehearsal_of_WE_Demo
  • 76. Performance Fundamentals http://smwforum.ontoprise.com/smwforum/index.php/Help:Optimizing_response_times_1.5.6 Caches: squid, apache, parser, query, browser, … Global Load Balancing Service Batch Process RefreshData.php Other services: memcache Triple Store Solr
  • 77. Search Engine Optimization General SEO rules (Official Google Guide 32pp) MediaWiki Robot.txt : edit, talk, websvn, … Metadata: title, description, media, alt tags… Semantic MediaWiki RDFa/Rich Snippets/Search Monkey For more info: Wil Smith: Search Engine Optimization for SMW
  • 78. Summary Jumpstart Deployment of your bundle/suite/package Code, pseudo-code/meta-data, and data Customize Skins, Styles, Extensions Data, Code, Code, Data Integrate Know the requirements and data Put everything together and evolve
  • 79. Acknowledgement Jesse Wang | SMWCon Amsterdam 2010 73
  • 80. Thank you Questions and/or comments? Slide uploaded at http://www.slideshare.net/jiaxinwang/ Email me at jessew @ vulcan.comor @aiwang

Notes de l'éditeur

  1. I’m Jesse Wang. Studied Computer Science in universities, worked as a software engineer before (in Microsoft and Vulcan).Started working on Semantic MediaWiki in 2008.Semantic MediaWiki ++ on application side of Semantic MediaWiki Project Halo sponsors Semantic MediaWiki development.Dr. Mark Greaves directs the whole program in Vulcan Inc.Without it, Semantic MediaWiki wouldn’t be what it is today. I wouldn’t be here having the privilege talking to you.Paul Allen has the vision. ----- Meeting Notes (9/21/11 13:06) -----I guess you don&apos;t really need a celebrity&apos;s endorsement.but having a succesfully technology legend&apos;s support is definitely something nicer to have.
  2. A set of author-selected extensionsA fixed set of extensions, few customization optionsSimplified download and configuration processStill need manual configurationUsually up-to-date and work well togetherCommunity tested and supported
  3. Features:A set of (fixed) company selected extensionsProfessionally documented and testedUsually weeks after major release of latest SMWSimplified installation and configurationWindows installer and VM images are greatYou may be curious about what it does exactly…
  4. Deployment Framework is growing fast. At this moment, your complete needs may or may not be satisfied by Deployment Framework, but please keep an eye on it, because if it is growing this fast, in the not-so-far-away future, you’ll get all you want from it.
  5. A few times, you found what you want basicallyMost times, you settle or work around on what you haveEvery time, you wish it is easier
  6. Counter information overload with visualizations
  7. WikiTags is here to bridge semantic wikis with more potential users, such as users of Microsoft Word, Outlook and Excel, with Microsoft SmartTag technology.