Planet Odoo

Sofa Session: Unraveling the Mysteries of Custom Upgrades

August 29, 2023 Odoo Season 1 Episode 31
Sofa Session: Unraveling the Mysteries of Custom Upgrades
Planet Odoo
More Info
Planet Odoo
Sofa Session: Unraveling the Mysteries of Custom Upgrades
Aug 29, 2023 Season 1 Episode 31
Odoo

In this episode, we dive deep into the world of custom upgrades! We've got the head of the Upgrade Services Team, Patricia Daloze. She's, ready to spill the beans on everything you've ever wanted to know about upgrading your customized Odoo database.

Buckle up, because we're about to take a thrilling ride through code compatibility, database schemas, and third-party integrations. Don't miss out!

And if you're more of a visual person, we've got you covered! Check out the video version of this episode right here!
______________________________________________________

Don’t forget to support us by clicking the subscribe button, leaving a review, and sharing your favourite episode!

Try Odoo for free !
Want to join our team? Explore our positions here.

Concept and realization : Lanziotti Lucas
Recording and mixing : Lèna Noiset, Judith Moriset
Host: Olivier Colson, Lanziotti Lucas

Show Notes Transcript

In this episode, we dive deep into the world of custom upgrades! We've got the head of the Upgrade Services Team, Patricia Daloze. She's, ready to spill the beans on everything you've ever wanted to know about upgrading your customized Odoo database.

Buckle up, because we're about to take a thrilling ride through code compatibility, database schemas, and third-party integrations. Don't miss out!

And if you're more of a visual person, we've got you covered! Check out the video version of this episode right here!
______________________________________________________

Don’t forget to support us by clicking the subscribe button, leaving a review, and sharing your favourite episode!

Try Odoo for free !
Want to join our team? Explore our positions here.

Concept and realization : Lanziotti Lucas
Recording and mixing : Lèna Noiset, Judith Moriset
Host: Olivier Colson, Lanziotti Lucas

Olivier:

Welcome back to Planet Odoo. We are thrilled to introduce an exciting new series today, the Sofa sessions. You might already know this series of videos from our YouTube channel where our super host, Lucas Lanziotti, engages with the best of our Odoo profiles ranging from meeting office directors to shedding a light on unique internal projects. These episodes will be your touchpoint for fascinating conversations. So whether you're lounging on your couch, enjoying a walk or cruising in your car, join us in this podcast or on YouTube for this new sofa session.

Lucas:

Hi and welcome back to the Odoo Sofa Sessions. This is the place where we showcase the people and the stories behind Odoo's incredible growth. In this episode, we're diving deep into the world of custom upgrades. And to do that, I'm joined by the head of the upgrade services team, Patricia Daloze. She's ready to spill the beans on everything you've ever wanted to know about upgrading your customized database. So buckle up because we're taking a thrilling ride through code compatibility, database schemes, third party integrations and a lot more. And very happy to have you, Patricia.

Patricia:

Hi.

Lucas:

Welcome. Take a seat on the couch and let's jump right into.

Patricia:

Yes.

Lucas:

Let's start by quickly introducing yourself. So what do you do?

Patricia:

Yeah, so I'm a developer. I'm here in Odoo since five years and I'm in charge of the upgrade team.

Lucas:

Perfect. Again, I'm very happy to have you on the Sofa sessions here. This is going to be a bit more technical, but I'm sure that we're going to try to break down the concepts, the easiest and the best that we can.

Patricia:

Sure.

Lucas:

Let's start by tackling one simple question What is a customized Odoo database?

Patricia:

Okay, so we can say it's when the standard features may be not enough for a And then we see we end up with customized database.

Lucas:

Okay. So basically, as much as we love Odoo standard, there is specific needs or other code or integrate with other softwares. And that just basically is a customized database.

Patricia:

Yes, exactly.

Lucas:

Cool. And those databases needed to be upgraded as well.

Patricia:

Of course. Of course. With all the custom code.Yes

Lucas:

So I think let's start by trying to to go through the whole process. Can you try to give me the big picture, the overview of how does the process of upgrading a customized database works?

Patricia:

Yes, sure. First step is in fact, you have a look at what's there already. How is the custom code? Do we still need it? Because Odoo is evolving fast. So each year you have new features and maybe part of the custom code you've done in the past is not needed anymore. Maybe the code is not used by the customer also. So before upgrading anything, the first step is to analyze what you have. Uh, so that's main step. Really important you to take some time for that. Once you focus on what you have to upgrade, then you upgrade just the code. So you work on an empty database. If you're working on Odoo.sh, for example, you have the development branch where you can be testing, uh, just the code part. Okay. So you see if it's still compatible in the new version was not working. If all the tests are passing, it's important that you end up with a green branch. So the tests are passing. Meaning you're not breaking anything in Odoo.

