Odoo Experience 2017 - Day 1 From A Techo

A photo-less blog entry – I’ll try to improve on that tomorrow.

Coffee, pastries, and then in to the theatre for Odoo 11 Unveiling by Fabien Pinckaers. I will probably be doubling up on some of Jon’s notes associated with this session, but here are some of my pick-ups from the tidbits shared.

There are many barely detectable UI improvements resulting in an overall cleaner feel, yet again. Some things are tiny, but as Fabien says, when you look at the screen 100s of times per day, it all adds up to an improved experience.

  • I love the smarter usage of screen real estate. Large screens use more panes, putting the chatter on the right - less scrolling. Mobile devices present information in panels and use swiping for intuitive navigation.

  • More kanban view improvements and options, all appearing highly responsive.

  • All module settings in a consolidated place, they’re searchable, and contain links to where the features are configured after activating.

  • There are significant speed improvements yet again. ORM redesign has seen 20%-30% less queries to the database. Combined with other factors, this has flowed through to some common functions happening 3 to 5 times faster compared with version 10.

  • Scheduled Activities, targeting efficiency. They are the “future events” that complement the “historic events” that the chatter currently records.

  • I think our Business Analysts and Developers alike will at some time or another find a use for Studio to begin a starting framework for some projects.

  • We saw in Studio, but I want to find where it goes in the back-end, automated actions on objects based on configurable triggers.

  • A new website page manager, allowing every page to get a modified URL, and to set up proper redirects.

  • Tablet ready MRP worksheets were very impressive.

  • Rebasing Bills Of Materials – Changes can be applied as increments and adjustments to have differeng effects on jobs, depending where they are at.

  • Odoo are taking control of the Accounting Localisations, including Australia!

Wow, that list is bigger than I thought it was going to be when I started typing. There was wayyyy more, but I am not here to transcribe the session.

After morning tea, a session about security and best practices to avoid security pitfalls in Odoo projects. Thankfully, I felt they were all suggestions which Willdoo IT already adhere to. Well done us, hey. See more at https://www.odoo.com/r/h3s if you are interested.

Some of the key changes in relation to security by Odoo are:

  • encryption of the Odoo super password;

  • increased logging of possible security threats (unauthorised attempts to install or uninstall features, for example), including some basic information to begin helping to stop possible attacks;

  • --no-database-list to hide any possible front end access to the database manager, which also blocks rpc calls;

  • the almost complete removal of use of python pickles, replaced with json; and

  • ir.config becoming only accessible to the admin user, which means reading it needs to be done in elevated sudo privileges.

Barely enough time to visit the men’s, and I was suddenly taking notes about good structures for connecting external apps through the API. Nothing really new here, compared with previous versions of Odoo. Some pointers to assist in faster processing, but I will once again let pride come to the fore and say I feel we have this sort of stuff under control.

Networking at lunch time around the Odoo exhibitors hall, and then in to a session about porting modules to python 3. 3.5 specifically. Benefits, negatives, what about 3.6 and 3.7. The main part is that, theoretically, the current build of Odoo should be just about compatible with 2.7 and 3.5, but no guarantees about the second part. If we follow the (yet to be confirmed location) guidelines, stepping forward will be straightforward, with Python 3 specific features to be allowed now, gradually.

In the meantime, be careful particularly with:

  • file handling (bytes, strings, and when to use encoding);

  • be aware of some changed behaviours (.keys; .values; .items; map; filter – all return iterators now, not lists);

  • changing behaviour of dictionaries (keys random, or keys ordered);

  • comparison tests are stricter (but these should fail quickly and can be sorted out);

  • integer by integer division returns a proper float, not an integer; and

  • most intriguingly, the changes to python rounding (although if using float_round method, this will be unaffected).

I attended a couple of javascript focused sessions which reminded me how much more I could learn about javascript. Some things to stash in the vault, including writing code within the framework which listens on the Odoo bus. Proper coding for widget encapsulation and communication, longpolling, dialogs, notfications, and more, all frameworked for Odoo objects. Also, we delved in to some excellent code to decypher front end routing in a single page app, necessary for clever url linking and browsing history. As always, documentation is coming. And we have been assured, this time it really is.

I finished the formal part of the day at a session about Odoo unit testing and using Odoo tours for testing, and js testing.

Informalities followed, some beers with new friends, a barbecue.

I must stress, I have not at all mentioned the development that has taken most of my focus today! Odoo.sh and what it means for us and our customers. It is truly worthy of a blog entry on its own, so please stay tuned for that. At this point, I have only got answers to about 70% of my questions, so I promise to write something when I am confident I can relay information that is relatively accurate.

Truth be known, I don't like photo-less blogs, so here is a throw-back to the Odoo kitten-mode Easter Egg.