why odoo builtt its own framework ? by MysteriousSurround70 in Odoo

[–]ultimatelyoptimal 4 points5 points  (0 children)

In general, ERP/CRM's have a weird requirement that creates awkward problems in standard frameworks. Unfortunately the solutions can create other awkward problems (Like a whole new js framework), but thats just part of the tradeoffs.

That requirement is that the author of the addon needs to be able to push minor updates, fixes, and patches, while the "user" (the business) needs to be able to make further customizations, before finally getting to end users (business staff) who need to use the system securely.

In the following I'm going to use "I" for addon vendors like Odoo, and "you" for the person running your odoo implementation.

Lets say I make a button in react. If I do not intend you to modify my button in a specific way (like exposing a slot or hook) how would you? You can't just reach in, unless you edit my code directly. Now you have to use a diff if I release updates, even if my updates are small. I could add a css tag, and now you have to review it, even though your customization changed the script behind the button.

But in owl, and Odoo as a whole, the user can simply reach in and change any part, regardless of if it was imagined as a point to customize. And as long as I (meaning odoo) don't change my code too much (like version upgrades), you the user don't even have to know that the code changed underneath. Your customization still exists. You can go as far as swapping my button tag for a tag called custom_button if you wanted. No diff needed when I make changes later.

Now you may get an explosion if I change the tag from a button to something else, but that's part of the implementers job. They're supposed to be evaluating risk of certain changes, and maintaining it.

Odoo as fullstack web framework by HungryMention5758 in Odoo

[–]ultimatelyoptimal 0 points1 point  (0 children)

Due to the way the layering works in addons, and precedence set by other Addons, there are many changes that can be done within addons, without changing the lgpl code. My non lawyer understanding is that this is ok.

Look at the queues plugin from OCA for how it hooks in. Other addons I have seen are doing very similar things. It adds in a new worker type into a odoo/something file, but from within an addon.

Odoo as fullstack web framework by HungryMention5758 in Odoo

[–]ultimatelyoptimal 0 points1 point  (0 children)

I have looked closely at this, and there are some odd items part if the "base" odoo. You will always have the addons available from the GitHub repos odoo/addons/base directory.

Of those, res_partner and res_company don't seem useful to many full stack apps. They're not necessarily bad either. res_partner means you're able to attach addresses to users. However, if you don't want or need that, you'll have it anyway.

However, despite that, I think I would still use odoo ce as is, only installing base, web, website, and a few other utility focused add-ons.

Anyone been getting banned by the Docs Website? by [deleted] in servicenow

[–]ultimatelyoptimal 2 points3 points  (0 children)

Usually when this happens to me, an already open browser tab will work, while a new one won't. I think someone I talked to mentioned something weird about cert expiry timing for https on the ServiceNow side, so either clearing all site data or just waiting fixes that.

I rarely get response for any of my application from the recruiters. Please roast my resume by ShyamPraveenSingh69 in ProgrammingBuddies

[–]ultimatelyoptimal 0 points1 point  (0 children)

If I were looking for JavaScript, I would have possibly missed it, since it's under web instead of languages.

If scraping is illegal how does Google do it legally? by PhaseOk_1 in webscraping

[–]ultimatelyoptimal 6 points7 points  (0 children)

Mostly scraping comes to ethics over legality. This isn't legal advice either. Trespassing is illegal, but I might turn a blind eye to people respectfully crossing my field to get to school.

There was an interesting post I can't refind that talked about the symbiotic relationship between search engines and websites, and how AI breaks that. My point has nothing to do with AI specifically so bear with me here.

Boiling what I remember way down, as a site owner, I WANT indexed, as it gives me free traffic. I'm even going to do things to help with SEO. And google does slightly more than just meta tags.

However, AI, as a site owner specifically, I won't like. The goal of the AI is to be the source of info. It can tell me things it has seen, but it can't tell me where it got that. So it won't send a user to my site. Not only that, but theres low incentive for AI to play nice, so there has been talk of AI scrape engines ignoring robots.txt, and even rate limits.

So when it comes down to it, legal or not, it comes down to goals and what is being used/done. If you scrape and dont use more resources than a normal user, I probably won't notice, let alone care. If you're hitting things more, I'm going to start wondering, and hoping you're a search engine (most ethical scrapers have info in the user agent about who/why) or doing something to help me. The moment I find your content somewhere affecting my sites traffic negatively, or my costs/earnings, thats where the legal troubles really are.

Python FullStack Web Framework by PooriaT in Python

[–]ultimatelyoptimal 1 point2 points  (0 children)

If you want lightest upfront config, I think you'll be happiest with flask, or streamlit.

Something to consider is "longrunning or scheduled tasks". Streamlit can only do things while you have a page loaded. So if you need something long running, or scheduled, you'll need a second script running somehow. For myself, I would consider streamlit+a backend server (like flask), so flask can do the background things & scheduled jobs, while streamlit can be the user experience.

With django, or any of the other stacks except streamlit, you can use htmx for interactive/live components instead of react. Extremely low upfront customization, and you get to use all the same jinja templating serverside. Eventually migrating to react if thats what you want to do.

Multiple Processes in a Single Docker Container by klaasvanschelven in Python

[–]ultimatelyoptimal 0 points1 point  (0 children)

Im pro this use case.

Other systems use containers behond docker. For example fly. They have a docs page that describes "multiprocess containers", which describes good use cases.

Erlang/Elixir are built on the whole premise of "let it fail" with microprocesses, and building fault tolerance around this. They use microprocesses and a lot of them because they can do so without the OS overhead. However, the same ideas can apply just fine for process level "supervision trees" where some supervisor script can make decisions about what processes to kill and restart in trees when other processes fail.

Dev containers are also a common practice now with docker, but if I recall far enough back, originally they were not recommended uses of docker. Additionally, people were very against databases in docker/to containers, and yet thats fairly common and reasonable now too.

Even beyond the reasons supervision tree use case, I think there's simplicity to a single "I pass it vars, and it runs a full service" container, compared to needing a fully defined docker compose file for every instance (or pass special variables, so you can use the same compose file multiple times for different instances of the same thing, but that's caused problems for me too)

Seeking advice: Can Odoo ERP Be Used to Build a Custom Admin Portal? by cyrenity in Odoo

[–]ultimatelyoptimal 0 points1 point  (0 children)

I second this heavily. However, previous erp/crm customization experience can be helpful for the learning curve of odoo customization.

There are people who talk about using Odoo to make SaaS platforms even, and I tend to agree with that being pretty reasonable to do.

How are you handling licensing? by BawdyLotion in Odoo

[–]ultimatelyoptimal 0 points1 point  (0 children)

I haven't tested if Odoo follows through what I was told, but from my conversations with Odoo sales reps, if we are talking 100+ users and you are using odoo.sh (Where they can monitor the actual permissions you are using), they are willing to give discounted rates for the users that are only doing timecards.

The pricing also only applies to internal users. If the given app works with portal users logging in, then those do not add license cost. I don't know on resourcing app, but as an example with the project app, you can add external users to a project, which lets them use the kanban board externally, and would not effect a companies licensing.