SlideShare a Scribd company logo
WIKINEXT
PAVEL ARAPOV & MICHEL BUFFA
ARAPOV@I3S.UNICE.FR
BUFFA@UNICE.FR




Application Semantic Wiki
Wiki World
   Wiki is a website where users can
    add, modify, or delete content via a web
    browser
   Wiki software (wiki engine) : implementation
   Application (enterprise) wiki is a wiki engine
    where users can create/modify applications
    into the wiki page (ex: XWiki, TWiki)
   Semantic wiki is a wiki that uses models of
    knowledge (i.e: Semantic Media Wiki)
                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
WikiNext
   Semantic Wiki:
     Write   collaboratively semantized documents
   Application Wiki :
     Writeapplications within the wiki
     Take advantages of the Linked Open Data,

   Take advantages of the new technologies :
    Web Services, HTML5, WebSockets, etc.



                    Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Choosing technology
   Programming language
     Simply, untyped
     Easy to learn for users

   Unified representation format for data and
    meta-data
     RDF/RDFa    Triples
     Documents

     Applications



                     Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
The SweetWiki way (2005-
2009)

JAVA Objects                                      Wiki
 hand written




           SERV
            ER
           JAVA                                          CORESE
                              SPARQL
                                                           RDF
                         RDF/XML                          engine

                                  XSLT
                  Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Modern way
                                                             Documents +
                                                              application
                                      Wiki                      code




    SERV
     ER                IDEAL FORMAT
                                                           Database
                            SPARQL



           Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Browsers
   Browser = Layout engine + JavaScript engine
     Google  Chrome (WebKit + V8)
     Safari (WebKit + Nitro)

     Mozilla FireFox (TraceMonkey)

     Opera (Caracan)

     Internet Explorer



   And…


                 Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
JavaScript engines are
independent
   V8 by Google
   TraceMonkey by Mozilla
   SpiderMonkey by Mozilla
   Rhino by Mozilla
   Nitro by Apple
   Caracan by Opera

   And JS is no more a web-browser only
    language !
                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
CommonJS
   Specification to create server-side applications
    based on JS engine
   Open proposal system with voting on mailing
    list
   Used in:
     CouchDB

     MongoDB

     SproutCore

     node.js

     XULJet
                   Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Approach
   Page = Application
   JavaScript – everywhere
   JSON as main data format
   Real-time interaction – WebSockets (page-
    server)
   Storage – MongoDB – document-oriented
    database based on JSON format



                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Technology
   Node.js – HTTP Server
         – RPC library based on socket.io
     nowjs
     communication library: WebSockets, Comet etc
   MongoDB – database
   Mustache – logic less template engine
   Aloha – HTML5 in-place WYSIWYG editor
   ACE – code editor
   VIE2 – RDFa framework

                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Front-end schema


                                                   WebSocke
                   Main App
                                                      t

  HTML page

                     HTML
                     View




                     Back-End

              Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Back-end schema
                                WebSocket
                                   s




Handler                             DAO
 HTTP     Controller               (pages                      Mongo
 GET                                  )                         DB




            HTML                                     Knowledge
          templates                                  Controller
                                                     (KGRAM)

               Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Screenshot – main editor




         Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Screenshot – JavaScript editor




         Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Knowledge base
   Each page has a local knowledge database
   Global knowledge database is based on
    summary of all local knowledge databases
   Collections of triples in JSON-LD* format



* json-ld.org – last specification can be found
here

                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Knowledge spread

                                                             Meta data
                                                             cache in
                           Main App                           JSON



 HTML page     HTML view
                                                             WebSocket

                        Meta data



                                                        Server Side


             Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Results
   Early alpha version is available
     wikinext.herokuapp.com

     mainline.essi.fr    (will be available soon)
   Inline edition
   Main App – page render
     Creating   application into the pages
   Local Knowledge base and synchronization
   No data rewrite between
    server/client/database
                    Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Future work
   ShareJS – OT library, real-time collaborative
    edit
   Extend the Wiki API
   Integrate connectors for Linked Open Data
   Extend the ontologies we use for describing
    documents and users’ interactions (ISICIL
    model based on FOAF, SIOC, DC, etc.)
     Add   applications
   Templates for applications (visualization of
    data, automatic Arapov (arapov@i3s.unice.fr) 20.04.12
                 Pavel
                       annotation, LOD
    querying, etc.)
