 Okay. Hello, everybody. I'm Anka Luka from Xwiki, and I would like to talk to you about Xwiki. So I'm going to talk to you about Xwiki. Now, this talk is called from zero to internet in the 20 minutes. The zero is that I don't even have slides. It's going to be demo-based. If we can all join hands to summon the energy of the gods to make this not fail, it would be amazing. So what I wanted to show you is maybe just a few words about myself. I'm an engineer. I think that's how you call my job. Today, I'm Solutions Architect at a company that produces open-source code and provides services for this open-source code, which is Xwiki.sys. So what I wanted to do was to build a cheap intranet out of an open-source platform, which is Xwiki, and I wanted to imagine that we have a medium-sized, no small, it would be small because it would be around maybe 40 or 50 people, just enough to want to go out of world documents in terms of knowledge sharing and not enough to go to a fully fledged solution with lots of bells and whistles and really, really expensive. So what I want to take as a use case is the use case of a group of people producing jam, like jam to spread on bread in the morning. And I imagine that we'd have these people that have the knowledge about their job and have all sorts of work that they need to do together, and they need to not lose the knowledge of what they are doing. They want to share stuff about their job. So I'm going to transform Xwiki in an intranet in 20 minutes. Go. First, we go on the Xwiki website, we click download, and then we can download here the Xwiki version. I'm not going to do it now. It's about 300 megabytes is going to be too long. But I already have done that on my local instance, and I have a Virgin Xwiki here. This is what happens when you first start Xwiki. It has this loading stuff, but it's only the first time when it started because it initializes everything. And what we're going to see is the home page. Oh, God. Sorry. It went in responsive mode because the screen is so small. This is better. This is, can you see the text? You can see the text. Okay. So this is what Xwiki looks like out of the box. It's an Xwiki engine. It's a wiki engine. So you can create content, pages. You can also create some structured data, which is the feature that we will use in order to turn this into a more job-oriented, like an expert-oriented solution. So normally it's a wiki. You have home page. You can create some pages. I should probably log in. It could help. Yeah, admin, admin. So you have pages. You don't see the whole, I'm going to make it smaller so that you see. So basically on a normal screen, you would see it a bit like this in terms of global layout. But I'm going to make it bigger so that we can actually read the text. You can modify pages. You have an editor. You can do text. And then you can do saving of the changes that you've done. So far, nothing surprising. Nothing different from what you would be used to when it comes to a wiki. You can already use it like this for an internet because you already have a place to put content, a place to create users, put them in groups and give rights to the people. For example, if you go to the administration, you can actually create a user already. There's already the admin and you can create a user. For example, the Ross Berry. And we create a user. Now we have a new user. This guy can now log in and use the wiki himself as well. So this already exists. You already have this in the platform. You don't need to do anything in order to have that. So you can do content, but we wanna take it further than this. For example, we want to be able to handle news. We want to announce things to people to make blog articles and things like that. So we're gonna go in the extensions area of the wiki, which is the interesting part. And they're going to start installing applications in order to add extra features to this platform. So I'm gonna do a trick because normally they come from the internet, but here internet is not the best place to go to. So I downloaded them locally and I'm gonna try to install them from the local folder. So I have a blog application that I can install. Ah, I'm gonna cut the internet of this because it's resolving everything on the internet and it should resolve it in local. Now I have it. Okay. Yes, we should have held hands under the rainbow in order to make the demo work because apparently, no, it's not gonna time out. It's just a bit longer. So now I have a blog application and if I go to the homepage or refresh the page, I will see it here in the list of applications. So I have a blog. I can create a blog article here. For example, Apricots, sorry in English is Apricot with a P are here because we're creating jam. So it would be interesting for people to know that the Apricots are here. I have lots of features in this. I can add an image in my blog post here, upload. The screen is incredibly small. I don't see anything on it. I'm sorry for that. So we have this sent to the server. Okay, we have an image. I can then select this image as being the display image of my blog post. It's a news and I will also publish my blog post. I'm going quickly through this. You can go into the detail of the applications just to show you that this actually works like this. So we have a blog. We have the list of all the blog posts here and so on. This job is done. Now we can have somebody that publishes blog posts for people to see on this internet. Next step is we are thinking about, okay, we have regular pages, we're gonna create content. What we wanna do is we wanna put meeting notes because in any company, any group of people that work together, we're gonna have meetings and we want to put the notes. So what I'm gonna do is that I could actually use regular pages for the meeting notes but I can also install an extension in the same way. I can install an extension that would allow me to handle better my meeting notes because I will be able to have it in the list of applications. I have the list of all my meetings here, so far there is none. And for example, I can say that I wanna make a sales meeting February 2020. And I have lots of metadata, like structured metadata about these meetings. Normally I would have like a regular text page and I would just type text. I have a structured version of the page. This is a feature, this is a core feature of Xwiki being able to have structured stuff in your wiki besides regular wiki pages. So I can use these applications to make my data more meaningful and to be able to handle it better. As you can see, all the work is already done. So I have these beautiful forms. They have all the controls that I need. I don't need to work to do any of this, basically. And it's free because it's, I almost said it's free because it's open source. It's free because it's free and the open source is another thing. So let's say that Ross Berry is the leader of this meeting and the meeting is in preparation. Normally I would say here what we need to talk about and I can put the notes in here. Okay, I have my meeting and now I have a list of all the meetings that are here. Because the data is structured and this is very important, because the data is structured, I can actually, yeah, demo effect, sorry for that. Because the data is structured, I can actually do this filtering, this very precise filtering of the metadata of the data that I put in. If the data wasn't structured, just takes, I would never be able to filter by status here, for example, to have a table of all the data and have them filtered precisely by a certain value of the metadata. So I forgot what else I wanted to show you as, I think I wanted to show you the task manager. No, not users, extensions, still extensions. So now I have also a task manager and it also appears here in the list of applications. So the task manager kind of is the same as the meeting, you have a structure, you have a table of all the tasks. When you create a new task, for example, create a social media strategy, you can assign it to somebody, you can add a priority to it, you can, actually it's high priority, it's in to do, you can have an assignee for it and everything. So now I have the list of all my tasks and I can see them here, I can filter them because the data is structured. So there's lots of things that are already done like this that you can use and you can install. There's an ideas application for people to add ideas. There's a bunch of human resources applications such as holiday request application and the recruitment application. I also wanted to show you that, but I'm a bit out of time now, so I'm gonna go quickly. So this basically allows you, for example, the human resources application allow you to have some structuring of the work that you do, like not only send emails between people, I wanna go to holidays, sure, go to holidays. It can work by email, but you want it to have it a little bit more structured and what you would want also is to kind of save money and not spend money on one solution for each of the needs of your small to medium company. What's very interesting here is that as soon as I create content in the Wiki, it's automatically searchable because that's how the Wiki works. So for example, if I look for social media now, I will actually find the task that I have just created. So it's not separate data, it's data like any other data in the Wiki and as soon as I put data in there, it is indexed by the solar engine and I have this powerful thing that allows me to search everything that I have in terms of knowledge. So far so good, but it looks ugly, right? We want to give it like a beautiful colors of a peach workers, sorry, jammer workers. So I'm gonna go to the color themes. I'm going to copy this default color theme which is the one being used and I will create a new one called Abrico because this is the name of my company. Can you still see the text? It would be so much more comfortable for me to see the actual size of the screen. Thank you very much. And basically, I'm going to edit this color theme so it's really, really easy to make it your own, like to customize it and color it to make it look exactly like you want. For example, I will use, I think this is the logo that I built. Yes, sorry, that we paid a company to build. I will change some colors to make it more white. I will put my links, I will make them orange. For example, more orange, more orange, and I will also change the color of the navigation bar up there. So the navigation bar, we're gonna make it white. I may be going extremely quickly, but what I wanna show you is that it is possible to do this really quickly. Not how exactly will you do it when you will do it. You'll probably spend a little bit more time finding the buttons. But link color, hover color, no, white is not good because we won't be able to read it. Still some orange, I can actually copy this orange. It's so much easier. There, and this is also ugly. We're gonna make it white. Sure, okay, let's go. Save and view. So far, it's still looking as it looked before because I didn't set the wiki to use this color theme. So I'm gonna go to the administration and in the theme section, I will choose the abricot color theme. Save. And now my wiki is orange like using the colors that I wanted to use. What I also wanna do at this point is, okay, I don't like these panels. They don't represent what I wanna see. I don't care about these tips. I don't care about these things and my homepage is ugly. So what I will do is that I will also go to the administration. I can actually handle all these applications here. I'm gonna remove some of them. For example, I don't care about the help. I don't care about the sandbox. I want the dashboard at the end. Blog Meetings Task Manager dashboard. I save this and I can also say that I want these panels to be a small column and I will move the navigation over here and remove all these stuff. Tip and I will read the tips. I wanna remove it. Sorry to the minute. Come on. Come on. Come on. Yeah, of course they're already there but I want them to disappear from the right panel. Okay, no worries. It's at the end. I'm not gonna spend too much time on that. What I wanted to show you is that without any coding whatsoever, what I managed to do is that, okay, fixed it. Sorry, quick, really quick. So without any coding, what I managed to do is to give it a look and feel that corresponds to my company to handle the applications that I wanna see here to make it a little bit easier to work on. And now what we're gonna do, we're gonna work basically on the homepage. What I wanna do about the homepage is I wanna just remove all this content and make it my own. What's interesting is that I can actually include another page in here and I'm going to include the dashboard. So I'm gonna make it display. I can use macros. This is a feature of the wiki. I can use macros in order to say that I want to show in this page another page. So right now I have a beautiful dashboard with the pages of my wiki and with the activity stream of my wiki. There's also notifications included in this. So I have a notifications panel here. I can configure email notifications. Whenever there's a change on the wiki, I get notifications by email and so on. Which is something that you may want when you do an internet because you want to know what's happening. You want to know what's happening on your wiki and how it works. I'm going to show you now two features that are interesting features of the xwiki platform that help you make this internet really your own. Because we installed some applications but there will never be an application, for example, or maybe there will not be an application in order to define the, for example, the jam recipes that we wanna use because we have some specific data, some specific knowledge about our job of making jam. So what's interesting with xwiki is that you can create your own application. We saw the meeting application. We saw the task manager, but we can also create one that corresponds exactly to what I want it to be. I go here, I create an application. This feature is called app within minutes. I think this is exactly what is left out of this presentation, minutes. So let's try to make it in minutes. So jam recipes, I'm gonna call it the recipes. I think it's written like that. And what I want here, for example, is I will want a name of the here. I will want a name, I'm gonna call this name. I will want an actual recipe itself because we're not gonna structure the data about the recipe, it's still gonna be text, but we want to add some interesting metadata. For example, what we want is we would want to know to which season this recipe applies. So I'm adding here a property in my application, a metadata of type list, and I'm going to define here a summer. I'm going to define spring, and I'm going to define autumn, and I'm going to remove these default choices. Is it on? It's on. I'm gonna remove some default choices. What I also wanna do, so right now this is done, what I also wanna do is, for example, I wanna say that one user of my internet, so one member of my company is the expert of that recipe, so what I will do, I will add a property of type user. I will call it expert, and that's it, it should do the job. What I will do also is to move the content to the end because this actually defines the order that I'm gonna see in my form. I'm gonna move it here, come on, at the end. I can configure a bunch of stuff in this application, I'm not gonna do it now because it's long and I only have minutes. And for example, I'm gonna add in my table of data on the homepage, I'm gonna add the season and remove the location. So this allows me to configure that table of existing data that we saw. I can choose an icon for my stuff, is there any fruit here? No, but this is the closest to nature that I have, let's go. I have an application, it took me, shit, the whole three minutes. So now I have my own application that I see here and for example, I can add apricot jam. And the metadata that I have defined is here. I'm gonna call Ross an expert, he's an expert in anything. Here's gonna be the story of their site. You will understand what I'm typing text. I'm saving, I have my data here that is displayed structured and as I said before, magically everything is in. So if I look here for best apricot jam, I will find my recipe that I have just defined. So basically, sorry Alina, I just saw that. So basically with a couple of extensions that I have installed, stuff that I have defined and still I didn't show you all the stuff that Xwiki can do, I have an internet, I have a place for the people that work together to put all their data and to find it really easily and also get spammed by email when it gets updated because that's what we all work for, spam. Thank you. Are there, yeah sorry, go ahead. Actually there is an extension that is called workflow that does this, oh sorry, I need to repeat the question. The question was can I attach an approval workflow? The feature is not in the wiki itself, in the platform, in the wiki platform itself because wiki is about everybody contributing. But yes, there's an extension that is called publication workflow if you're interested and it does exactly that. It does stuff that gets published only when somebody signs off. Yes, yes, so the question is whether it supports integration and active directory. It was in the list of stuff in the pitch about what I will show you. I didn't show you, but in the extensions, so just as I installed blog and task manager, you can actually install plugins that will delegate the authentication of the wiki in like with a known protocol like OpenID, LDAP and things like that. The widget infrastructure do I need to host it on? It is Java, so you will need a container for Java. It's called application server for Java. I haven't seen it used mostly with Tomcat, but I guess you can put any other one. A relational database, I have seen it used mostly with my SQL, but also with Postgres SQL and also with Oracle because people do that. And Microsoft SQL, I think I saw it used with that. And we usually put an HTTP server like an Apache or an Nginx in front of that Tomcat. So you will need this stack basically and then in terms of machine, I think it needs to start at about, the CPU is more or less important because there's not much processing. What you will care for the most is the RAM. Basically, you will need the RAM and you will need maybe a couple of gigabytes of disk space and a couple of maybe two gigabytes of RAM, but you can also make it run on less depending on how many people you're gonna have on that. And there is a Debian packing? There's a Debian packing, gender Docker. I forgot the name of the Docker stuff. What is it called? The Docker image. Image, Docker image to test that. Yes. Is there a way to install the extensions within the installation process rather than through the wiki? No. No, there's no checkboxes at the install time, but you can actually make that happen. It's not that hard to make it. Actually, the UI that we saw initially, the blue UI, that also is not installed out of the box. When you first open your wiki, you have a wizard. I didn't show you that wizard, but you normally have it. You have a wizard that asks you what do you want on your wiki. So if you want to make your own type of packages that you would distribute, you can also do that. And by default, it would install your packages which contain also some extensions, not the default one, and then you have to do it manually. Any other question? Okay. Yes. What is the purpose of the sandbox application? We deliver it by default with a default UI. As I said, this default UI is just what the Xwiki standard project has chosen to deliver, but you can make your own default stuff. The purpose is for people to try out, for example, the modification of pages and the syntax, like how does it work, what you can do, the macros, the thing, without actually touching any serious content. It's a playground. It's a playground, yes. It's a playground indeed. Thank you very much. Thank you.