Lucas:

Good. So let me see if I just understand this first step. You stop everything. No more development.

Patricia:

No more development, that's important. Yes.

Lucas:

That's a good point to start. You work with trying to understand what you have, what you have done in the past.

Patricia:

Exactly.

Lucas:

And see if it's still relevant.

Patricia:

Exactly.

Lucas:

So a bit of a cleanup.

Patricia:

Yes, exactly. It's time to be cleanup.

Lucas:

Okay. And you mentioned working on just the code.

Patricia:

Yes. So we use just an empty database. So we try to exclude all the potential issues we may have with the data inside the database. Yes.

Lucas:

Okay, good. So far. I understand. So thanks. Okay, What next?

Patricia:

Um, in the meantime, while you're doing that, you can already start requesting Still, if you're using Odoo.sh, there is a major tool in it, which is one click. You can send your database to the platform upgrade, and it gives you the database back upgraded with all the standard modules up to date. Okay. That's one. Uh, one thing is important. While it's important to do it since the beginning, it's because it's not always working at first. So in case there are issues, it's better to see them in advance to submit tickets or try to solve them, some of them by yourself. And then while we are fixing, for example, your issue in standard, you can be working on your custom model so you save time.

Lucas:

Okay, that's good. I think I'm following you. Maybe we can clarify a few of those concepts. You mentioned that there is a process directly from inside Odoo.sh. Can you take one step back and just quickly introduce like quickly explain what is Odoo.sh?

Patricia:

Okay, so Odoo.sh is one type of hosting we provide. It's really useful when you have custom code. There is a lot of integrated tools there, but basically it's hosting.

Lucas:

It's a cloud platform.

Patricia:

Yes.

Lucas:

That we that we provide. Okay. That is different from the Odoo SaaS, which is a standard deployment, a web based system. Okay, good. So from inside Odoo.sh, we have this ability to start the upgrading process directly from everything that is standard.

Patricia:

Yes. So it just sending taking a backup of your database, sending it to the There you'll have all the scripts for all the version that will be applied, um, since the source version to the target version. And then you'll see, you can see the log and see what's happening. And then it's like, uh, putting back your database inside the staging branch. So you're launching it since, uh, yeah, since the staging branch, basically. Good.

Lucas:

Okay.

Patricia:

Then when you have that, like if everything went well or you fixed everything You have your upgraded database where you just have the standard code upgraded and then you have if you've been working, you have your custom code that is upgraded too. And that's the step where you put everything together and you start seeing if some things are not working because of some data incompatibility that you'll have to fix through scripts. So that's the next step. Um.

Lucas:

The thing is several steps.

Patricia:

Yes, it's that a few steps. And what's difficult at that point is you don't know how many issues you'll have because it's really depending of how the database has been used and you cannot predict it. So you'll really have to work incrementally, test and try and see, uh, how many issues. But basically the hugest gap you have, the more issue you're likely to find. So it's better to upgrade maybe every one, 2 or 3 versions. If you wait too much, uh, you'll have more issues to fix. So that's it. When you have that, you can start testing. So we start testing internally, but in the end the customer has to provide some key user that really can test their daily flow nor their business the best and and can do deep testing. It's really important because it's a huge change each time. I mean, Odoo is evolving.

Lucas:

That's what where my thought process was going. So basically your team after this main merge between what is standard and what is custom to the new version, you can start, you know, testing, finding errors, fixing everything. The data is going to come in at that point, which can cause, you know, several issues. But the real testing is the people doing the job, doing the work on a day to day.

Patricia:

That's the most important testing. Yes. And it's highly recommended to test it while it's still a test database and not the production one, because, of course, we'll be there to fix issue when you have moved production, but it's always better to take it in advance.

Lucas:

And and then after the testing of those key users are, let's say more or less

Patricia:

Yeah, we can plan basically the upgrade to go live. Uh, you count a few hours, a few minutes depending of uh, how big is your database of, of uh, shut down and uh, with no access to the database, but just that. And then you're back and running. That's it.

Lucas:

On a new version?

Patricia:

Yes.

Lucas:

Uh, I want to. I want to maybe come come to two kind of conclusions about this. One is that the upgrade when when you have this custom code, when you have integrations, it is complex. This is a is a big uptake for for a company. So you need to plan it properly. Maybe can you give us like 2 or 3 advices about what is more important to do when when you have, you know, when you are planning to customize a database?

Patricia:

Oh, yeah. You have to. In fact, when you start thinking about making a new development, you have to start thinking of the upgrade of the maintainability of what you're bringing. Is it really worth it? Because yes, each line of code you're going to write at some point you'll have to maintain it and you have to know that Odoo is quite evolving and can be like, uh, moving a lot. Uh, some application... Each version there are application moving, changing, and you may have to start from scratch again. If something has been totally revamped, then you'll have to redo it again. So you really have to make a pro and cons, a deep analysis when starting because the the best code to upgrade is the code that do not exist, just that.

