SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
JIO and WebViewers: interoperability
for Javascript and Web Applications
October 4th 2013
Ludovic Dubost
CEO XWiki SAS
Viktor Horvath
Alixen
Agenda
●
About the Speakers
●
Why Interoperability
●
JIO: accessing Web Applications from Javascript
applications
● WebViewers: building cross-applications Javascript
viewers and editors for content types
●
Question and Answers
About the Speakers
Ludovic Dubost, XWiki SAS
● French company, 30 employes
● Services and Solutions based
on XWiki
●
1,6M revenue
●
Independent company owned
by employees
●
Participating to research
projects, including
RESILIENCE
●
LGPL Open Source Software
●
Improving Information
organization and sharing in
companies
● Recognized project with
more than 1 Million
downloads
●
8 participation to the Google
Summer of code
● Tens of thousand XWiki
installed
● Creator of XWiki in 2004
● 15 years of Web Development
Viktor Horvath, Alixen
● R&D engineer at Alixen since 2008
● Alixen: Free software development,
maintenance,
infrastructures,
consulting
● Founded in 2002, merged with Systemis in 2012
● Mioga2: Collaborative Extranet
● Biblio-PAM: remote access to library resources
● Alixen participates in the Resilience project:
J-IO, RenderJS
Resilience
● collaborative research project (FUI12)
11 labs and small / mid-size companies
● Resilient Computing
● "decentralised cloud"
● SlapOS, J-IO, RenderJS, OfficeJS
● Members: Alcatel, Alixen, Alterway, le CEA,
l'INRIA, Institut Télécom Université Paris 13,
Mopho, Nexedi, Wallix et XWiki
Why Interoperability ?
Why Interoperability ?
● We can reduce the effort needed for Open
Source projects to support multiple file
formats in viewing and editing mode
● Viewer and Editor developers can extend the
reach of their code
● Web Applications developers can support more
file formats
● Javascript applications can interact with Web
Applications
JIO
http://j-io.org
Why JIO ? - Some years ago :
● Web servers, databases are expensive
● Server-side applications
● Apache web server
Why JIO ? - Now :
● Web servers, databases are expensive
much cheaper
● Server-side applications
Client-side
● Apache web server
or asynchronous web and application servers
● many more users per server
● ...data storage cost remains!
Separate web application and its data
localStorage database Mioga2 XWiki
Encryption
Replicate Revision
Split
J-IO storage
Characteristics
{
"_id": "my_document",
"title": "New Title",
"_attachments": {
"its_attachment": {
"length": 3,
"digest": "md5-e0089e[...]",
"content_type": "text/plain"
}
}
}
● document-oriented
storage
● files as attachments
● similar to NoSQL /
JSON storages
● enrich a basic storage:
indexes, revisions
Storage Connector: API methods
● post / put / putAttachment
● get / getAttachment
● remove / removeAttachment
● allDocs (complex queries)
Connection example
var local_jio = jIO.newJio({
type: 'local',
username: 'viktor',
application: 'test' });
local_jio.put({
_id: '123',
title: 'My Document',
setting: 'important_data'
}, function(err, response) { console.log(response); });
Object { ok=true, id="123"}
local_jio.get({ _id: '123' },
function(err, doc) { console.log(doc.setting); })
important_data
Complex Queries
local_jio.allDocs({
query: 'setting: "important_data"'
}, function(err, response) { console.log(response); });
Object { total_rows=1, rows=
[ Object { id="123", key="123", value={...}} ] }
local_jio.allDocs({
query: '(title:"% Document")
AND (setting: "important_data")',
limit: [0, 100],
sort_on: [['last_modified', 'descending']],
select_list: ['title'],
wildcard_character: '%'
}, function(err, response) { console.log(response); });
What is Mioga2 ?
● Collaborative Extranet for 14 years
● Project and mission management
● within and across organisational borders
● workgroups, document sharing, applications
● GPLv2 download: http://www.alixen.org
Mioga2 as a JIO Storage Connector
● Workgroups have WebDAV spaces
● WebDAV - JIO / filesystem - documents
When should you use JIO ?
● enable the user to control his data
● ease your burden
● unify your data access
● custom user interface
● ...towards democratic, truly Free web apps
Web Viewers
WebViewers: the Problem
● Many web applications store files (pdf, office,
graphs, etc..)
● We need ways to view/edit these files in your
browser
● Javascript viewers and editors exist but they
are complex to integrate
WebViewers: Objectives
● One viewer/editor for all Web Applications
● One viewer/editor macro for all viewers
● Automatic selection of viewer based on
content-type
● Javascript only viewers (backend technology
agnostic)
WebViewers: How does it work in a
Web Application
● Viewers are distributed as zip files
● A module to install viewers
● A way to activate the viewer
● Macro to use in content
●
View/Edit button next to a file
● A way to read/write the file content in
Javascript
WebViewers: technologies used
● Renderjs: gadget technology
● JIO: api to read/write files (optional)
WebViewers: demo on XWiki,
Wordpress
● Install a viewer in XWiki
● Attach a file in XWiki
● Use a macro to view/edit the file in XWiki
● Show viewers in Wordpress
WebViewers: support level
● Web Applications
●
Available: XWiki view/edit, Wordpress view
● Coming: ERP5, Mioga2, Drupal, Mediawiki, ?
● Web Viewers
● Available: text, pdf, jquery sheet
●
Coming: SVG Edit, Realtime editor
WebViewers: future
● Reaching out to Web Applications developers
for native support
● Reaching out to Viewer/Editor developers for
native support
http://www.webviewers.org
Questions ?
Ludovic Dubost:
ludovic@xwiki.com, @ldubost
Viktor Horvath
info@alixen.fr

