 So thank you, Mathias, for introducing me. So we're going to speak now about Alfresco, content management system. My name is Philippe Dubois and I'm working for Alfresco since, let's say, one year. Okay. What is Alfresco? Alfresco is document management and web content management open source platform. So as I just mentioned in the title, it covers two main areas of document management, let's say. The pure document management platform and the web content management platform, which focuses more about web publishing, publishing websites and maintaining websites and coordinating the teams that will build the website. Where does Alfresco, where does it come from? Well, who created Alfresco? There are two main, it was co-founded by two person, John Newton, which was the co-founder of Documentum, which was also involved in document management, and John Powell, the former CEO of BusinessObject. And they started in January 2005. And maybe other general information about Alfresco, where are we located? Let's say the idea is to having the engineering located in UK, in Middenhead, and some of the employees are spread all over Europe, let's say Germany, Belgium, France, Luxembourg, and we have also a set of engineers located in US. I mean, not on a single location, but spread all over US. So what was the main idea? They had, I mean, the co-founders when they started Alfresco, the key concept is the commoditization. They wanted to give access to everybody to a kind of eye and document management system. And what they were focusing on is efficiency of development and manufacturing. It's general characteristic of commoditization, efficiency of distribution, increasing the quality and based on high volume distribution, and reduce the cost. And then they decided, they found out that the open source could be a good way to achieve that or to go that direction. And why? Because they discovered that they could lower the cost of development and they could rely on community for such things like translations and also some improvement, testing and so on. They could also use the best breed open source components and also they had access to world-class engineer who were interested to join the team and work with us. They also discovered obviously that they could distribute their product at low cost through the Internet and Sourceforge and they could also, they also tried to lower the price of distribution. And one key point is that, let's say if you take a document management like Documentum to settle for maybe $3, you have to invest $2 in commercial expenses and so on. So here the model is discovering alfresco through the Internet. You're targeting a huge audience to the Internet and then they can download, use it, test it and see if it covers their needs. And obviously we try to achieve high quality by using the community for testing. So we're going to speak a bit more in details about the document management functionalities. On that part we have the concept of smart spaces. We have ACL and security on those spaces. We can propose a single sign-on. We can manage groups and roles on those spaces. And why are they called smart spaces is because you can set up rules and through triggering those rules you will trigger actions and those actions will also be performed by aspects, let's say. So we call it an intelligent file system. And also one of the main goals of alfresco was to make it transparent and easy to use by the users and what could be easier than a shared drive. Okay, that just people doesn't know they're using a document management system. They just put the file into the virtual shared drive and it just enters the content management system but you don't have to train your users. Just tell them put your document there and then they will be versioned by the system. They will be maybe transformed. But let's say the secretary won't have to bother to learn a lot about the user interface of the system. We also include functionalities like office integration. That means we interface with office suite. We have advanced workflow. We also having alfresco dashboard and web scripts. That means users can develop their own custom interfaces using web scripts and visualize the data to components called dashboards. We're offering a wide range of access protocols like CIFS, FTP, WebDAF, HTTP and also we intend to achieve scalability through clustering. Okay, this is a general representation of the alfresco architecture. On the center you have the content repository. The content repository relies on full text indexes. We're using Ulysses as a full text engine. The storage is mainly done through a file system. The metadata is stored in databases. On the right part you can see the high availability stuff. You can see also other... If I go on the web service, you have a web service API for alfresco. You can interface what they call the knowledge portals with portals. You can design your own web applications. Again, you have access through virtual file systems. You can see that you have FTP, CIFS and WebDAF, but you have even other protocols implemented. This is the view of the HTTP interface of alfresco. As you can see, you can visualize a new folder, a new smart space. You can visualize the folders and you can visualize the files. On the left you have a kind of navigation toolbar. On the top you have also a general toolbar about the well-known locations into alfresco repository and also a small box where you can do some search. This is the same data, the same repository, but seen through the WebDAF interface. As you can see, you have the same folders and the same documents. Again, the same thing. I could have done it with CIFS, but here it's a bit different. It's what we call a dashlet. That means it's a small component that can be used to visualize and browse your data and enter new documents and so on. That dashlet was developed using Ajax technology and web scripts. We're going to go back later on on the web script. That's it for the document management functionalities. Now let's go through the WCM Web Content Management functionalities. You can author your content using XML. It's kind of presentation independent. Multichannel content publishing. That means you can distribute or produce or format the output of your site in different formats. You can produce it in HTML or whatever. One key concept of the WCM system in alfresco is the sandbox. That means every information provider, every person that will enter the new pages or the information will have its own vision of the site and won't disturb the others. That means he can do everything he wants and he won't interfere with others. That means we have the concept of sandboxing, which is very important and which is one of the main features of alfresco systems. We have content deployment. That means we can publish the information. We have link validation. We can manage the content. I mean you can decide at what time the content will be available or remove from your site. We have dashlets again. We can also use workflows. We can create new user, obviously, and we can enter the information using web forms. Obviously, we can create new web projects. We can import dynamic websites and so on and so on. I'm going to skip it because you will have the slides and I will be short on time. Let's go to the technical part, let's say. Alfresco has been on Java platform. We have used Spring as a cornerstone for our application. We built the application around Spring. The main functionalities that were implemented using Spring is security through method interceptors, transaction again through method interceptors, audit trail, and also multi-lingual functionalities on content and metadata. What are the other open-source components integrated in Alfresco? Alfresco is a set of open-source components that we have put together. We have glued it using Spring. You have the full-text indexing, which is based on Lucene. The database was insured using iBurnit. The web page generation is achieved using GSM. In the document transformation, we have used some libraries like Imaging or also we have used OpenOffice. In the templating, we have used FreeMarker and XSLT. Workflow, we have used Gboss, GBPM. The scripting, we have implemented scripting on server side. We have used Rhino. We have also integrated PHP on server side. And we have incorporated into Alfresco the MegaWiki, which is the engine that Wikipedia uses. Small words about the API structure in Alfresco. The API is structured around the concept of services and what is a service in Alfresco structure. It's the lowest API level you should interact with. That means you shouldn't interfere with lower layers of Alfresco implementation. Amongst those services, you have the node service, the five-folder service, the authentication service, and so on. A few words about the web scripts. The aim of implementing web scripts is to use the rest API. That means all the parameters are put into the URL. And it's extensible. That means you can decide where will be your parameters and you can recreate your own API if you want. So if you want to write a web script, there are three parts that you have to design. The first will be the format of the URLs that will be accepted by your web script. And then you will build your model and then you will present your model, you will transform it and present it using free marker, mainly. You could use maybe XSLT. So there are no limits using web scripts because you can create your own API that suits your own needs and that fits your own business model, your own business. This is a schema explaining, let's say, how a request is handled when you're using the web scripts. So you have the web scripts rest dispatcher, which will analyze and extract the parameters from your URL. Then we're going to build the model, the data model, using JavaScript and that data model will be given to the free marker and the free marker will render the answer. You can also use it to build Ajax applications. That's how the dashlet was built. And you can see the format can be different and multiple. And this is the last page showing you where you can find more information about Alfresco. But you're welcome if you want to ask any question after the speech. Thank you.