THANK FOR YOUR
ATTENTION
DEMO TIME
WIKINEXT.HEROKUAPP.COM



    Pavel Arapov (arapov@i3s.unice.fr)

More Related Content

Similar to WikiNext - Application Semantic Wiki

Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)
Beat Signer
 
Site Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW ClusterSite Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW Cluster
John Breslin
 
iPhone Web Development and Ruby On Rails
iPhone Web Development and Ruby On RailsiPhone Web Development and Ruby On Rails
iPhone Web Development and Ruby On Rails
Jose de Leon
 
December 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationDecember 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig Presentation
Jonathan Abrams
 
Lessons learned from Semantic Wiki
Lessons learned from Semantic WikiLessons learned from Semantic Wiki
Lessons learned from Semantic WikiJie Bao
 
NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6
Kostas Saidis
 
Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)
Beat Signer
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat ClientPaul Klipp
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Markku Laine
 
Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020
Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020
Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020
Matt Raible
 
Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016
Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016
Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016
Ivan Ermilov
 
A Semantic Wiki Based Light-Weight Web Application Model
A Semantic Wiki Based Light-Weight Web Application ModelA Semantic Wiki Based Light-Weight Web Application Model
A Semantic Wiki Based Light-Weight Web Application ModelJie Bao
 
Collaborative Media Annotation with YUMA
Collaborative Media Annotation with YUMACollaborative Media Annotation with YUMA
Collaborative Media Annotation with YUMA
aboutgeo
 
UIT: Our Skills
UIT: Our SkillsUIT: Our Skills
UIT: Our Skillsuitpramati
 
React, ES6, and Meteor
React, ES6, and MeteorReact, ES6, and Meteor
React, ES6, and Meteor
Sangwon Lee
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
Ivan Herman
 
Nosql-columbia-feb2011
Nosql-columbia-feb2011Nosql-columbia-feb2011
Nosql-columbia-feb2011siculars
 
Web Technology Trends (early 2009)
Web Technology Trends (early 2009)Web Technology Trends (early 2009)
Web Technology Trends (early 2009)
Prodosh Banerjee
 
Big data apache spark + scala
Big data   apache spark + scalaBig data   apache spark + scala
Big data apache spark + scala
Juantomás García Molina
 
Synchronizing Core Data With Rails
Synchronizing Core Data With RailsSynchronizing Core Data With Rails
Synchronizing Core Data With Rails
Ken Collins
 

Similar to WikiNext - Application Semantic Wiki (20)

Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)
 
Site Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW ClusterSite Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW Cluster
 
iPhone Web Development and Ruby On Rails
iPhone Web Development and Ruby On RailsiPhone Web Development and Ruby On Rails
iPhone Web Development and Ruby On Rails
 
December 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationDecember 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig Presentation
 
Lessons learned from Semantic Wiki
Lessons learned from Semantic WikiLessons learned from Semantic Wiki
Lessons learned from Semantic Wiki
 
NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6
 
Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat Client
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
 
Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020
Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020
Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020
 
Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016
Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016
Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016
 
A Semantic Wiki Based Light-Weight Web Application Model
A Semantic Wiki Based Light-Weight Web Application ModelA Semantic Wiki Based Light-Weight Web Application Model
A Semantic Wiki Based Light-Weight Web Application Model
 
Collaborative Media Annotation with YUMA
Collaborative Media Annotation with YUMACollaborative Media Annotation with YUMA
Collaborative Media Annotation with YUMA
 
UIT: Our Skills
UIT: Our SkillsUIT: Our Skills
UIT: Our Skills
 
React, ES6, and Meteor
React, ES6, and MeteorReact, ES6, and Meteor
React, ES6, and Meteor
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
 
Nosql-columbia-feb2011
Nosql-columbia-feb2011Nosql-columbia-feb2011
Nosql-columbia-feb2011
 
Web Technology Trends (early 2009)
Web Technology Trends (early 2009)Web Technology Trends (early 2009)
Web Technology Trends (early 2009)
 
