We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Displaying other Application data into a Wiki

00:00

Formal Metadata

Title
Displaying other Application data into a Wiki
Subtitle
… and other integrations
Title of Series
Number of Parts
561
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
A Wiki is a powerful tool to store and display information provided by users. In this presentation we will show how it can also show information from external applications and connect to external applications. Using macros and internal scripting language on top of the XWiki Open Source Wiki platform, we will show examples of data being displayed from external applications. Examples will include: Elastic Search, Matrix/RIOT, Nagios, Cacti, JIRA, Databases.
WikiOpen sourceContent (media)Macro (computer science)InformationFile formatDisintegrationExtension (kinesiology)Embedded systemVideoconferencingBus (computing)Type theoryWikiCartesian coordinate systemMacro (computer science)BitForm (programming)Extension (kinesiology)Key (cryptography)Natural languageSoftwareINTEGRALDifferent (Kate Ryan album)Scripting languageKanban <Informatik>Multiplication signContent (media)Graphics tabletInsertion lossStatisticsVideoconferencingDemo (music)InformationData modelEmbedded systemData structureClient (computing)Open sourceFile formatLink (knot theory)Core dumpOnline helpSelf-organizationPresentation of a groupProjective planeStandard deviationSoftware developerPhysical systemData managementDatabaseComputer animation
Macro (computer science)Online helpElasticity (physics)Graph (mathematics)Sign (mathematics)CausalityMessage passingElectronic mailing listTable (information)CountingKanban <Informatik>Demo (music)WordInternetworkingGoodness of fitNeuroinformatikSound effectInstance (computer science)Computer animation
CollaborationismMacro (computer science)Table (information)CausalityMessage passingOnline chatElasticity (physics)Online helpElectronic mailing listInternet forumCursor (computers)Error messageData managementWeb pageQuery languageDefault (computer science)Electric currentJava appletElectronic visual displayDistribution (mathematics)InformationTheory of everythingTask (computing)Macro (computer science)BitCodeMatrix (mathematics)DatabaseMultiplication signType theoryGraph (mathematics)Software developerCycle (graph theory)Server (computing)Query languageRevision controlWikiElectronic mailing listKey (cryptography)XMLComputer animation
Online helpJava appletElasticity (physics)InternetworkingServer (computing)Type theoryBitStructural loadMatrix (mathematics)Web pageObject-oriented programmingMacro (computer science)Computer animation
CollaborationismExtension (kinesiology)Macro (computer science)VideoconferencingOnline chatMatrix (mathematics)Peer-to-peerCryptographyEmbedded systemType theoryVideoconferencingGraphics tabletXMLComputer animation
Presentation of a groupContent (media)WikiWikiPresentation of a groupView (database)Link (knot theory)TouchscreenServer (computing)Graphics tabletWeb pageCodeComputer animation
Content (media)Clique-widthInformationWeb pageInternetworkingGoogolVideoconferencingCodeBitEinbettung <Mathematik>INTEGRALVideoconferencingPresentation of a groupComputer animation
InternetworkingGoogolJava appletContent (media)WikiVideoconferencingPeer-to-peerEmbedded systemCryptographyMatrix (mathematics)Type theoryPresentation of a groupCodeDemosceneWeb pageHookingEmbedded systemDemo (music)Computer animation
Macro (computer science)Embedded systemEinbettung <Mathematik>Demo (music)Online chatOnline helpGraph (mathematics)Kernel (computing)Multi-agent systemInformationWeb pageScripting languageData typeVolumenvisualisierungElasticity (physics)Java appletTunisCrash (computing)Order (biology)Library (computing)Type theoryWikiWeb pageCodeView (database)Demo (music)Data managementRepository (publishing)Extension (kinesiology)Configuration spaceKey (cryptography)Module (mathematics)InternetworkingResultantGraph (mathematics)Macro (computer science)Different (Kate Ryan album)Java appletPresentation of a groupComputer fileEinbettung <Mathematik>Scripting languageComputer animation
Embedded systemEinbettung <Mathematik>Java appletWritingScripting languageLocal ringMacro (computer science)Menu (computing)Electronic data processingSpherical capOnline helpWikiCountingWeb pageComputer fontString (computer science)InformationASCIIElasticity (physics)Hill differential equationType theoryINTEGRALScripting languageLocal ringExtension (kinesiology)Java appletRepository (publishing)WikiSystem administratorMacro (computer science)Module (mathematics)Electronic visual displayCodeComputer animation
Java appletWritingScripting languageLocal ringVelocityObject-oriented programmingModule (mathematics)Java appletWikiDemo (music)Computer animation
InformationWeb pageMacro (computer science)Flash memoryOnline helpWikiPlane (geometry)Point cloudElectric currentCodeInternetworkingCodeBitElectronic visual displayDemo (music)Computer animation
Twin primeOnline helpView (database)Field (computer science)WikiAngleSimultaneous localization and mappingComputer animation
HorizonWikiCodeOnline helpSpherical capMacro (computer science)WritingScripting languageVelocityDemo (music)Revision controlVelocityComputer animation
HorizonUniform resource locatorRevision controlServer (computing)BitComputer animation
Macro (computer science)Scripting languageWritingVelocitySinguläres IntegralGraph (mathematics)Uniform resource locatorContent (media)Service (economics)VolumenvisualisierungMIDIOnline helpFlash memoryBitMacro (computer science)Graph (mathematics)WikiObject (grammar)System administratorKey (cryptography)CodeLatent heatParameter (computer programming)AreaSubject indexingRight angleComputer animation
WritingElasticity (physics)Scripting languageBuildingParameter (computer programming)DisintegrationCodeNormed vector spaceGroup actionLatin squareArc (geometry)Online helpFibonacci numberMotion blurJava appletService (economics)Physical systemServer (computing)Metric systemSystem programmingNewton's law of universal gravitationLoginData managementVisual systemInclusion mapElasticity (physics)Demo (music)Cartesian coordinate systemINTEGRALBitDatabaseWikiComputer fileInstance (computer science)Graph (mathematics)Electronic mailing listService (economics)Graph (mathematics)CodeType theoryPrice indexComputer animation
Data managementOnline helpWikiCountingJava appletFlash memoryGroup actionWage labourCodeGraph (mathematics)Subject indexingWikiInequality (mathematics)Computer animation
CollaborationismPermianConditional-access moduleMenu (computing)CodeChemical equationOnline helpCopula (linguistics)Elasticity (physics)Computer wormJava appletWeb pageWikiInequality (mathematics)Subject indexingGraph (mathematics)Computer animation
AverageDigital filterQuery languageElasticity (physics)WikiGraph (mathematics)INTEGRALDemo (music)Computer animation
Computer animation
Transcript: English(auto-generated)
Yes, so thank you. I'm so I'm Ludwig Dubas. I'm going to talk about displaying other application data in a wiki and other types of integration and so First who am I? So I'm a creator of XWiki. I'm running XWiki-SIS. We're a company of 40 people
Working on open source full-time. I'm an open source contributor and also a promoter XWiki-SIS also works on CripPad, which is another software Open-source software that you can check out. We had a presentation before about it
and so we've been working full-time on open source for 15 years now and So I've personally worked on many XWiki projects so I passed the development of the core XWiki software to a team and so I'm But I'm getting involved more in the user in the client using or the users using XWiki and
I'm working on trying to have open source a bit everywhere either in our company or or also personally and so that's not so simple and I'm working on it So what is actually XWiki? So XWiki is a professional wiki. The X in XWiki means extended
So it's an extended wiki it has many advanced features for content editing It also and one of the key things that it integrates a scripting language and the method to structure data And it has many macros so I won't go too much in the in the structuration of data in XWiki
Actually, there is a presentation by Anca in in an hour. I think that we'll talk more about the The About the engine and everything it can do but so in XWiki you have the ability to structure data and create like databases that you can then
Talk to using a scripting language Here I will more talk about how we can integrate other tools So we have also a system to do macros. So when we're in the WYSIWYG we can insert macros I'll show that in some demos. So actually why talk about integrations? Well, the thing is everybody uses lots of tools
whether on the internet or or in our company, we have tons of different tools and so When we look at it information It can come from many places and have also different forms. So The goal of XWiki is to help people manage information and organize information
And so we provide a lot of tools to manage the information that we put in XWiki But there is no reason not to be interested also to manage information that is outside the wiki and Also information that would be in formats That are more complex than the standard features of the wiki so text or or structured data that are standard features of XWiki
We want to also display data that could have different ways to be displayed And so wikis are really great to organize content. This is why it's really interesting To try to see how how we can integrate data from outside
And another aspect is that if you actually when you have information in many places one of the difficulties that Happen is that it's hard for people to understand that information So, I mean, let's say we have a link where there is some statistics the problem that there is a statistics But there is no explanation about the statistics and the wikis are great places to put explanation
So if we bring the information the statistical information from the other tool inside the wiki we can actually explain the information Next to the the statistics so Now, how how do we make integrations in XWiki? So we can either use existing macros and extensions we can embed HTML
We can embed JavaScript tools We can write our own scripts to call local or remote API's We can write our own macros and we can do advanced integration using listeners So I'll try to show a bit of everything. So first using extinct existing macros and extensions
So for example, GR macros video macros diagrams Kanban you bought or elastic search so we have a bunch of macros in XWiki. So I'll show some of them. So for example If I go here It's actually not here
So this isn't an XWiki instance on my computer and If I up I will go to JIRA for example, so here I can show a good Demo effect superb I Lost the internet good. Yeah, so JIRA is not on my computer. So
No fail Nice good failure. So that's gonna be tough. So not everything will work in my demos
Try again Taffy that one Sputnik where's Sputnik? No, it's not that. It's not all JIRA.
Try again, I
should have tested right before Aha might work. Yes Okay, so if we can talk to the JIRA server So we have JIRA macros we can show we can show the tasks that are done or not done
We can show them at least We can make a JIRA query actually So if I look at the code in XWiki, we have a JIRA macro and we can We can use that macro to display data. So that's one example
We Can also have so actually This is a macro that we use internally at XWiki. It's not published We can actually even do charts. So it takes a bit more time Let's hope it's fast enough That that that
No, doesn't want to come Yeah, I should have tested how long it took to Run the macros. So this is live data as you can see because it's really interesting data so Yeah, so here we can see a graph of the XWiki development cycle version 10 who has
Who has done what so we can run we can make a chart directly from XWiki with data coming from JIRA so Potentially you can do the same thing like running calling a database getting data and then giving it to a chart in XWiki
That would graph the chart Here another graph another type of graph that you can do So we have a bunch of macros like that for example here a matrix macro Which actually just allows to embed the chat In in a page so I took a chat room and
If it loads so it loads on the internet again because this is running our own matrix server here And it will show matrix chat live on the internet that I created for this So I will pass a bit on this on these macros
Let's go to the next type of example in the meantime it might load Up oops no, it's here. Sorry. I need to speed up now, okay? so Another type of things we can embed HTML so the metric chat is a is an example
But I can also embed a pia tube video or even a cripad video actually this document here this cripad Is actually coming from there It's actually I put it here directly inside the wiki page, and I put the link view full screen
So I can run the presentation directly so this is a cripad Presentation that is on the cripad server and is embedded on my page actually if I look at the code This is just done with a bit of iframe HTML embedding so embedding HTML and other tools we can do that with
Pia tube here, that's another example of integration I can show a video that's actually a Fosden presentation from last year and I can run that presentation that video directly so I can do that type of things now Oops, I need to go back to my presentation now
hook and The next step is okay. I can embed HTML that scene that's fairly easy now. Can I embed actually JavaScript code? so Up, and if I go back here. I have by the way my Fosden my Fosden demo chat embedded in my page
So now JavaScript embedding so actually here. I want to show up So this is actually an embedding of a graph with JavaScript library. Here is the code Here I have my code
this is defining my graph and This is the JavaScript code the JavaScript library that is transforming this to a graph With JavaScript embedding so in X wiki we can embed some JavaScript here just like that We can run JavaScript code and make it
Transform some data, so I transform this data into JavaScript Now the thing is we actually Here we have the same exactly the same thing, but the difference is that instead of running JavaScript code from the internet It's actually running JavaScript code that that is actually installed in X wiki
So these are IPIs in X wiki Which allows to talk to JavaScript module that we have installed with the X wiki extension manager So X wiki can install extensions, and we can actually install any Maven extension From the Maven repository, and this is a library vis GS the library that we can get from the
Maven repository, so it's JavaScript code in a zip file And we install it and when it's installed we can use it so here. I don't need the internet anymore for that That viewing and so what is interesting is that once I did that embedding I can actually make a macro
so here I've transformed my code to a macro and Now this Java the same code that was before is executed by the macro, and I have a macro I can put any graph and I can have a
different view here up and Any graph with view and we can also do this for example with a timeline So here this is actually JavaScript code which allows to to view timeline so actually we can even move them because it's editable these this JavaScript allows to edit and
So the tool doesn't save so it cannot save right now But we could improve it so that it would save the result of that of this Configuration on the JavaScript module inside inside X wiki in instead of just This is the one that we're loading so the this is JSON here, and then the JavaScript code
Is after that to load the thing so we can this type of things we can transform to macros inside X wiki So that it would display Go back to the presentation And so now writing script with local API's so I wanted to show another type of integration
here I have a Some ASCII art, so this is actually Java code So here I this code here. I installed from the extension repository of X wiki I installed the figlet Java module in X wiki just with the
Administration and then I could use some groovy to actually convert this to a figlet so to To a little display here, so I can actually say He's cool
And I have changed my thing same thing we can transform this to a macro up For them is really cool and can display so I wanted to point out that most of these things here Oops have been done pretty quickly so Taking a Java module and inserting in X wiki
Another example is working with an API so embedding data from outside so here I Go back Now I have a demo with NASA So I need the internet for this and hop I have a picture the astronomy picture of the day and
Where's the explanation? So I can actually help code it look at this and this is basically a bit of code a bit of code to display to call the NASA API to get a picture and Display it in X wiki so not only I can actually get the picture of the day
But I can actually get the one from yesterday Or the one from the day before And the day before
Yeah, this one is very nice actually they're pretty amazing yeah Yeah, and So pop-up So actually we can do that in JavaScript we can also do that in velocity
So the actually I have both in my demo I have a JavaScript version up and this is the JavaScript version of the API So this one also has next previous Actually previous up the same thing, but it's implemented in JavaScript instead of being implemented in server side So you can do both
So I'm going to speed up a bit because I have a bit more It's not finished of things what we do we can write our own macro So actually I showed that I want to very quickly show how you actually do that And so here if I take my macro my graph with macro This is what I had to do to write the macro up I had to move this code
To an X wiki object and then it's a macro in X wiki Available everywhere, so it was actually just moving the code in a specific area in X wiki And we have a macro that's available to everybody you can do that as an admin of course Not as a as a standard user, so I move the code and here
This is how I get the parameters that I use in my macro instead of actually passing the data right away So And then okay now I'm going to a bit more advancing so one of the things I prepared for this demo is an integration of X wiki with elastic search
And so what we what I did is I created an application in X wiki, which is a database of countries So here I have 264 countries so I didn't type it myself. I imported it from a World Bank data, so I created some CSV files
Using the World Bank service I imported the data in X wiki, so I imported the list of the countries, and I imported The list of the data of every year so for example if I say France here I Can see the data for France for every year population GDP?
GDP per capita etc etc and so what is interesting is that if I if I go to countries now Actually so not only I imported the data But I wrote a listener That is actually pushing the data storing it in X wiki and pushing the data to an elastic search instance
So who knows elastic search here? So it's pushing the data using elastic search was not a lot of code to do that To push the data and now and then in elastic search I created some graphs And this is a graph from elastic search that is embedded in the wiki And it shows all the indicators for France
That are stored in my in my wiki and pushed to elastic search so this graph was made in in an elastic search So actually here This is the Kibana instance And I can actually view the data from the wiki so for example here. I can see the GDP
per country for example or things like that in an elastic search and when I do a When I these graphs that I did I use the copy the the code of the graph and embedded it in X wiki So up and the last thing I did is here you have a dashboard
World Bank dashboard which contains the graph of every country here of everything so you can see the GDP of the United States going very high and Actually you can see in X wiki Here my dashboard embedded in the next wiki
Here and so now if I go to show you that it's actually real up I Can take that data here, and I can also go here Up and take France data
Up and so here you can see my my graph that should load so here You can see some data here that is 31, okay? Everybody sees its value is 31, okay? No, actually it needs to go down to be better. It's a genie. It's an inequality index
It's better when it's down Well it depends what you believe So here I save my page in the wiki and actually up I can reload the page now
And that was yeah, oh and it's 25 magic so the data was pushed to elastic search and the graph was Put up today so actually here We can actually I can edit and I can change if I want to see another country instead. I can do that And there I can show another country directly from the wiki. That's it
for demos of integration