Weitere ähnliche Inhalte

Was ist angesagt?

Webrecorder: Building, Maintaining & Growing
Webrecorder: Building, Maintaining & GrowingWebrecorder: Building, Maintaining & Growing
Webrecorder: Building, Maintaining & GrowingAnna Perricci
 
Introduction:
Introduction:Introduction:
Introduction:Reema
 
Multisite Implementation Within Nonprofit Organization by Wigid Triyadi
Multisite Implementation Within Nonprofit Organization by Wigid TriyadiMultisite Implementation Within Nonprofit Organization by Wigid Triyadi
Multisite Implementation Within Nonprofit Organization by Wigid TriyadiWordCamp Indonesia
 
Vuejs and Web components - current state
Vuejs and Web components - current stateVuejs and Web components - current state
Vuejs and Web components - current stateMikhail Kuznetcov
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xWong Hoi Sing Edison
 
Use of different_programs
Use of different_programsUse of different_programs
Use of different_programsbalintbakondi
 
Connect your Javascript web app to ownCloud over the WebDAV interface
Connect your Javascript web app to ownCloud over the WebDAV interface Connect your Javascript web app to ownCloud over the WebDAV interface
Connect your Javascript web app to ownCloud over the WebDAV interface Ilian Sapundshiev
 
Use of different programs
Use of different programsUse of different programs
Use of different programsblanka98
 
NCompass Live: Beyond the CMS: From Darienlibrary.tv to SOPAC3, new technolog...
NCompass Live: Beyond the CMS: From Darienlibrary.tv to SOPAC3, new technolog...NCompass Live: Beyond the CMS: From Darienlibrary.tv to SOPAC3, new technolog...
NCompass Live: Beyond the CMS: From Darienlibrary.tv to SOPAC3, new technolog...Nebraska Library Commission
 
XWiki Product and Community, OW2con'15, November 17, Paris
XWiki Product and Community, OW2con'15, November 17, ParisXWiki Product and Community, OW2con'15, November 17, Paris
XWiki Product and Community, OW2con'15, November 17, ParisOW2
 
MODX Meetup 2018-03-07 - Introduction talk
MODX Meetup 2018-03-07 - Introduction talk MODX Meetup 2018-03-07 - Introduction talk
MODX Meetup 2018-03-07 - Introduction talk Mark Hamstra
 
