OpenERP - Focus on the framework
Pinckaers, Fabian
I propose to show OpenObject in action, how you can customize or develop new modules for OpenERP. It includes: the object and view editor, the workflow editor and the report designer. OpenERP is a modern Enterprise Management Software, released under the AGPL license, and featuring CRM, HR, Sales, Accounting, Manufacturing, Stock. It is based on OpenObject, a modular, scalable, and intuitive Rapid Application Development (RAD) framework written in Python. OpenObject features a complete and modular toolbox for quickly building applications: integrated Object-Relationship Mapping (ORM) support, template-based Model-View-Controller (MVC) interfaces, a report generation system, automated internationalization, and much more.
 So, hello, I am Fabien Van Cas, the founder of OpenERP, and I will do a presentation focused on the framework of OpenERP, which is called OpenObjects. Just one word about OpenERP. OpenERP is a full-fittu-rate open-source enterprise management software. It covers accounting, stock management, manufacturing, human resource, project management, and so on. It's fully modular, so you can, for instance, just install a project management system or just an accounting system, or if you bring them together, you have a fully integrated software. Here we'll talk about the framework of OpenERP, which is called OpenObject, and OpenObject has several features like strong modularity, object-relational mapping and model-view controller, some workflow report designer, and things like that. So I will do some demonstration on how we can use the different tools of OpenObject to create or modify quickly an application. On OpenObject, when you develop, you have, at the same time, a rich client and a web client. We have two different rich clients, a KDE1 and a GTK1. I will show you on the GTK1 and a web client, which is, yeah. First, how does it look like? When you connect to OpenObject, you have a server and several clients. So here is the GTK clients, for instance, where you can manage all your menu and operation like the calendars of meetings or the leads and things like that. And you also have the choice to use the web client, which is this one. And you have exactly the same thing in both clients. When you develop, you get both directly working. And normally, I should have the same menu. You have lots of modules. You can install more modules and you get more features. Currently, we have 500 modules in OpenERP to manage everything you will need. I can, for example, connect on a bigger database where I install more modules and you will see some of the features you will be able to find in OpenERP, like final channel management, project management, stock, where or anything like that. Maybe we can just have a look at project management. You will have some GAN charts to plan your projects like this with some drag and drop fully adjax. Now, we'll show you how you can develop your own feature or customize what exists in OpenERP. So let's start by the model view controller. For the model view controller, you have some objects and some view. The objects are Python files and the views are XML files. Of course, you want to change the partners. If you want to change and add more fields in the system, you can develop this as a module. I hope you see something. Yes. So we'll just change the partner object and add a field within it. Of course, you can do that in a separate module, in your own module, like order IDs. So I just create a new field, which is one to many fields that links sales orders and partners. Like this. So it automatically, when you update the module, it automatically changes the schema and updates the database and the object or national mapping. So normally, if you want to see it, you also have to add it in the view. You can change the view in the server side in the module as an XML or just use or editable view system to add a new field here. Like this. Order IDs. And now I should see the list of orders related to my partner in my object. So one to many links, so it includes several sales orders in my partners. That's one of the changes. So in OpenARP, you have more features. You can also change the workflow. So I connect on my order database. And I will show you how you can change the business logic within a few clicks. Every document has a business logic. So if I take, for example, a purchase order, I create a purchase order with this supplier and I will buy some PCs. Like this. Basically, the workflow of a purchase order is two steps. If I print it, I will not go into the details, but you first confirm your purchase order and then you approve when you get the acknowledge of the supplier. So normally you have two steps like this, confirm and then approve. If you want to change this, you can develop your own workflow in your own modules. I will not develop this using the XML or you can use the workflow editor. So let's take the workflow editor as an example. Customize workflow and I will change the business logic of this document. Every document can have its own workflow or several workflows. So here it is. Because you'd like to add a validation step. Validation and according to the amount of the total price of the purchase order, you'd like to validate the system. So I will change this. Edit. Everything is in Python. So if the amount is lower than 1000 euro, then without validation. If it's bigger than 1000 euro, I need a validation. I say here that I need a signal which is the user press on the button which is purchased approved. And strictly stronger than 1000 euro. So according to the total of my purchase order, I will have two different logic. So I create a new one by duplicating this one. So it's a request for quotation. I confirm and it's directly approved. No need to click a second time on the approved button because it's lower than 1000 euro. If I do another one which is bigger than 1000 euro, like this, which is 1700, I confirm and it's directly approved. That's not normal. I should have forgotten something. Okay. In 15 minutes, I don't have the time to debug. So let's just see something else. You would like to print the purchase order if it's approved. So we create a new link and print a purchase order. So I connect this workflow to actions of the system. The report to print a purchase order already exists in the system. So you just have to select it. It's client action. So when the order is approved, I'd like it to print the purchase order or send it by fax to the supplier, for example. I save. Here it is. I do another one and I confirm. And you see that it prints automatically. So you can connect everything against everything and develop your own business logic quite quickly. Suppose you'd like to change this report. You also have integrated report designer in OpenERP. For this, I have to install the report designer module. And you can, using OpenOffice, design your own templates of report. We also have in the trunk version of OpenERP, we also have OLAP, business intelligence, multidimensional statistic engine, where you can compute statistics based on an OLAP cube in Python. So if you want to change the report, just open OpenOffice. And you have a module in OpenOffice where you can connect to OpenERP and using the same login and the same password, change, for example, a report, modify an existing report. I will take my purchase order, open, and I do some changes, like putting this in the middle, this in red. And I can have a signature or total of the order. You can add some fields, some loops or anything. Add a field, it connects to my server on the order. It's connecting to web services using XMLRPC, so sometimes a bit slow. And I put a field here. So you modify every document and then you can push back to the server, adding the corporate editor and it will change the way the report prints on the server. I select three purchase orders, I print, and it should change the way it is rendered. You see total of the order and some colors and so forth. So let's come back to my slides. Here it is. So you have a strong object relational mapping, an MVC. You have 500 modules that already exist. So for example, when you develop something, you inherit from another object like product and then you get all the features of product. It synchronizes with the Jumla or Magento. If you inherit from document management, then it's accessible via FTP or webdav. You can modify some workflow and process. What you see here is not the workflow, but the end users process. That's more something like a documentation for the end user. So if I want to see the process of the purchase order, it's the same thing, but more user-friendly. So that the end users know what's happening when they click on each button or something like that. It's very useful for ISO 9001 companies. You have some report designer. I showed you the report designer based on OpenOffice, but you have statistics, report designer and things like that. And if you need more information, you can go to openerp.com, which is the software or the community which is on openobject.com. And just one note, we hire one system administrator, three Python developers and two project managers if you are interested, and we are located in Belgium. So here it is for my presentation. It was quite short. I wanted to develop a full module from scratch in 15 minutes, but it took 20 minutes. So I decided to use slides and show just how you can modify things on the fly. But trust me, you can develop very quickly new features and rely on existing features on OpenObject. So thank you. I still have three minutes. So if you have questions, I'm open. Yes? You have doc.openerp.com. He's asking if we have proper documentation on OpenObject and OpenERP. For OpenERP, we have two books, 600 pages, and both are accessible on Lines 2. For OpenObject, there is the developer book, and we just realize a memento that summarizes everything in a few pages a few days ago. So it's on the Twitter. You can get the link to the... I don't have my internet connection and don't have time to set it up, but you can check online. Yes? For the installation? So he's asking how is the installation working? If we have customers, yes, we have the post in France, Whirlpool, the Chamber of Commerce of Belgium, Sinjer, quite big companies, but we also have lots of very small companies. I have 80 employees, 23 in Belgium, 16 in India, and we just get a contract of 3 millions of euros, so we plan to hire 20 more in Belgium. So thank you. Thank you very much. Here's a box of Belgian chocolates. I can't remember what it is. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. Why you don't. I'm sorry. My words, I mean you don't look so good, because then when you look at what's happening are just not there. So the, you know, you're veryired. Yes. You see, I didn't have a major cash stock on god's mind. I didn't, really being the spreading man to his family, you don't see how they're acting, what they really get coming forward. Oh really?
 So, hello, I am Fabien Van Cas, the founder of OpenERP, and I will do a presentation focused  on the framework of OpenERP, which is called OpenObjects.  Just one word about OpenERP.  OpenERP is a full-fittu-rate open-source enterprise management software.  It covers accounting, stock management, manufacturing, human resource, project management, and so  on.  It's fully modular, so you can, for instance, just install a project management system or  just an accounting system, or if you bring them together, you have a fully integrated  software.  Here we'll talk about the framework of OpenERP, which is called OpenObject, and OpenObject  has several features like strong modularity, object-relational mapping and model-view controller,  some workflow report designer, and things like that.  So I will do some demonstration on how we can use the different tools of OpenObject to  create or modify quickly an application.  On OpenObject, when you develop, you have, at the same time, a rich client and a web  client.  We have two different rich clients, a KDE1 and a GTK1.  I will show you on the GTK1 and a web client, which is, yeah.  First, how does it look like?  When you connect to OpenObject, you have a server and several clients.  So here is the GTK clients, for instance, where you can manage all your menu and operation  like the calendars of meetings or the leads and things like that.  And you also have the choice to use the web client, which is this one.  And you have exactly the same thing in both clients.  When you develop, you get both directly working.  And normally, I should have the same menu.  You have lots of modules.  You can install more modules and you get more features.  Currently, we have 500 modules in OpenERP to manage everything you will need.  I can, for example, connect on a bigger database where I install more modules and you will  see some of the features you will be able to find in OpenERP, like final channel management,  project management, stock, where or anything like that.  Maybe we can just have a look at project management.  You will have some GAN charts to plan your projects like this with some drag and drop  fully adjax.  Now, we'll show you how you can develop your own feature or customize what exists in OpenERP.  So let's start by the model view controller.  For the model view controller, you have some objects and some view.  The objects are Python files and the views are XML files.  Of course, you want to change the partners.  If you want to change and add more fields in the system, you can develop this as a module.  I hope you see something.  Yes.  So we'll just change the partner object and add a field within it.  Of course, you can do that in a separate module, in your own module, like order IDs.  So I just create a new field, which is one to many fields that links sales orders and  partners.  Like this.  So it automatically, when you update the module, it automatically changes the schema and updates  the database and the object or national mapping.  So normally, if you want to see it, you also have to add it in the view.  You can change the view in the server side in the module as an XML or just use or editable  view system to add a new field here.  Like this.  Order IDs.  And now I should see the list of orders related to my partner in my object.  So one to many links, so it includes several sales orders in my partners.  That's one of the changes.  So in OpenARP, you have more features.  You can also change the workflow.  So I connect on my order database.  And I will show you how you can change the business logic within a few clicks.  Every document has a business logic.  So if I take, for example, a purchase order, I create a purchase order with this supplier  and I will buy some PCs.  Like this.  Basically, the workflow of a purchase order is two steps.  If I print it, I will not go into the details, but you first confirm your purchase order and  then you approve when you get the acknowledge of the supplier.  So normally you have two steps like this, confirm and then approve.  If you want to change this, you can develop your own workflow in your own modules.  I will not develop this using the XML or you can use the workflow editor.  So let's take the workflow editor as an example.  Customize workflow and I will change the business logic of this document.  Every document can have its own workflow or several workflows.  So here it is.  Because you'd like to add a validation step.  Validation and according to the amount of the total price of the purchase order, you'd  like to validate the system.  So I will change this.  Edit.  Everything is in Python.  So if the amount is lower than 1000 euro, then without validation.  If it's bigger than 1000 euro, I need a validation.  I say here that I need a signal which is the user press on the button which is purchased  approved.  And strictly stronger than 1000 euro.  So according to the total of my purchase order, I will have two different logic.  So I create a new one by duplicating this one.  So it's a request for quotation.  I confirm and it's directly approved.  No need to click a second time on the approved button because it's lower than 1000 euro.  If I do another one which is bigger than 1000 euro, like this, which is 1700, I confirm  and it's directly approved.  That's not normal.  I should have forgotten something.  Okay.  In 15 minutes, I don't have the time to debug.  So let's just see something else.  You would like to print the purchase order if it's approved.  So we create a new link and print a purchase order.  So I connect this workflow to actions of the system.  The report to print a purchase order already exists in the system.  So you just have to select it.  It's client action.  So when the order is approved, I'd like it to print the purchase order or send it by  fax to the supplier, for example.  I save.  Here it is.  I do another one and I confirm.  And you see that it prints automatically.  So you can connect everything against everything and develop your own business logic quite  quickly.  Suppose you'd like to change this report.  You also have integrated report designer in OpenERP.  For this, I have to install the report designer module.  And you can, using OpenOffice, design your own templates of report.  We also have in the trunk version of OpenERP, we also have OLAP, business intelligence,  multidimensional statistic engine, where you can compute statistics based on an OLAP  cube in Python.  So if you want to change the report, just open OpenOffice.  And you have a module in OpenOffice where you can connect to OpenERP and using the same  login and the same password, change, for example, a report, modify an existing report.  I will take my purchase order, open, and I do some changes, like putting this in the  middle, this in red.  And I can have a signature or total of the order.  You can add some fields, some loops or anything.  Add a field, it connects to my server on the order.  It's connecting to web services using XMLRPC, so sometimes a bit slow.  And I put a field here.  So you modify every document and then you can push back to the server, adding the corporate  editor and it will change the way the report prints on the server.  I select three purchase orders, I print, and it should change the way it is rendered.  You see total of the order and some colors and so forth.  So let's come back to my slides.  Here it is.  So you have a strong object relational mapping, an MVC.  You have 500 modules that already exist.  So for example, when you develop something, you inherit from another object like product  and then you get all the features of product.  It synchronizes with the Jumla or Magento.  If you inherit from document management, then it's accessible via FTP or webdav.  You can modify some workflow and process.  What you see here is not the workflow, but the end users process.  That's more something like a documentation for the end user.  So if I want to see the process of the purchase order, it's the same thing, but more user-friendly.  So that the end users know what's happening when they click on each button or something  like that.  It's very useful for ISO 9001 companies.  You have some report designer.  I showed you the report designer based on OpenOffice, but you have statistics, report  designer and things like that.  And if you need more information, you can go to openerp.com, which is the software or  the community which is on openobject.com.  And just one note, we hire one system administrator, three Python developers and two project managers  if you are interested, and we are located in Belgium.  So here it is for my presentation.  It was quite short.  I wanted to develop a full module from scratch in 15 minutes, but it took 20 minutes.  So I decided to use slides and show just how you can modify things on the fly.  But trust me, you can develop very quickly new features and rely on existing features  on OpenObject.  So thank you.  I still have three minutes.  So if you have questions, I'm open.  Yes?  You have doc.openerp.com.  He's asking if we have proper documentation on OpenObject and OpenERP.  For OpenERP, we have two books, 600 pages, and both are accessible on Lines 2.  For OpenObject, there is the developer book, and we just realize a memento that summarizes  everything in a few pages a few days ago.  So it's on the Twitter.  You can get the link to the...  I don't have my internet connection and don't have time to set it up, but you can check online.  Yes?  For the installation?  So he's asking how is the installation working?  If we have customers, yes, we have the post in France, Whirlpool, the Chamber of Commerce  of Belgium, Sinjer, quite big companies, but we also have lots of very small companies.  I have 80 employees, 23 in Belgium, 16 in India, and we just get a contract of 3 millions  of euros, so we plan to hire 20 more in Belgium.  So thank you.  Thank you very much.  Here's a box of Belgian chocolates.  I can't remember what it is.  I don't know.  I don't know.  I don't know.  I don't know.  I don't know.  I don't know.  I don't know.  I don't know.  I don't know.  Why you don't.  I'm sorry.  My words, I mean you don't look so good, because then when you look at what's happening are  just not there.  So the, you know, you're veryired.  Yes.  You see, I didn't have a major cash stock on god's mind.  I didn't, really being the spreading man to his family, you don't see how they're  acting, what they really get coming forward.  Oh really?
OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_0_179.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_180_1955.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_1956_3455.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_3456_4355.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_4356_6467.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_6468_7451.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_7452_7619.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_7620_12575.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_12576_13691.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_13692_14495.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_14496_14615.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_14616_15119.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_15120_20471.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_20472_20603.png OpenERP__Design_applicactions_with_OpenObject_in_minutes_7gXOAq6kFi4_1_20604_20719.png
So, hello, I am Fabien Van Cas, the founder of OpenERP, and I will do a presentation focused on the framework of OpenERP, which is called OpenObjects. Just one word about OpenERP. OpenERP is a full-fittu-rate open-source enterprise management software. It covers accounting, stock management, manufacturing, human resource, project management, and so on. It's fully modular, so you can, for instance, just install a project management system or just an accounting system, or if you bring them together, you have a fully integrated software. Here we'll talk about the framework of OpenERP, which is called OpenObject, and OpenObject has several features like strong modularity, object-relational mapping and model-view controller, some workflow report designer, and things like that. So I will do some demonstration on how we can use the different tools of OpenObject to create or modify quickly an application. On OpenObject, when you develop, you have, at the same time, a rich client and a web client. We have two different rich clients, a KDE1 and a GTK1. I will show you on the GTK1 and a web client, which is, yeah. First, how does it look like? When you connect to OpenObject, you have a server and several clients. So here is the GTK clients, for instance, where you can manage all your menu and operation like the calendars of meetings or the leads and things like that. And you also have the choice to use the web client, which is this one. And you have exactly the same thing in both clients. When you develop, you get both directly working. And normally, I should have the same menu. You have lots of modules. You can install more modules and you get more features. Currently, we have 500 modules in OpenERP to manage everything you will need. I can, for example, connect on a bigger database where I install more modules and you will see some of the features you will be able to find in OpenERP, like final channel management, project management, stock, where or anything like that. Maybe we can just have a look at project management. You will have some GAN charts to plan your projects like this with some drag and drop fully adjax. Now, we'll show you how you can develop your own feature or customize what exists in OpenERP. So let's start by the model view controller. For the model view controller, you have some objects and some view. The objects are Python files and the views are XML files. Of course, you want to change the partners. If you want to change and add more fields in the system, you can develop this as a module. I hope you see something. Yes. So we'll just change the partner object and add a field within it. Of course, you can do that in a separate module, in your own module, like order IDs. So I just create a new field, which is one to many fields that links sales orders and partners. Like this. So it automatically, when you update the module, it automatically changes the schema and updates the database and the object or national mapping. So normally, if you want to see it, you also have to add it in the view. You can change the view in the server side in the module as an XML or just use or editable view system to add a new field here. Like this. Order IDs. And now I should see the list of orders related to my partner in my object. So one to many links, so it includes several sales orders in my partners. That's one of the changes. So in OpenARP, you have more features. You can also change the workflow. So I connect on my order database. And I will show you how you can change the business logic within a few clicks. Every document has a business logic. So if I take, for example, a purchase order, I create a purchase order with this supplier and I will buy some PCs. Like this. Basically, the workflow of a purchase order is two steps. If I print it, I will not go into the details, but you first confirm your purchase order and then you approve when you get the acknowledge of the supplier. So normally you have two steps like this, confirm and then approve. If you want to change this, you can develop your own workflow in your own modules. I will not develop this using the XML or you can use the workflow editor. So let's take the workflow editor as an example. Customize workflow and I will change the business logic of this document. Every document can have its own workflow or several workflows. So here it is. Because you'd like to add a validation step. Validation and according to the amount of the total price of the purchase order, you'd like to validate the system. So I will change this. Edit. Everything is in Python. So if the amount is lower than 1000 euro, then without validation. If it's bigger than 1000 euro, I need a validation. I say here that I need a signal which is the user press on the button which is purchased approved. And strictly stronger than 1000 euro. So according to the total of my purchase order, I will have two different logic. So I create a new one by duplicating this one. So it's a request for quotation. I confirm and it's directly approved. No need to click a second time on the approved button because it's lower than 1000 euro. If I do another one which is bigger than 1000 euro, like this, which is 1700, I confirm and it's directly approved. That's not normal. I should have forgotten something. Okay. In 15 minutes, I don't have the time to debug. So let's just see something else. You would like to print the purchase order if it's approved. So we create a new link and print a purchase order. So I connect this workflow to actions of the system. The report to print a purchase order already exists in the system. So you just have to select it. It's client action. So when the order is approved, I'd like it to print the purchase order or send it by fax to the supplier, for example. I save. Here it is. I do another one and I confirm. And you see that it prints automatically. So you can connect everything against everything and develop your own business logic quite quickly. Suppose you'd like to change this report. You also have integrated report designer in OpenERP. For this, I have to install the report designer module. And you can, using OpenOffice, design your own templates of report. We also have in the trunk version of OpenERP, we also have OLAP, business intelligence, multidimensional statistic engine, where you can compute statistics based on an OLAP cube in Python. So if you want to change the report, just open OpenOffice. And you have a module in OpenOffice where you can connect to OpenERP and using the same login and the same password, change, for example, a report, modify an existing report. I will take my purchase order, open, and I do some changes, like putting this in the middle, this in red. And I can have a signature or total of the order. You can add some fields, some loops or anything. Add a field, it connects to my server on the order. It's connecting to web services using XMLRPC, so sometimes a bit slow. And I put a field here. So you modify every document and then you can push back to the server, adding the corporate editor and it will change the way the report prints on the server. I select three purchase orders, I print, and it should change the way it is rendered. You see total of the order and some colors and so forth. So let's come back to my slides. Here it is. So you have a strong object relational mapping, an MVC. You have 500 modules that already exist. So for example, when you develop something, you inherit from another object like product and then you get all the features of product. It synchronizes with the Jumla or Magento. If you inherit from document management, then it's accessible via FTP or webdav. You can modify some workflow and process. What you see here is not the workflow, but the end users process. That's more something like a documentation for the end user. So if I want to see the process of the purchase order, it's the same thing, but more user-friendly. So that the end users know what's happening when they click on each button or something like that. It's very useful for ISO 9001 companies. You have some report designer. I showed you the report designer based on OpenOffice, but you have statistics, report designer and things like that. And if you need more information, you can go to openerp.com, which is the software or the community which is on openobject.com. And just one note, we hire one system administrator, three Python developers and two project managers if you are interested, and we are located in Belgium. So here it is for my presentation. It was quite short. I wanted to develop a full module from scratch in 15 minutes, but it took 20 minutes. So I decided to use slides and show just how you can modify things on the fly. But trust me, you can develop very quickly new features and rely on existing features on OpenObject. So thank you. I still have three minutes. So if you have questions, I'm open. Yes? You have doc.openerp.com. He's asking if we have proper documentation on OpenObject and OpenERP. For OpenERP, we have two books, 600 pages, and both are accessible on Lines 2. For OpenObject, there is the developer book, and we just realize a memento that summarizes everything in a few pages a few days ago. So it's on the Twitter. You can get the link to the... I don't have my internet connection and don't have time to set it up, but you can check online. Yes? For the installation? So he's asking how is the installation working? If we have customers, yes, we have the post in France, Whirlpool, the Chamber of Commerce of Belgium, Sinjer, quite big companies, but we also have lots of very small companies. I have 80 employees, 23 in Belgium, 16 in India, and we just get a contract of 3 millions of euros, so we plan to hire 20 more in Belgium. So thank you. Thank you very much. Here's a box of Belgian chocolates. I can't remember what it is. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. Why you don't. I'm sorry. My words, I mean you don't look so good, because then when you look at what's happening are just not there. So the, you know, you're veryired. Yes. You see, I didn't have a major cash stock on god's mind. I didn't, really being the spreading man to his family, you don't see how they're acting, what they really get coming forward. Oh really?
modular, so you can, for instance, just install a can install more modules and you get more database and the object or national mapping. So use or editable view system to add a new field the XML or you can use the workflow editor. So Everything is in Python. So if the amount is develop your own business logic quite quickly. also have integrated report designer in OpenERP. report designer. I showed you the report designer based on OpenOffice, but you have statistics, slides and show just how you can modify things on features on OpenObject. So thank you. I still