 So my title is, Why Drupal is the Answer, regardless of the question. And truthfully told, I didn't came up with this title myself. It's slightly arrogant. But someone in the community suggested this title, so I decided to use it. Either way, I hope that throughout this presentation I'll be able to tell you and explain you why Drupal can be used for many use cases. That's not to say that Drupal is always the best answer to every problem. I'm affirmed the leader of the fact that we should use the right tool for the right job. So that's it. Let's get started. First of all, by the EMBHG student at the University of Kent, my work focuses on Java and Java virtual machines. It's at the compiler level, so it's low-level compiler technologies. And then by night, I'm working on Drupal. I'm the founder of the project and also the project needs. And of course, Drupal is all written in PHP. So there's two opposite worlds in my life. First of all, what is Drupal? This is a feature taken last year, just better. So we didn't have a boot last year, but we sort of conquered the boot. So there was a spare table in there. And then we made a boot out of that. I don't know who wrote this or who made this, but it turns out to be quite accurate. I decided to use it for this presentation. So it says, Drupal is a PHP-based CMS or a web application framework or a community website and working tool. And it's also totally password-compliant. It's an AJAX, RSS, aggregation, syndication, tagging, logging, social networking, APIs, and geolocation. And also, it's GPL, as you can see in the right corner. So really, Drupal is two things. On the one hand, it's a content management system, which means that users can download Drupal and install it to get a site that will write this real quick. And on the other hand, it's also a web application framework, meaning that it's more of a tool for developers to create additional modules for even app functionality. So it's really a G Suite thing. So why would we use Drupal? One reason we use Drupal is that it's from Belgium, or at least it's started in Belgium. They're actually a very international community. The Belgians are really the minority community. And truth to be told, we look more like this. It's a little bit dark, but this picture was taken at the Drupal conference this summer, which was held in Brussels. And I think about 250 people showed up, of which, I guess, 10% percent were people from Belgium. So we're really an international community. We're also a fast-growing community. If you look at the number of posts on the website, you see that's been growing exponentially. So we started in 2001, 2007, and our main website does more than 10 million page views a month. It has about one or two terabyte of traffic, and that's, you know our website, you know that it's very boring. There's almost no graphics, it's plain text. It's almost plain text. So it's really a lot. The Drupal course, and that's only for the core, which is the main distribution of Drupal, is downloaded by 80,000 times a month. And on the website, we have 120,000 registered users. We also have a growing and healthy ecosystem. When we just started, pretty much all of the users are also the developers of Drupal, and over time they've changed. And now we have more users than we have developers. We also have vendors, and system integrators, and hosting companies doing full-time Drupal stuff. To give you an idea, there's about more than 20 companies which do nothing but Drupal sites, and there's more than 250 individual consultants. But most of all, we're a very active and passionate community. We organize conferences. We organize five conferences the last two years, and we're currently organizing the open-source CMS summit, which will be hosted at Yahoo in Sunnyvale, and it takes place in March, in about three or four weeks from now. There's also books written about Drupal. Most of all, we also make case and cookies in the shape of a logo, which I think is a good sign for the fact that many of us are passionate about what we do and what we stand for. And so to help support this community and to help Drupal grow in scale, we have a special announcement to make today, and you're the first to hear about this. So launching today, we are launching a Drupal association, which is a non-profit organization meant to support Drupal. It will be based in Belgium, but the board of directors and the people that make up the association will be very international. And the goal of the association will be to help the Drupal community succeed. And one of the things we'll be doing is continue organizing these conferences, making sure that the Drupal infrastructure will continue to scale and things like that. And the announcement or press release will go out tomorrow, if you have more questions about this, you can contact this association at Drupal.org, or you can check out the website we made at association.drupal.org. There's all kinds of information about why we're doing this, who's involved and the things we're gonna take on. So back to the main story. We also have lots of great users. All of the community sites use Drupal. The Drupal website itself is based on Drupal. There are also Drupal, KDD, Mozilla, Devin, and Ubuntu, one or more Drupal sites. It's not always their main site, of course, but their various projects use Drupal. Universities and use Drupal. In Belgium, all the major universities have plenty more Drupal sites, but also big universities in the States. Broadcast companies are using Drupal in Belgium. PST is using Drupal to build a YouTube clone. The main website of MTB, UK, is built on Drupal and they're using Drupal to make a MySpace clone. They've been seen using Drupal for a podcast site and so on. You can also use Drupal on your internet. It doesn't have to be a public website. Yahoo, it's a guy built part of their internet on Drupal. There are also big institutions like NASA, NATO, and United Nations have one or more Drupal sites as you can see on the screenshots. Hell, even South of England, Drupal. For those who don't know, South of England is one of the biggest Belgium websites and it's a shop block kind of site. So, if you're Belgian, you probably know the site. Also Rockstar, Drupal, is in the site of Moby, which besides entirely built on Drupal is in this journal but also collection or an overview of all these TVs and things like that. But most importantly, most of the Drupal sites are actually small and simple and often boring websites like mine. That's really the cool thing about Drupal that it's really accessible to so many people and the fact that it's empowering so many people to build simple websites. For example, the other day I bumped into a website which was created by school teachers to build the site for students. And that's, to me, that's really a lot more important than all the big sites I just mentioned before. So, the mission really is that we're building technology of everyone and to create multi-user interactive websites. And all these sites I just listed and the examples I gave are really a testament to the fact that Drupal is not just a CMS but that it is really a content management framework because you can dig in so many different directions and create so many different sites. The area where we are really strong is in the upper right corner where we have lots of sites with a lot of interaction and typically many have contributors. So, how about you? How many of you have a Drupal site? Okay, quite a few. So, let's close the look at the Drupal platform. So, Drupal uses a land stack. What this means is that you need some sort of platform. Yet, hardware can be any hardware really. And on top of the hardware, you need an operating system. There will be Linux, Solaris, Winos, and so on. On top of the operating system, you need another database. Typically, most Drupal sites use MySQL, MySQL, but we also support Postgres and there's people working on Oracle and DB2 abstraction layers. And the database really makes up the content layer. So, that's where all the data and the content is actually stored. And you also need a web server. Typically, again, most people use Apache but also support Microsoft's web server or LIT or any other web server. And I need, of course, PHP, can we PHP 4 or PHP 5? Both work. And then on top of that, you actually have Drupal, which is indicated in blue. And Drupal itself consists of three parts. You have the Drupal 4, which is the base functionality in the building blocks. And on top of that, you add functionality and the functionality is provided by modules. So the modules make the verification layer. And then on top of that, you have teams and the teams you find will look and feel at your site. So that's the presentation layer. So one of the questions I often get, especially because I'm also doing lots of Java work for my day job is five PHP and not Java. And the answer really is that PHP is made for the web server. It has lots of useful shortcuts and convenient functions to write web applications. And also because I think that Sunfield to make Java accessible, especially many years ago. No matter how you look or where you look, PHP hosting is typically a lot cheaper than Java hosting, or at least it used to be. Plus, for people who are new to the web, it's much easier to learn on a PHP than to learn Java. Of course, it also has drawbacks. But I honestly believe that the web is built or it's going to be built by a chemical server. And I think that's why PHP is so successful. So say you want to build a company website, how it works, essentially you would just enable a set of modules. You would enable the static page module, so you can create static pages. You might want to enable the file upload module so you can upload files to your Drupal site. You might want to enable the contact module or the e-commerce module to provide a contact form and to sell things off your website. So you want to make a discussion on the site, you just enable the different set of modules. So in this case, for example, you would enable the photo module, the profile module, and the comment module. So you could have discussions on your website and so people, the users of your site, could, they could provide a profile, upload a picture of themselves, mention the URL of their website and so forth. Now if you want to create a company website that also has a discussion area, you just enable all the modules. So that's really how it works. You just pick the modules you want to enable them and then you have to do some configurations. You need to get everything to work together. And the cool thing is that right now we have over a thousand different modules you can download and install. So there's really a lot of functionality already provided by the Drupal community. So if people want to create a complex website or a simple website, it usually goes, you just typically spend a lot of time investigating all of these modules. Once you figure out which modules to use, you can actually set up your Drupal site in one or two days. And then on top of that, we'll spend a couple more days or sometimes longer to actually get the last 5% in place as well. And that involves, for example, teaming, customizing, making it all fit together. But in general, if you have a customer, for example, and you want to do a prototype, it's really easy to do a quick prototype. Here is another example. Okay, so today we start with the story mode type which is provided by a story module and a story is really a basic content type. It has a title and a body, it has an author and a couple of other things. It's really a very basic type. I say you want to save and enable the event module which is a module provided in your contributions to both the story and all of a sudden you're able to associate dates with your story. So you can associate a start date and a end date with your story and so you event enable that story. It also means that you're able to show or to provide a high cost feed or some other feed of all these storage which have been event in years here. So the event module also provides these kind of things. Now next, say you want to enable the location module then all of a sudden you're also able to associate geolocation information with your story. And you're able to show where your story with the date takes place on the map. In case you have Google map integration for example which allows you to visualize all of that. Next, say you want to enable the assignment module then all of a sudden people are able to register for your event. Okay, so they can say whether they want to attend for a month and lastly for example when you enable the e-commerce module you're able to turn this into a conference site where people have to base for the event register. Okay, so by enabling these modules and changing them together you can build powerful websites. And as an example, the Fossil website itself is built in Trudel. They also have an active feed and stuff like that. I haven't been involved with that so I don't know whether they did it the right way or not. I think they did. Okay, so in Drupal almost every piece of content is what we call a node. So a node is really a base node from which all the other content types are derived. A little bit like in object-oriented programming where you have events, articles, reviews they're all derived from the base node type. And the node system which deals with these nodes provides abstraction on the one hand for the data. So every node has a number of common fields like every piece of content in the system has a author, has a date, has an ID. But also on every piece of content in the system you want to perform a number of operations, okay? So you want to publish content, you want to provide workflow and access control on that content. And the node system abstracts all of that. And then given the node system, modules can extend the node system in two ways. So either modules can provide new node types which are the great bars I guess like for example extending page and so on so they can basically extend the node type and that or module squids cross-cut across all of these different node types and that functionality on top of that for example the upload module can provide upload functionality and attaches to any of these content types and then you can configure which node types are affected by that module. So you don't have to use other examples or track back and email subscriptions for example. So here's another example, say the node module as I explained provides default functionality and default fields like a title, a body and a timestamp and you enable the recite module for example and all of a sudden you're able to associate one or more ingredients to your content type. So you become the recite and the rating module allows you to score the recite. And that for example the comment module allows people to have comments to recite so that's really how it works. And we also have something called the CCK which stands for the content construction case. Okay so like I explained modules extend the nodes in Drupal and the way you typically did that or you can still do is by creating a module which involves programming PHP to extend the nodes. Again the CCK or the content construction can provide the user interface which allows you to create new fields and associate these with nodes. So this means you no longer have to be a programmer to create your content types in the system. Okay so that's one of our most popular modules and we're slowly integrating this functionality into Drupal core. And then even with the CCK you can still have other modules which have fields or functionality to nodes. Okay so the node system is a single piece of functionality in Drupal but we have lots of other building blocks which I can't explain all in this presentation but essentially we have database abstraction which allows you to write secure SQL queries. We have support for clean URLs which allows you to score high in Google and other search engines. We have for a couple of years now we have full Unicode support. We have session handling localization which allows you to translate your user interface but also your contents. We have file handling validation we have permissions where you can assign roles to users and then you assign permissions to these user roles. We have support for user requirements locking and things like that. So we really tried to make it easy for developers to get started to build web applications really quick. Near is just one example which is the user management system which is part of Drupal. We provide secure session management. It's also implemented in a way which will make it easy to scale the session handling. We have account registration. People can create accounts. We have optional email certification, database-based sessions, role-based granular permissions, user profiles, LDAP integration and so on. The list of features and functionalities is really, really long and it's very difficult to, well, it's impossible to explain all of this in one session. But a point is that all of these functionalities typically available. It's very easy to mix. So next, I want to provide a piece of demo of People 5. People 5 is the latest Drupal release. So it's actually available. We released it one or two months ago, I think more like one month ago and so far we've got lots of positive feedback about it. So what are the main changes in Drupal 5? First of all, if you haven't, I mean, if you were a user of Drupal 4 and you switched to Drupal 5, typically you would have been surprised because we really made a lot of visible changes. So we reorganized the administration pages. We added a web-based installer which also does requiring checking. This was always typically one of the main criticisms because Drupal was hard to install and use. So both these two items should have taken care of a lot of these complaints. We also integrated the JavaScript library. We chose jQuery as our JavaScript library because it's really small and easy to use. We have a new core team. We also made lots of performance and bandwidth improvements. We started integrating support for custom content types which is the CCK of the content construction kit. We improved the module management and the block system and things like that. We see, okay, so this is what you get after you install Drupal. Installing Drupal, we have installed Shield now, our install system, and it takes about two or three steps and a couple of clicks, so it's really easy. And once you install Drupal, you handle on this page and it essentially welcomes you, asks you to create your first user account which I'll do now. The first user account in Drupal is a little bit special. It has user ID one and it always has all the access rights. So it's sort of the super user. So that's been the, because you're a user one, you're already giving your password on the screen. But for all other users, the password will be emailed. Well, change the password just to be sure. So now I just changed the password. Then you can go back to the main page and read all the instructions. But essentially, now I'm logged in, you see there's a, I'm gonna put it in the chair. You see there is a new menu which has an administrator link which you can follow and if you follow the administrator link, you end up on the administration pages. So one of the things you'll notice quickly is there's a red bar which usually means bad things happened. If you click the link, you'll see a complete stage report. So like I mentioned, the install also does requirement checking and whenever you go to the administration page, it will recheck all of the requirements. So if someone downgraded PHP or upgraded some other service in the system, which might accidentally break your system, you'll be notified. And on top of that, it also gives you some other information like, as you can see here, certain functionality in the website needs GD and GD isn't available. So it's complaining about that. Normally you would go over these, fix them one after another. But let's go back to the main administration page. One of the things you'll see is that we try to categorize all the functionality in different blocks. So we have content management, we have site building, we have site configuration, we have user management and logging. Under that we have lots of other links which point to different kinds of functionality. So that's what the administration page looks like. One of the things you can do, for example, is you can create new content. By default there is only two content types enabled, which is story and page. Stories, they go to the main page and allow you to create a blog or slash style discussion or news website. So for example, you can just type in the title in the body. There's all kinds of settings here. You can also install it as a menu, which I'll show you in a minute. You can control whether the comments should be enabled or disabled. You can change the author and it uses the page acts here. So normally it should do either completion and it does, you can do that again. And then there's also publishing options. You can say whether it's published, whether it should be promoted to the front page and whether you want to create a new revision of it just like in the blog presentation. We have provisioning. And if you submit it, it should go to the front page like this. Say for example, say for example, I want to use clean URLs which are human readable. I need to enable a module for that. So I go to site building modules. Here you see a list of all the modules which are provided by core. And normally if you have contributed modules still, you'll have additional fields that's below that. And to have clean URLs, we need a part module so you can click it, enable it, and then save the configuration. And that's all it takes to enable the module. Also in Drupal 5, which wasn't available in Drupal 4, are module versions. We're now doing dependency checking and also version checking to see whether one of the modules is outdated. An example of the dependency checking you can see here. It says that the common module is required by the forum module. Anyway, let me see if I need to enable any other module. So I'll enable a couple more modules like the contact module. Allows you to create contact forms. The forum module I'll enable which allows you to create forms and also enable the search module. So if I go back to the main page, I should now be able to, I can go edit, I should now be able to provide a clean URL for this post. So I enable the part module and the part module extends this form. So there is a new field set and I can use that to specify URL. So if I submit this, and if I go to view, you actually see that URL now became HelloFrosland. This little part you can also remove using your HD access file. I don't have that enabled in this configuration but normally it would look like this on a normal multiple site. There's also modules which will also generate these files for you based on the title and things like that. Now say I want to, at this, now say this would be a page on my site and I want to add it to the navigation menu. Again, I edit it again. I go to the menu settings and here I need to provide a title for the menu item and the description is optional and then it essentially can attach pages to any other page in the system. So you just have to select one page and then the page will appear as a child of that book. And there is by default, there are two navigation menus that you can create more. The first one is this one, this block and you can add menu items to that block. The second menu we have by default is this one which is called the primary links and you can also add menu items to that but you can also create additional blocks if you want to add additional navigation schemes. So say we want to add it to the primary links, I select primary links as the parent item and submit and as you can see, the link now appears right there. Okay, what else do we need to show? We also have blocks which in the code presentation was called the portlets. As you can see, I'm not sure it's really clear but we have different areas. So essentially you have teams and the teams specify the areas where you can post blocks. So different teams can have different areas and this particular team has a header which you can see in the top, as a right sidebar, also as a left sidebar and as a content and a footer area. And here it provides a list of all the blocks. So for example, the navigation block which is this menu here is now positioned on the left sidebar but I can even move it to the right sidebar like this. James will take it immediately, as you can see. We can also add blocks. So either modules can provide it up or we can add blocks ourselves. So now the block becomes available in the list. I have to specify which region it goes in, say the left sidebar. You can also give it the weight and the weight defines the order of the block. So the blocks with the highest rates will sink lower and will become a lot of block on the page. If I save this, the block can become available. I think this was the block. And then there's also lots of settings of range block which you can configure. You can describe the block using multiple input formats. You can either be filter, HTML, you can even provide PHP codes. You can copy paste snippets in it that actually execute or sort of access the database or the call of the service or whatever you want to it. You can also specify who can see the block or who can disable the block. You can also specify which roles have access to the block anonymous users or authenticated users. You can also specify, using various ways on which pages these blocks show up. Okay, so that's how you have stories or pages and how you have blocks. Something else which might be interesting is the user system. There's a separate menu item over here. You go to this page, you see an overview of all the users on the system and two full sites can have thousands of users. Like I mentioned, the two full locations has over 100,000 users. And with these controls, you can easily mass operate them so you can quickly do batch operations on all of them. On this side, there's only one user but you can also add users to this interface or you can ask users to create an account itself. And then I'll go back to user management. So I mentioned we have roles. So in this case, by default, there's only two roles. One role for the anonymous user and one role for the authenticated user. Okay, but say you have also administrators on your site. You simply add a role like this. Add it, and you can see there's a new role available. And for each of these roles, you can edit permissions. It gives you a matrix like this. So each of the modules expose functionality which you can provide the people in that role access to. For example, administers might be allowed to administer blogs, should be able to access comments, should be able to administer comments, and so on. Okay, so if you go back to user management, the users, you can easily, for example, you select the user. You can choose to add a role to select the users like this. As you can see, user trees is part of the administrator role. There's also a different way to do that. If you edit the user trees, you'll also have a list of the available roles like that. Say with a contact form, it's really easy to create a contact form. What you do is you add a category. For example, sales, you add the recipients, which is just a list of email addresses. You can even provide an answer reply. Hello, you receive your email, yada, yada, yada. And then submit, and you get a contact form created. So then all you need to do is add the contact form to the menu, so then you go to menus, and on this page is the list of all the menus exposed by the modules, and then choose to enable them or to add them to a menu, or to a navigation. For example, the contact form is still disabled, which you can enable it. When you enable it, again, you have to select the parent, so you want to add it to the primary links as well. You select that, and you submit. So you have a contact form, you click it, you'll be able to send me a message. What else can I show? Maybe the team section, we have, okay, so by default, Drupal use the same team for the front end as for the back end. So Drupal 5, you also can choose different teams for the back end. That's something a lot of people have requested before, because they want to clean separation between the front end and the back end. And now, with this functionality, it's possible to do that. Maybe I should first show you the various teams. So you can download and install any number of teams you want, and then here, you can select the team by default. Garland is enabled, but you can also check enable, for example, Marvin. Simply do it like this. You save your configuration, and all of a sudden, your site looks different. Okay, so that's how it works. That provides a little bit of an idea of how Drupal 5 works and what you can do with it. By using all these modules and all these functionality, it's quite easy to configure Drupal as, essentially, any kind of site you want can be a person, followed by my site, it could be a news aggregator, it could be a corporate website, which is very exciting. It could be a discussion or community website or really anything in between. So I hope this relates back to the original title of the presentation. And that Drupal can be the answer for many of the things you want to do with Drupal, but again, that it doesn't necessarily is the best answer to all of these problems. And another question, a lot of people have, is will it be fast? So Drupal has a page caching mechanism, which means we can generate page one, store it in the database or the file system, and then when the page is requested again, we just serve you the cached version of the page. We can do that under certain situations where we don't have to personalize the page as much. And when you enable page caching, Drupal will be significantly faster than when it's not. Okay, so with page caching enabled, on an old machine you easily are able to get 250 page. You're easily able to serve 250 requests per second without too much feuding. If you compare it with a non-cached version, you can see it's a small part on the, on the left, it's a lot slower than. This is a joke, a warning up front. So I once set out to compare Drupal with Juma, and that was Juma 1.0, not the Juma 1.5, which is supposed to be a lot faster. And with page caching enabled, Drupal turns out to be a 400% faster, so four times as fast as Juma. Now if you take a Sunfire T2000, which is a state-of-the-art sun machine, which is known for its power consumption, so it has low power costs. Now if you use Drupal over Juma, you're able to save $6.33 a month in power consumption, which adds up to $75 a year. So by using Drupal, you help save the forest. So will it, will it be fast? Yes, will it scale? The answer is also yes. Scaling Drupal is essentially scale in the LAM stack, which is well understood, means you have to scale each of the layers in your stack, you have to scale Apache, you have to scale MySQL and so forth. And Drupal supports all of that, so it will scale. Now if you want to get involved, there's many ways to get involved. We need people for all kinds of things. The best way to get involved is to just check out Drupal.org. We have issue trackers, where you can check all the pending issues and the pending tasks and the things you want to help with. We also have groups, not Drupal.org, which are interest groups, either historically or by topic. It's also a good way to definitely do the community and to get involved with the people that care about the specific topic. We also have, if you're living in Belgium, we have Drupal.be, which is the home of the Belgian user group. And we have events, we meet everyone in a while and we, next month, or even this month, we're gonna organize a small workshop for people who want to learn more about Drupal and who'll be able to attend that if you want to. So, check it out at Drupal.be. There's also Google Summer of Code. The last two years, we've always been involved with the Google Summer of Code, which is a project by Google, which is meant to sponsor students to work on Drupal during the summer. And Google just announced that they're going to organize a third Summer of Code and they're looking for people to submit proposals for projects and want to be a mentor for these students. And we hope to get some students as well this year. So if you have any questions, feel free to ask or make sure to check out the website. Question? Yeah. Is there any reason for a new installation that we should not install five that we should install 4.7 instead? So the question is, is there any reason to install 4.7 instead of Drupal 5? So Drupal 5 is a lot easier to use. It will also be faster, typically, than Drupal 4. So I would always recommend to go with Drupal 5, except because Drupal 5 is only one month old. It means that not all of the contributed modules are properly updated to work with Drupal 5. So before you start your website, make sure to check on Drupal.org which modules are compliant with Drupal 5 and then make a decision based on that. It's the same problem as using Postgres instead of MySQL and Postgres. Yeah, that's a lot better. Yes, so I think the question is will all the modules work on both MySQL and Postgres? The Postgres is the same. So the answer is unfortunately no. Drupal 4 will work on Postgres because we write NC as well. So we stick to the standards. But some module maintainers sometimes use MySQL specific snippets or statements. And when they do that, the module won't work with Postgres. Did you have an idea of the percentage and the final percentage to present? Not really. But it's something which we should do a better job at community as well. So it's not really clear from the website which modules will work with Postgres and which ones will work only with MySQL, for example. Question? Do we have to install CCK? So the question is do we have to install CCK even though it's integrated in port? The answer to that question is because the CCK is such a big part, I mean it's a lot of work and it's essentially doing sort of a hard transportation. They were taking a very important part of Drupal and replacing it with an improved version of the CCK. And we decided to do that in a number of steps. And Drupal 5 we completed it depending on how you come the first or the second step to get the CCK in port. So right now you're able to create new content types with port which only have a title and a body. And in the next version, hopefully in level six, you'll be able to, you'll have the complete CCK in port and you'll also be able to add additional fields to these content types. Right now if you're using Drupal 5 and you want to use a CCK, you still need to install some additional modules which provide the missing functionality. Question? Can you use on the content level access rights? So it's a question, can I explain how access rights work? No, right now the access rights are defined by module. Yes. If you want to build a community site where you provide access to specific content, specific user level, right now it looks like it's problematic. So there's two things here. There is access to functionality and there's access to contents and these are two separate things in Drupal. Access to functionalities, what I showed you with the user roles and permissions. Access to content I didn't provide the demo for. But this supports its fighting for port. But the way to use it is by installing an additional module or more additional modules. And through these modules you'll be able to express various things like allow people or allow people in this role to access content in this category. Or allow people in this role to access content of this type. And because there is so many different workflows and scenarios, we haven't put that in court yet. So court supports everything which is needed for these modules to be built on top of it. Okay, so there is just building what's in court but they're not exposed through a user interface. The way to do that is to install additional modules. But it's as easy as possible and I think there's up to 10 modules which allow you to configure access to content in various ways, depending on your situation and your workflow. Question? Yes, last two points or one of the nods is provide a meta syntax to link to other stories or to like both ways underline something like that. So you need to put the content in HTML way. So is it a question, is there a module which allows you to read different? First of all, is there an existing story? And also if there's a syntax, like in wiki, for example, to create sections to work with. So, for example, the cck has a field which is called node rep which allows you to link different nodes and then sort of make it look like one piece of content. And then the answer to your other question is everything in Drupal, all the content in Drupal is run through a number of filters. Could be one or more filters and we call a group of filters, we call an input format. Okay, so I'll show you. So when you edit a piece of content, like in this case, a body, there's often a different format of field set and it allows you to select different filters. For example, it could be filtered HTML. And in this case, it will replace web page addresses and email addresses and make it into links. It will strip evil HTML and it will do libraries and paragraph tags, okay? And by default encoder is three filters, but two modules you can add more. For example, you could add or install a filter which provides Viki functionality or which provides support for VB code or other markup languages using other systems. There is also a module which allows you to use Latin and you know, describe math and things like that. So it's possible to have different formats. Yes. Can you explain a little bit about the question? Sorry. Can you explain a little bit about the question? Yeah, of course. How would it work? So multi-site, there is a number of possible solutions. One is to, you can run multiple sites in single code base and then each of these applications are all data based. And so permissions are managed on a third database like the other solution is clearly to have multiple sites which share a database or share certain tables within a database. You don't have to share all the tables. And if you, for example, share the user table and the user roles table, you'll also be sharing your missions. Thanks. It's a good question, but it's a technical and unanswered so if you want to make that done, you can sort that out. Bye.