Introduction to Cloud Native
Introduction to Cloud NativeIntroduction to Cloud Native
Introduction to Cloud NativeMauro Morales
 
MySQL GUI Administration
MySQL GUI AdministrationMySQL GUI Administration
MySQL GUI AdministrationJaime Crespo
 

Was ist angesagt? (20)

Webrecorder: Building, Maintaining & Growing
Webrecorder: Building, Maintaining & GrowingWebrecorder: Building, Maintaining & Growing
Webrecorder: Building, Maintaining & Growing
 
Introduction:
Introduction:Introduction:
Introduction:
 
Multisite Implementation Within Nonprofit Organization by Wigid Triyadi
Multisite Implementation Within Nonprofit Organization by Wigid TriyadiMultisite Implementation Within Nonprofit Organization by Wigid Triyadi
Multisite Implementation Within Nonprofit Organization by Wigid Triyadi
 
Vuejs and Web components - current state
Vuejs and Web components - current stateVuejs and Web components - current state
Vuejs and Web components - current state
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
 
Course Document
Course DocumentCourse Document
Course Document
 
Use of different_programs
Use of different_programsUse of different_programs
Use of different_programs
 
Web tech portal
Web tech portalWeb tech portal
Web tech portal
 
Computing
ComputingComputing
Computing
 
Django ws
Django wsDjango ws
Django ws
 
Connect your Javascript web app to ownCloud over the WebDAV interface
Connect your Javascript web app to ownCloud over the WebDAV interface Connect your Javascript web app to ownCloud over the WebDAV interface
Connect your Javascript web app to ownCloud over the WebDAV interface
 
Use of different programs
Use of different programsUse of different programs
Use of different programs
 
NCompass Live: Beyond the CMS: From Darienlibrary.tv to SOPAC3, new technolog...
NCompass Live: Beyond the CMS: From Darienlibrary.tv to SOPAC3, new technolog...NCompass Live: Beyond the CMS: From Darienlibrary.tv to SOPAC3, new technolog...
NCompass Live: Beyond the CMS: From Darienlibrary.tv to SOPAC3, new technolog...
 
XWiki Product and Community, OW2con'15, November 17, Paris
XWiki Product and Community, OW2con'15, November 17, ParisXWiki Product and Community, OW2con'15, November 17, Paris
XWiki Product and Community, OW2con'15, November 17, Paris
 
MODX Meetup 2018-03-07 - Introduction talk
MODX Meetup 2018-03-07 - Introduction talk MODX Meetup 2018-03-07 - Introduction talk
MODX Meetup 2018-03-07 - Introduction talk
 
Introduction to Cloud Native
Introduction to Cloud NativeIntroduction to Cloud Native
Introduction to Cloud Native
 
Computing
ComputingComputing
Computing
 
Computing
ComputingComputing
Computing
 
MySQL GUI Administration
MySQL GUI AdministrationMySQL GUI Administration
MySQL GUI Administration
 
Wiki1
Wiki1Wiki1
Wiki1
 

Ähnlich wie JIO and WebViewers: interoperability for Javascript and Web Applications

JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!_Dewy_
 
"Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @...
"Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @..."Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @...
"Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @...eLiberatica
 
DocDoku: Using web technologies in a desktop application. OW2con'15, November...
DocDoku: Using web technologies in a desktop application. OW2con'15, November...DocDoku: Using web technologies in a desktop application. OW2con'15, November...
DocDoku: Using web technologies in a desktop application. OW2con'15, November...OW2
 
DocDokuPLM presentation - OW2Con 2015 Community Award winner
DocDokuPLM presentation - OW2Con 2015 Community Award winnerDocDokuPLM presentation - OW2Con 2015 Community Award winner
DocDokuPLM presentation - OW2Con 2015 Community Award winnerDocDoku
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applicationsTom Martin
 
#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPR#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPRCamille Salas
 