Lucas:

I love that the best code to upgrade is the one that doesn't exist. It's a simple, uh, thank you. I think it's, it's a complicated process, but we are trying to break it down. The value. I think that's where we have to focus because if you're going through all this effort and time to actually upgrade a database, it's because you see the value in in, in upgrading to a new version, meaning that there are, you know, better processes or even more efficiencies. How like, how do you think we can communicate this value to companies?

Patricia:

Um, I mean, there are a lot of new tools each year, but you have also like the newest version. At some point you have only three versions supported. It's for a reason. It's because it's not easy to, to maintain all those versions. And so it's better to always stay up to date. Yes.

Lucas:

Exactly. I think this is extremely important performance. Yes.

Patricia:

And if you if you move on with the new version, like, uh, on regular basis, it's difference, uh, in the Odoo code also. So it's less difficult to upgrade, it's less difficult for the final user to adapt to the new version. So something like every two years, it's a good thing.

Lucas:

Perfect. Yeah. Thank you. And now just, uh, so if a customer is in panic, what can they do? Like, how can they maybe contact our team and and get their their their databases fixed or throughout this, how can they contact us throughout this upgrade process?

Patricia:

Okay. I mean, during the entire upgrade process there is still on odoo.com/help related to my upgrade, then you'll be redirected to our team. So there is no panic here. You're still testing your database. If you're in production, we will still be there. Uh, it's not an issue. I mean, we can discuss and find solution for every cases.

Lucas:

Yeah, perfect. I'm happy to see that the confidence that.

Patricia:

We're trying to do.

Lucas:

No panic. It's going to be fine. Yes. Great. Um, let's change the tone a little. And I would like to focus a little bit more on you and your story. So you probably you've, you've done computer science. You are a developer. Can can you just give me a bit of your story? And how did you ended up being, you know, the lead of a tech team of more than 20 people now?

Patricia:

Yeah. I mean, it's just crazy in Odoo. When I started, I was in a team of 20 people in the stacks of development services and we were doing upgrades from time to time when we had no work, basically when nothing else to do.

Lucas:

Which was not very frequent.

Patricia:

Yes, exactly. So when we had time, we did that and at some point we started dedicating people. So we started with a team of four people dedicated for custom upgrades. And at some point it became like the the need became to be more and more important. And so, yes, for now, we are 22 developers. There are also functional people helping and handling communication, like around 15 people. So it's, uh, just for custom upgrades to a lot of people. Yes.

Lucas:

Yes, it is. 22. And how is Patricia as a manager? How?

Patricia:

I don't know. You have to ask the team. I think so fine, it's okay. I mean, or at least they know they don't have to talk about it.

Lucas:

I think you're running a tight ship over there because it's going really well. Uh, this. This is obviously a lot of a lot of responsibility. And. And this evolution process that you've been through has been quite fast. So how, how do you how do you manage the, the day to day? Uh, do you have any special, you know, habits or processes?

Patricia:

A lot of them. But lately I just moved into a new place and there was just a box So when I need a break, I can just go there and punch the bag.

Lucas:

Dangerous, too. So you go there, you do a couple of. You throw a couple of punches.

Patricia:

That's it. And I'm back ready to answer, uh, calmly on the tickets. Yes.

Lucas:

That's why the the customer tickets, uh, surveys are really good because you. You blow your first team before.

Patricia:

We're trying. At least we are putting some some, uh, effort on it to do better. Yes.

Lucas:

Okay. Uh, do you have plans to grow the team? How is the capacity right now?

Patricia:

So we are still in need for people. If you, if you know people that would like to come. Yes. The team is, uh, is constantly, uh, looking for new new people because upgrades are taking more and more space, uh, each year and they are more and more projects also to end up.

Lucas:

Do you hire with the same structure as basically the sales, I don't know, hybrid

Patricia:

Yes. Yes. It's three days at the office and two days from home. Yes.

Lucas:

So if you're a tech if you're a developer and you like to solve problems, you Great. Uh, so I wish you, you know, a lot of luck and success. It's been it's been inspiring to see your story and to see, you know, a woman leading a tech team, which doesn't happen that often. And I think you should be more frequently.

Patricia:

Yes. Thank you. I think, you know, Odoo. It's a great opportunity for that.

Olivier:

Thank you for joining us for this episode of the Sofa sessions on Planet Odoo. Did you find it entertaining? Did it leave you craving for more? We'd love to know. Don't hesitate to share your thoughts and subscribe to the show. And hey, if you're in the mood for more visual content, head on over to our YouTube channel for the video version of this episode. Thank you for being a part of this amazing experience. Until next time, Cheers.