Big data apache spark + scala
Big data   apache spark + scalaBig data   apache spark + scala
Big data apache spark + scala
 
Synchronizing Core Data With Rails
Synchronizing Core Data With RailsSynchronizing Core Data With Rails
Synchronizing Core Data With Rails
 

Recently uploaded

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

WikiNext - Application Semantic Wiki

  • 1. WIKINEXT PAVEL ARAPOV & MICHEL BUFFA ARAPOV@I3S.UNICE.FR BUFFA@UNICE.FR Application Semantic Wiki
  • 2. Wiki World  Wiki is a website where users can add, modify, or delete content via a web browser  Wiki software (wiki engine) : implementation  Application (enterprise) wiki is a wiki engine where users can create/modify applications into the wiki page (ex: XWiki, TWiki)  Semantic wiki is a wiki that uses models of knowledge (i.e: Semantic Media Wiki) Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 3. WikiNext  Semantic Wiki:  Write collaboratively semantized documents  Application Wiki :  Writeapplications within the wiki  Take advantages of the Linked Open Data,  Take advantages of the new technologies : Web Services, HTML5, WebSockets, etc. Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 4. Choosing technology  Programming language  Simply, untyped  Easy to learn for users  Unified representation format for data and meta-data  RDF/RDFa Triples  Documents  Applications Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 5. The SweetWiki way (2005- 2009) JAVA Objects Wiki hand written SERV ER JAVA CORESE SPARQL RDF RDF/XML engine XSLT Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 6. Modern way Documents + application Wiki code SERV ER IDEAL FORMAT Database SPARQL Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 7. Browsers  Browser = Layout engine + JavaScript engine  Google Chrome (WebKit + V8)  Safari (WebKit + Nitro)  Mozilla FireFox (TraceMonkey)  Opera (Caracan)  Internet Explorer  And… Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 8. JavaScript engines are independent  V8 by Google  TraceMonkey by Mozilla  SpiderMonkey by Mozilla  Rhino by Mozilla  Nitro by Apple  Caracan by Opera  And JS is no more a web-browser only language ! Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 9. CommonJS  Specification to create server-side applications based on JS engine  Open proposal system with voting on mailing list  Used in:  CouchDB  MongoDB  SproutCore  node.js  XULJet Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 10. Approach  Page = Application  JavaScript – everywhere  JSON as main data format  Real-time interaction – WebSockets (page- server)  Storage – MongoDB – document-oriented database based on JSON format Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 11. Technology  Node.js – HTTP Server – RPC library based on socket.io  nowjs communication library: WebSockets, Comet etc  MongoDB – database  Mustache – logic less template engine  Aloha – HTML5 in-place WYSIWYG editor  ACE – code editor  VIE2 – RDFa framework Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 12. Front-end schema WebSocke Main App t HTML page HTML View Back-End Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 13. Back-end schema WebSocket s Handler DAO HTTP Controller (pages Mongo GET ) DB HTML Knowledge templates Controller (KGRAM) Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 14. Screenshot – main editor Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 15. Screenshot – JavaScript editor Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 16. Knowledge base  Each page has a local knowledge database  Global knowledge database is based on summary of all local knowledge databases  Collections of triples in JSON-LD* format * json-ld.org – last specification can be found here Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 17. Knowledge spread Meta data cache in Main App JSON HTML page HTML view WebSocket Meta data Server Side Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 18. Results  Early alpha version is available  wikinext.herokuapp.com  mainline.essi.fr (will be available soon)  Inline edition  Main App – page render  Creating application into the pages  Local Knowledge base and synchronization  No data rewrite between server/client/database Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 19. Future work  ShareJS – OT library, real-time collaborative edit  Extend the Wiki API  Integrate connectors for Linked Open Data  Extend the ontologies we use for describing documents and users’ interactions (ISICIL model based on FOAF, SIOC, DC, etc.)  Add applications  Templates for applications (visualization of data, automatic Arapov (arapov@i3s.unice.fr) 20.04.12 Pavel annotation, LOD querying, etc.)
  • 20. THANK FOR YOUR ATTENTION DEMO TIME WIKINEXT.HEROKUAPP.COM Pavel Arapov (arapov@i3s.unice.fr)