DruStack- a mobile-friendly web content management system (cms
DruStack- a mobile-friendly web content management system (cmsDruStack- a mobile-friendly web content management system (cms
DruStack- a mobile-friendly web content management system (cmsWong Hoi Sing Edison
 
drustack a mobile-friendly web content management system (cms)
drustack   a mobile-friendly web content management system (cms)drustack   a mobile-friendly web content management system (cms)
drustack a mobile-friendly web content management system (cms)Wong Hoi Sing Edison
 
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason FreyDesign Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason FreyManageIQ
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An OverviewNaveen Pete
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App EngineVlad Filippov
 
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...OW2
 
Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker ManageIQ
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...LetsConnect
 

Ähnlich wie JIO and WebViewers: interoperability for Javascript and Web Applications (20)

JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!
 
"Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @...
"Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @..."Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @...
"Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @...
 
DocDoku: Using web technologies in a desktop application. OW2con'15, November...
DocDoku: Using web technologies in a desktop application. OW2con'15, November...DocDoku: Using web technologies in a desktop application. OW2con'15, November...
DocDoku: Using web technologies in a desktop application. OW2con'15, November...
 
DocDokuPLM presentation - OW2Con 2015 Community Award winner
DocDokuPLM presentation - OW2Con 2015 Community Award winnerDocDokuPLM presentation - OW2Con 2015 Community Award winner
DocDokuPLM presentation - OW2Con 2015 Community Award winner
 
Polymer 101
Polymer 101Polymer 101
Polymer 101
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applications
 
#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPR#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPR
 
Enterprise Griffon
Enterprise GriffonEnterprise Griffon
Enterprise Griffon
 
Django PPT.pptx
Django PPT.pptxDjango PPT.pptx
Django PPT.pptx
 
Code-Hub
Code-HubCode-Hub
Code-Hub
 
Dust.js
Dust.jsDust.js
Dust.js
 
DruStack- a mobile-friendly web content management system (cms
DruStack- a mobile-friendly web content management system (cmsDruStack- a mobile-friendly web content management system (cms
DruStack- a mobile-friendly web content management system (cms
 
drustack a mobile-friendly web content management system (cms)
drustack   a mobile-friendly web content management system (cms)drustack   a mobile-friendly web content management system (cms)
drustack a mobile-friendly web content management system (cms)
 
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason FreyDesign Summit - Technology Vision - Oleg Barenboim and Jason Frey
Design Summit - Technology Vision - Oleg Barenboim and Jason Frey
 
Web component
Web componentWeb component
Web component
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App Engine
 
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
 
Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
 

Mehr von XWiki

Applications Open Source pour Entreprise
Applications Open Source pour EntrepriseApplications Open Source pour Entreprise
Applications Open Source pour EntrepriseXWiki
 
Livre blanc : gestion collaborative de contenus dans le secteur public
Livre blanc : gestion collaborative de contenus dans le secteur publicLivre blanc : gestion collaborative de contenus dans le secteur public
Livre blanc : gestion collaborative de contenus dans le secteur publicXWiki
 
Livre blanc : gestion collaborative de contenus dans le secteur public
Livre blanc : gestion collaborative de contenus dans le secteur publicLivre blanc : gestion collaborative de contenus dans le secteur public
Livre blanc : gestion collaborative de contenus dans le secteur publicXWiki
 
L'intranet collaboratif Aelia : l'étude de cas
L'intranet collaboratif Aelia : l'étude de casL'intranet collaboratif Aelia : l'étude de cas
L'intranet collaboratif Aelia : l'étude de casXWiki
 
An collaborative intranet: the Aelia case study
An collaborative intranet: the Aelia case studyAn collaborative intranet: the Aelia case study
An collaborative intranet: the Aelia case studyXWiki
 
La base de connaissance de la FNAB
La base de connaissance de la FNABLa base de connaissance de la FNAB
La base de connaissance de la FNABXWiki
 
Collaborative Watch: the AFP case study
Collaborative Watch: the AFP case studyCollaborative Watch: the AFP case study
Collaborative Watch: the AFP case studyXWiki
 
Une solution de veille partagée et collaborative : le cas de l'AFP
Une solution de veille partagée et collaborative : le cas de l'AFPUne solution de veille partagée et collaborative : le cas de l'AFP
Une solution de veille partagée et collaborative : le cas de l'AFPXWiki
 
Créer ses applications métier : le cas DCNS
Créer ses applications métier : le cas DCNSCréer ses applications métier : le cas DCNS
Créer ses applications métier : le cas DCNSXWiki
 
La base de connaissances du CNFPT
La base de connaissances du CNFPTLa base de connaissances du CNFPT
La base de connaissances du CNFPTXWiki
 
Documentation of an application revamping program: the Capgemini case study
Documentation of an application revamping program: the Capgemini case studyDocumentation of an application revamping program: the Capgemini case study
Documentation of an application revamping program: the Capgemini case studyXWiki
 
Documentation d'un programme de rénovation applicative : le cas Capgemini
Documentation d'un programme de rénovation applicative : le cas CapgeminiDocumentation d'un programme de rénovation applicative : le cas Capgemini
Documentation d'un programme de rénovation applicative : le cas CapgeminiXWiki
 
Base de connaissance : le cas CAPHC
Base de connaissance : le cas CAPHCBase de connaissance : le cas CAPHC
Base de connaissance : le cas CAPHCXWiki
 
Knowledge Exchange Network: the CAPHC use case
Knowledge Exchange Network: the CAPHC use caseKnowledge Exchange Network: the CAPHC use case
Knowledge Exchange Network: the CAPHC use caseXWiki
 
La plateforme IWA : retour d'expérience
La plateforme IWA : retour d'expérienceLa plateforme IWA : retour d'expérience
La plateforme IWA : retour d'expérienceXWiki
 
How DCNS creates its own business applications
How DCNS creates its own business applicationsHow DCNS creates its own business applications
How DCNS creates its own business applicationsXWiki
 
Ressources pédagogiques en ligne
Ressources pédagogiques en ligneRessources pédagogiques en ligne
Ressources pédagogiques en ligneXWiki
 
L'intranet collaboratif Fidelia Assistance
L'intranet collaboratif Fidelia AssistanceL'intranet collaboratif Fidelia Assistance
L'intranet collaboratif Fidelia AssistanceXWiki
 
Documentation produit : le cas Easyvista
Documentation produit : le cas EasyvistaDocumentation produit : le cas Easyvista
Documentation produit : le cas EasyvistaXWiki
 
Documentation and Knowledge management: the EasyVista's use case
Documentation and Knowledge management: the EasyVista's use caseDocumentation and Knowledge management: the EasyVista's use case
Documentation and Knowledge management: the EasyVista's use caseXWiki
 

Mehr von XWiki (20)

Applications Open Source pour Entreprise
Applications Open Source pour EntrepriseApplications Open Source pour Entreprise
Applications Open Source pour Entreprise
 
Livre blanc : gestion collaborative de contenus dans le secteur public
Livre blanc : gestion collaborative de contenus dans le secteur publicLivre blanc : gestion collaborative de contenus dans le secteur public
Livre blanc : gestion collaborative de contenus dans le secteur public
 
Livre blanc : gestion collaborative de contenus dans le secteur public
Livre blanc : gestion collaborative de contenus dans le secteur publicLivre blanc : gestion collaborative de contenus dans le secteur public
Livre blanc : gestion collaborative de contenus dans le secteur public
 
L'intranet collaboratif Aelia : l'étude de cas
L'intranet collaboratif Aelia : l'étude de casL'intranet collaboratif Aelia : l'étude de cas
L'intranet collaboratif Aelia : l'étude de cas
 
An collaborative intranet: the Aelia case study
An collaborative intranet: the Aelia case studyAn collaborative intranet: the Aelia case study
An collaborative intranet: the Aelia case study
 
La base de connaissance de la FNAB
La base de connaissance de la FNABLa base de connaissance de la FNAB
La base de connaissance de la FNAB
 
Collaborative Watch: the AFP case study
Collaborative Watch: the AFP case studyCollaborative Watch: the AFP case study
Collaborative Watch: the AFP case study
 
Une solution de veille partagée et collaborative : le cas de l'AFP
Une solution de veille partagée et collaborative : le cas de l'AFPUne solution de veille partagée et collaborative : le cas de l'AFP
Une solution de veille partagée et collaborative : le cas de l'AFP
 
Créer ses applications métier : le cas DCNS
Créer ses applications métier : le cas DCNSCréer ses applications métier : le cas DCNS
Créer ses applications métier : le cas DCNS
 
La base de connaissances du CNFPT
La base de connaissances du CNFPTLa base de connaissances du CNFPT
La base de connaissances du CNFPT
 
Documentation of an application revamping program: the Capgemini case study
Documentation of an application revamping program: the Capgemini case studyDocumentation of an application revamping program: the Capgemini case study
Documentation of an application revamping program: the Capgemini case study
 
Documentation d'un programme de rénovation applicative : le cas Capgemini
Documentation d'un programme de rénovation applicative : le cas CapgeminiDocumentation d'un programme de rénovation applicative : le cas Capgemini
Documentation d'un programme de rénovation applicative : le cas Capgemini
 
Base de connaissance : le cas CAPHC
Base de connaissance : le cas CAPHCBase de connaissance : le cas CAPHC
Base de connaissance : le cas CAPHC
 
Knowledge Exchange Network: the CAPHC use case
Knowledge Exchange Network: the CAPHC use caseKnowledge Exchange Network: the CAPHC use case
Knowledge Exchange Network: the CAPHC use case
 
La plateforme IWA : retour d'expérience
La plateforme IWA : retour d'expérienceLa plateforme IWA : retour d'expérience
La plateforme IWA : retour d'expérience
 
How DCNS creates its own business applications
How DCNS creates its own business applicationsHow DCNS creates its own business applications
How DCNS creates its own business applications
 
Ressources pédagogiques en ligne
Ressources pédagogiques en ligneRessources pédagogiques en ligne
Ressources pédagogiques en ligne
 
L'intranet collaboratif Fidelia Assistance
L'intranet collaboratif Fidelia AssistanceL'intranet collaboratif Fidelia Assistance
L'intranet collaboratif Fidelia Assistance
 
Documentation produit : le cas Easyvista
Documentation produit : le cas EasyvistaDocumentation produit : le cas Easyvista
Documentation produit : le cas Easyvista
 
Documentation and Knowledge management: the EasyVista's use case
Documentation and Knowledge management: the EasyVista's use caseDocumentation and Knowledge management: the EasyVista's use case
Documentation and Knowledge management: the EasyVista's use case
 

Kürzlich hochgeladen

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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 

Kürzlich hochgeladen (20)

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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 

JIO and WebViewers: interoperability for Javascript and Web Applications

  • 1. JIO and WebViewers: interoperability for Javascript and Web Applications October 4th 2013 Ludovic Dubost CEO XWiki SAS Viktor Horvath Alixen
  • 2. Agenda ● About the Speakers ● Why Interoperability ● JIO: accessing Web Applications from Javascript applications ● WebViewers: building cross-applications Javascript viewers and editors for content types ● Question and Answers
  • 4. Ludovic Dubost, XWiki SAS ● French company, 30 employes ● Services and Solutions based on XWiki ● 1,6M revenue ● Independent company owned by employees ● Participating to research projects, including RESILIENCE ● LGPL Open Source Software ● Improving Information organization and sharing in companies ● Recognized project with more than 1 Million downloads ● 8 participation to the Google Summer of code ● Tens of thousand XWiki installed ● Creator of XWiki in 2004 ● 15 years of Web Development
  • 5. Viktor Horvath, Alixen ● R&D engineer at Alixen since 2008 ● Alixen: Free software development, maintenance, infrastructures, consulting ● Founded in 2002, merged with Systemis in 2012 ● Mioga2: Collaborative Extranet ● Biblio-PAM: remote access to library resources ● Alixen participates in the Resilience project: J-IO, RenderJS
  • 6. Resilience ● collaborative research project (FUI12) 11 labs and small / mid-size companies ● Resilient Computing ● "decentralised cloud" ● SlapOS, J-IO, RenderJS, OfficeJS ● Members: Alcatel, Alixen, Alterway, le CEA, l'INRIA, Institut Télécom Université Paris 13, Mopho, Nexedi, Wallix et XWiki
  • 8. Why Interoperability ? ● We can reduce the effort needed for Open Source projects to support multiple file formats in viewing and editing mode ● Viewer and Editor developers can extend the reach of their code ● Web Applications developers can support more file formats ● Javascript applications can interact with Web Applications
  • 10. Why JIO ? - Some years ago : ● Web servers, databases are expensive ● Server-side applications ● Apache web server
  • 11. Why JIO ? - Now : ● Web servers, databases are expensive much cheaper ● Server-side applications Client-side ● Apache web server or asynchronous web and application servers ● many more users per server ● ...data storage cost remains!
  • 12. Separate web application and its data localStorage database Mioga2 XWiki Encryption Replicate Revision Split J-IO storage
  • 13. Characteristics { "_id": "my_document", "title": "New Title", "_attachments": { "its_attachment": { "length": 3, "digest": "md5-e0089e[...]", "content_type": "text/plain" } } } ● document-oriented storage ● files as attachments ● similar to NoSQL / JSON storages ● enrich a basic storage: indexes, revisions
  • 14. Storage Connector: API methods ● post / put / putAttachment ● get / getAttachment ● remove / removeAttachment ● allDocs (complex queries)
  • 15. Connection example var local_jio = jIO.newJio({ type: 'local', username: 'viktor', application: 'test' }); local_jio.put({ _id: '123', title: 'My Document', setting: 'important_data' }, function(err, response) { console.log(response); }); Object { ok=true, id="123"} local_jio.get({ _id: '123' }, function(err, doc) { console.log(doc.setting); }) important_data
  • 16. Complex Queries local_jio.allDocs({ query: 'setting: "important_data"' }, function(err, response) { console.log(response); }); Object { total_rows=1, rows= [ Object { id="123", key="123", value={...}} ] } local_jio.allDocs({ query: '(title:"% Document") AND (setting: "important_data")', limit: [0, 100], sort_on: [['last_modified', 'descending']], select_list: ['title'], wildcard_character: '%' }, function(err, response) { console.log(response); });
  • 17. What is Mioga2 ? ● Collaborative Extranet for 14 years ● Project and mission management ● within and across organisational borders ● workgroups, document sharing, applications ● GPLv2 download: http://www.alixen.org
  • 18. Mioga2 as a JIO Storage Connector ● Workgroups have WebDAV spaces ● WebDAV - JIO / filesystem - documents
  • 19. When should you use JIO ? ● enable the user to control his data ● ease your burden ● unify your data access ● custom user interface ● ...towards democratic, truly Free web apps
  • 21. WebViewers: the Problem ● Many web applications store files (pdf, office, graphs, etc..) ● We need ways to view/edit these files in your browser ● Javascript viewers and editors exist but they are complex to integrate
  • 22. WebViewers: Objectives ● One viewer/editor for all Web Applications ● One viewer/editor macro for all viewers ● Automatic selection of viewer based on content-type ● Javascript only viewers (backend technology agnostic)
  • 23. WebViewers: How does it work in a Web Application ● Viewers are distributed as zip files ● A module to install viewers ● A way to activate the viewer ● Macro to use in content ● View/Edit button next to a file ● A way to read/write the file content in Javascript
  • 24. WebViewers: technologies used ● Renderjs: gadget technology ● JIO: api to read/write files (optional)
  • 25. WebViewers: demo on XWiki, Wordpress ● Install a viewer in XWiki ● Attach a file in XWiki ● Use a macro to view/edit the file in XWiki ● Show viewers in Wordpress
  • 26. WebViewers: support level ● Web Applications ● Available: XWiki view/edit, Wordpress view ● Coming: ERP5, Mioga2, Drupal, Mediawiki, ? ● Web Viewers ● Available: text, pdf, jquery sheet ● Coming: SVG Edit, Realtime editor
  • 27. WebViewers: future ● Reaching out to Web Applications developers for native support ● Reaching out to Viewer/Editor developers for native support http://www.webviewers.org