N8N Commit
This commit is contained in:
1 parent
5b8f8929f9
commit
0bded622de
56 files changed
+5741
-1649
No files matched your search
@@ -0,0 +1,671 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>You’re Probably Hosting ODOO Wrong (Here’s a Smarter Way)</title>
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
|
||||
<meta name="description" content="Here is the technology stack we are using: - Docker - Shared Postgres DB - Corwdsec - Git for module installation">
|
||||
|
||||
<meta name="author" content="Oliver Arnold">
|
||||
|
||||
<meta name="theme-name" content="editor-hugo" />
|
||||
|
||||
|
||||
<link rel="shortcut icon" href="https://blog.ODOO4projects.com/images/4.svg" type="image/x-icon">
|
||||
<link rel="icon" href="https://blog.ODOO4projects.com/images/4.svg" type="image/x-icon">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta property="og:url" content="https://blog.ODOO4projects.com/blogs/youre-probably-hosting-odoo-wrong-heres-a-smarter-way/">
|
||||
<meta property="og:site_name" content="Founder of ODOO4projects. ODOO hosting like it should be. ">
|
||||
<meta property="og:title" content="You’re Probably Hosting ODOO Wrong (Here’s a Smarter Way)">
|
||||
<meta property="og:description" content="Here is the technology stack we are using: - Docker - Shared Postgres DB - Corwdsec - Git for module installation">
|
||||
<meta property="og:locale" content="en">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="article:section" content="blogs">
|
||||
<meta property="article:published_time" content="2025-06-17T00:00:00-04:00">
|
||||
<meta property="article:modified_time" content="2025-06-17T00:00:00-04:00">
|
||||
<meta property="article:tag" content="Knowledge">
|
||||
<meta property="og:image" content="https://blog.ODOO4projects.com/images/blog/tricks.webp">
|
||||
|
||||
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-MEASUREMENT_ID"></script>
|
||||
<script>
|
||||
var doNotTrack = false;
|
||||
if ( false ) {
|
||||
var dnt = (navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack);
|
||||
var doNotTrack = (dnt == "1" || dnt == "yes");
|
||||
}
|
||||
if (!doNotTrack) {
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-MEASUREMENT_ID');
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script defer data-domain="blog.odoo4projects.com" src="https://plausible.odoo4projects.com/js/script.js"></script>
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style crossorigin="anonymous" media="all" type="text/css" integrity="sha512-MKz3udXEUgQRWMnvjDmNvnppiBMhbEB53XpilJtOzgiN5siGqgyke6FC+fW7nhwLZ3D/io0nSSZjw5fusI4npA==">/*!* Bootstrap v4.5.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors
|
||||
* Copyright 2011-2020 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)*/:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}Line truncated
|
||||
|
||||
<style>
|
||||
blockquote::before {
|
||||
display: none;
|
||||
font-family: " Font Awesome 5 Free ";
|
||||
}
|
||||
|
||||
.content ul li:not(.nav-item) {
|
||||
position: relative;
|
||||
margin-bottom: 5px;
|
||||
list-style-type: none;
|
||||
}
|
||||
.content ul li:not(.nav-item) svg {
|
||||
margin-right: 6px;
|
||||
transform: scale(0.8);
|
||||
color: #c98664 ;
|
||||
}
|
||||
.content ul li:not(.nav-item)::before {
|
||||
font-size: 14px;
|
||||
font-family: " Font Awesome 5 Free ";
|
||||
font-weight: 900;
|
||||
content: "\f069";
|
||||
display: none;
|
||||
}
|
||||
.notices p::before {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
font-family: " Font Awesome 5 Free ";
|
||||
font-weight: 900;
|
||||
content: "\f05a";
|
||||
left: 10px;
|
||||
display: none;
|
||||
}
|
||||
.notices p svg {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
left: 10px;
|
||||
color: #ffffff ;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<header class="sidenav">
|
||||
<div class="is-top">
|
||||
<div>
|
||||
|
||||
|
||||
|
||||
|
||||
<button class="search-toggle d-inline-block d-md-none" data-toggle="search">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 16 16"><path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/></svg>
|
||||
</button>
|
||||
|
||||
<button class="sidenav-toggler d-inline-block " data-toggle="sidenav-menu">
|
||||
<svg id="toggler-icon" class="toggler-icon" viewBox="0 0 100 100" width="60" onclick="this.classList.toggle('active')"><path class="line top" d="m 30,33 h 40 c 0,0 9.044436,-0.654587 9.044436,-8.508902 0,-7.854315 -8.024349,-11.958003 -14.89975,-10.85914 -6.875401,1.098863 -13.637059,4.171617 -13.637059,16.368042 v 40" /><path class="line middle" d="m 30,50 h 40" /><path class="line bottom" d="m 30,67 h 40 c 12.796276,0 15.357889,-11.717785 15.357889,-26.851538 0,-15.133752 -4.786586,-27.274118 -16.667516,-27.274118 -11.88093,0 -18.499247,6.994427 -18.435284,17.125656 l 0.252538,40" /></svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<a class="navbar-brand mr-0" href="https://ODOO4projects.com">
|
||||
|
||||
<img height="30px" src="https://blog.ODOO4projects.com/images/logo.svg"
|
||||
alt="ODOO4projects">
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="d-none d-md-block">
|
||||
<ul class="social-links list-unstyled">
|
||||
|
||||
<li class="mb-3">
|
||||
<button class="search-toggle" data-toggle="search">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 16 16"><path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/></svg>
|
||||
</button>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mailto:blog@odoo4projects.com">
|
||||
<svg width="1.15em" height="1.15em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2zm13 2.383l-4.758 2.855L15 11.114v-5.73zm-.034 6.878L9.271 8.82 8 9.583 6.728 8.82l-5.694 3.44A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.739zM1 11.114l4.758-2.876L1 5.383v5.73z"/></svg>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="sidenav-overlay" data-toggle="sidenav-menu" onclick="document.getElementById('toggler-icon').classList.remove('active')"></div>
|
||||
|
||||
<nav class="sidenav-menu flex-column justify-content-between">
|
||||
<ul class="w-100 accordion" id="accordionMenu">
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/">Home</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="https://ODOO4projects.com">ODOO4projects Hosting</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/contact/">Contact</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<ul class="social-links list-unstyled list-inline mt-5">
|
||||
|
||||
<li class="list-inline-item"><a href="https://www.linkedin.com/company/104665455" title="Linkedin">
|
||||
<i class="fab fa-linkedin"></i>
|
||||
</a></li>
|
||||
|
||||
<li class="list-inline-item"><a href="https://ODOO4projects.com" title="Website">
|
||||
<i class="fas fa-globe"></i>
|
||||
</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="search-block">
|
||||
<div data-toggle="search-close">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="currentColor" class="text-primary" viewBox="0 0 16 16"><path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"/></svg>
|
||||
</div>
|
||||
<form action="/search" method="GET">
|
||||
<input id="search-field" name="s" type="search" placeholder="Type & Hit Enter..." class="text-center" aria-label="search-query">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-content section" style="border-left:1px solid #eee">
|
||||
<div class="container px-3 px-lg-4">
|
||||
<div class="row justify-content-center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col-lg-8">
|
||||
<div class="mb-4 mt-4 mt-md-0">
|
||||
|
||||
<div class="post-slider">
|
||||
|
||||
<div><img loading="lazy" class="w-100" src="https://blog.ODOO4projects.com/images/blog/tricks.webp" alt=""></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<ul class="card-meta-tag list-inline mt-3">
|
||||
|
||||
<li class="list-inline-item"><a href="https://blog.ODOO4projects.com/tags/knowledge/">knowledge</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 class="h3 mt-2 mb-3 post-title">You’re Probably Hosting ODOO Wrong (Here’s a Smarter Way)</h2>
|
||||
|
||||
<ul class="card-meta list-inline mb-0">
|
||||
|
||||
<li class="list-inline-item">
|
||||
<span class="text-light">by:</span>
|
||||
<a href="https://blog.ODOO4projects.com/about/" class="card-meta-author">Oliver Arnold</a>
|
||||
</li>
|
||||
|
||||
<li class="list-inline-item">
|
||||
<span class="card-meta-date">Jun 17, 2025</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<p>Curious about the tech powering our #ODOO4Projects journey? 🚀 Here’s a sneak peek at what’s under the hood:
|
||||
<p>🐳 <strong>Docker</strong> – lightning-fast deployments, anywhere
|
||||
🗄️ <strong>Shared Postgres DB</strong> – reliable, scalable, and rock-solid for growing projects
|
||||
🛡️ <strong>CrowdSec</strong> – open-source and proactive security that keeps our environments safe
|
||||
🔄 <strong>Git-for-module installation</strong> – seamless updates, easy rollbacks, and robust version control</p>
|
||||
<p>With this stack, we’re able to automate, secure, and scale your Odoo-powered projects like never before! It’s all about efficiency, transparency, and delivering results you can trust.</p>
|
||||
<p>Curious how it could accelerate your next big idea? Follow #ODOO4projects for tips, case studies, and insider know-how.</p>
|
||||
<p>💡 Want to chat? Get in touch with us via our homepage—we love connecting with forward-thinking project leaders!</p></p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-lg-4 mt-5 mt-lg-0">
|
||||
<div class="pl-0 pl-lg-3">
|
||||
<!-- about me -->
|
||||
<div class="widget text-center">
|
||||
|
||||
<span class="widget-title">About Me</span>
|
||||
|
||||
<img loading="lazy" class="mb-4 rounded-circle w-100" style="max-width:150px" src="https://blog.ODOO4projects.com/images/author.webp" alt="Author">
|
||||
|
||||
<p class="text-uppercase small mb-2">My name is</p>
|
||||
<h1 class="h4 text-primary font-primary mb-3">Oliver Arnold</h1>
|
||||
<div class="mb-0 mx-auto" style="max-width:460px">Founder of ODOO4projects. ODOO hosting like it should be. <a href="https://blog.ODOO4projects.com/about/" aria-label="About me" class="text-underline d-inline-block">Read More</a></div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<!-- latest post -->
|
||||
<div class="widget">
|
||||
<span class="widget-title">Recent Post</span>
|
||||
|
||||
<ul class="sidebar-recent-post list-unstyled">
|
||||
|
||||
|
||||
<li class="recent-post-item">
|
||||
<div class="media">
|
||||
<div class="media-body mr-2">
|
||||
<h5><a href="https://blog.ODOO4projects.com/blogs/why-we-avoid-heavy-custom-modules-and-you-should-too/">Why We Avoid Heavy Custom Modules (And You Should Too)</a></h5>
|
||||
<span class="card-meta">
|
||||
<span class="card-meta-date">Jun 10, 2025</span>
|
||||
</span>
|
||||
</div>
|
||||
<a href="https://blog.ODOO4projects.com/blogs/why-we-avoid-heavy-custom-modules-and-you-should-too/" class="recent-post-image">
|
||||
|
||||
<img loading="lazy" class="img-fluid rounded-circle" src="https://blog.ODOO4projects.com/images/blog/knowledge.webp">
|
||||
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="recent-post-item">
|
||||
<div class="media">
|
||||
<div class="media-body mr-2">
|
||||
<h5><a href="https://blog.ODOO4projects.com/blogs/running-lean-with-odoo-how-we-keep-our-infra-budget-in-check/">Running Lean with ODOO: How We Keep Our Infra Budget in Check</a></h5>
|
||||
<span class="card-meta">
|
||||
<span class="card-meta-date">Jun 03, 2025</span>
|
||||
</span>
|
||||
</div>
|
||||
<a href="https://blog.ODOO4projects.com/blogs/running-lean-with-odoo-how-we-keep-our-infra-budget-in-check/" class="recent-post-image">
|
||||
|
||||
<img loading="lazy" class="img-fluid rounded-circle" src="https://blog.ODOO4projects.com/images/blog/tricks.webp">
|
||||
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="recent-post-item">
|
||||
<div class="media">
|
||||
<div class="media-body mr-2">
|
||||
<h5><a href="https://blog.ODOO4projects.com/blogs/odoo-studio-vs-python-modules/"> ODOO Studio vs Python Modules</a></h5>
|
||||
<span class="card-meta">
|
||||
<span class="card-meta-date">May 13, 2025</span>
|
||||
</span>
|
||||
</div>
|
||||
<a href="https://blog.ODOO4projects.com/blogs/odoo-studio-vs-python-modules/" class="recent-post-image">
|
||||
|
||||
<img loading="lazy" class="img-fluid rounded-circle" src="https://blog.ODOO4projects.com/images/blog/tricks.webp">
|
||||
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div><!-- categories -->
|
||||
<div class="widget">
|
||||
<span class="widget-title">Categories</span>
|
||||
|
||||
|
||||
|
||||
<ul class="sidebar-post-categories list-unstyled">
|
||||
|
||||
<li><a href="https://blog.ODOO4projects.com/categories/academy/">Academy <span>2</span></a></li>
|
||||
|
||||
<li><a href="https://blog.ODOO4projects.com/categories/corporate/">Corporate <span>6</span></a></li>
|
||||
|
||||
<li><a href="https://blog.ODOO4projects.com/categories/hugo/">Hugo <span>3</span></a></li>
|
||||
|
||||
<li><a href="https://blog.ODOO4projects.com/categories/knowledge/">Knowledge <span>5</span></a></li>
|
||||
|
||||
<li><a href="https://blog.ODOO4projects.com/categories/projects/">Projects <span>1</span></a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</div><!-- tags -->
|
||||
<div class="widget">
|
||||
<span class="widget-title">Tags</span>
|
||||
|
||||
|
||||
<ul class="sidebar-post-tags list-unstyled list-inline">
|
||||
|
||||
<li class="list-inline-item"><a href="https://blog.ODOO4projects.com/tags/academy/">Academy</a></li>
|
||||
|
||||
<li class="list-inline-item"><a href="https://blog.ODOO4projects.com/tags/corporate/">Corporate</a></li>
|
||||
|
||||
<li class="list-inline-item"><a href="https://blog.ODOO4projects.com/tags/hugo/">Hugo</a></li>
|
||||
|
||||
<li class="list-inline-item"><a href="https://blog.ODOO4projects.com/tags/knowledge/">Knowledge</a></li>
|
||||
|
||||
<li class="list-inline-item"><a href="https://blog.ODOO4projects.com/tags/news/">News</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</div></div>
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
<div class="single-post-similer">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h3 class="text-dark font-weight-bold mb-4 pb-2">You May Also Like</h3>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-lg-4 col-md-4 col-sm-6">
|
||||
<article class="card post-card">
|
||||
|
||||
<div class="post-slider slider-sm">
|
||||
|
||||
<div><img loading="lazy" class="w-100 post" src="https://blog.ODOO4projects.com/images/blog/knowledge.webp" alt=""></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card-body mb-3">
|
||||
|
||||
<ul class="card-meta-tag list-inline mb-1">
|
||||
|
||||
<li class="list-inline-item"><a href="https://blog.ODOO4projects.com/tags/knowledge/">knowledge</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 class="h4 mb-2">
|
||||
<a class="post-title" href="https://blog.ODOO4projects.com/blogs/why-we-avoid-heavy-custom-modules-and-you-should-too/" title="Why We Avoid Heavy Custom Modules (And You Should Too)">Why We Avoid Heavy Custom Modules (And You Should Too)</a>
|
||||
</h3>
|
||||
|
||||
<p class="mb-0">As your business grows, your ERP system often becomes like your …</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<ul class="card-meta list-inline mb-0">
|
||||
|
||||
<li class="list-inline-item">
|
||||
<span class="text-light">by:</span>
|
||||
<a href="https://blog.ODOO4projects.com/about/" class="card-meta-author">Oliver</a>
|
||||
</li>
|
||||
|
||||
<li class="list-inline-item">
|
||||
<span class="card-meta-date">Jun 10, 2025</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-4 col-sm-6">
|
||||
<article class="card post-card">
|
||||
|
||||
<div class="post-slider slider-sm">
|
||||
|
||||
<div><img loading="lazy" class="w-100 post" src="https://blog.ODOO4projects.com/images/blog/tricks.webp" alt=""></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card-body mb-3">
|
||||
|
||||
<ul class="card-meta-tag list-inline mb-1">
|
||||
|
||||
<li class="list-inline-item"><a href="https://blog.ODOO4projects.com/tags/knowledge/">knowledge</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 class="h4 mb-2">
|
||||
<a class="post-title" href="https://blog.ODOO4projects.com/blogs/running-lean-with-odoo-how-we-keep-our-infra-budget-in-check/" title="Running Lean with ODOO: How We Keep Our Infra Budget in Check">Running Lean with ODOO: How We Keep Our Infra Budget in Check</a>
|
||||
</h3>
|
||||
|
||||
<p class="mb-0">🚀 Keeping your #ODOO4projects lean and agile doesn’t have to break the …</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<ul class="card-meta list-inline mb-0">
|
||||
|
||||
<li class="list-inline-item">
|
||||
<span class="text-light">by:</span>
|
||||
<a href="https://blog.ODOO4projects.com/about/" class="card-meta-author">Oliver</a>
|
||||
</li>
|
||||
|
||||
<li class="list-inline-item">
|
||||
<span class="card-meta-date">Jun 03, 2025</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-4 col-sm-6">
|
||||
<article class="card post-card">
|
||||
|
||||
<div class="post-slider slider-sm">
|
||||
|
||||
<div><img loading="lazy" class="w-100 post" src="https://blog.ODOO4projects.com/images/blog/tricks.webp" alt=""></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card-body mb-3">
|
||||
|
||||
<ul class="card-meta-tag list-inline mb-1">
|
||||
|
||||
<li class="list-inline-item"><a href="https://blog.ODOO4projects.com/tags/knowledge/">knowledge</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 class="h4 mb-2">
|
||||
<a class="post-title" href="https://blog.ODOO4projects.com/blogs/odoo-studio-vs-python-modules/" title=" ODOO Studio vs Python Modules"> ODOO Studio vs Python Modules</a>
|
||||
</h3>
|
||||
|
||||
<p class="mb-0">At #ODOO4projects, we’ve seen it time and again: mixing customization …</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<ul class="card-meta list-inline mb-0">
|
||||
|
||||
<li class="list-inline-item">
|
||||
<span class="text-light">by:</span>
|
||||
<a href="https://blog.ODOO4projects.com/about/" class="card-meta-author">Oliver</a>
|
||||
</li>
|
||||
|
||||
<li class="list-inline-item">
|
||||
<span class="card-meta-date">May 13, 2025</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid px-3 px-lg-4">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12 mt-4 pt-2">
|
||||
<footer class="bg-primary-light py-5">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 text-center mb-5">
|
||||
<ul class="social-links is-circled list-unstyled list-inline font-weight-500">
|
||||
|
||||
<li class="list-inline-item"><a href="https://www.linkedin.com/company/104665455" title="Linkedin">
|
||||
<i class="icon fab fa-linkedin"></i> Linkedin
|
||||
</a></li>
|
||||
|
||||
<li class="list-inline-item"><a href="https://ODOO4projects.com" title="Website">
|
||||
<i class="icon fas fa-globe"></i> Website
|
||||
</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p>Discover the best Odoo Community Hosting Tips, Tutorials & Best Practices to optimize your Odoo experience. Whether you're a beginner or an advanced user, our blog provides expert guidance on setting up and managing your Odoo instance. Learn essential tips for choosing the right hosting environment, improving system performance, and ensuring seamless updates.</p>
|
||||
|
||||
<p>Our tutorials cover everything from basic configurations to advanced customization, helping you make the most of Odoo’s powerful features. Stay up-to-date with the latest Odoo Community trends and implement best practices for security, scalability, and data integrity.</p>
|
||||
|
||||
<p>With our practical insights, you can enhance your Odoo hosting setup, troubleshoot common issues, and take your business to the next level. Whether you're hosting Odoo on-premise or in the cloud, our resources will guide you every step of the way. Dive into the world of Odoo and unlock its full potential today!</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col-12 text-center">
|
||||
<p class="mb-0 font-weight-500"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/gh/theprojectsomething/webfontloader@feature/google-fonts-v2/webfontloader.js"></script>
|
||||
|
||||
|
||||
<script>
|
||||
WebFont.load({
|
||||
google: {
|
||||
families: [
|
||||
'Fira Sans:ital,wght@0,400;0,500;0,600;1,500;1,600'
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/js/all.min.js" type="application/javascript" crossorigin='anonymous' defer='defer' data-search-pseudo-elements></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script crossorigin="anonymous" defer="defer" data-turbolinks-suppress-warning integrity="sha512-aeLjj8FoLI7Hj2YsgFPVuaEE798O9/cnfdEWhTaqg2F0qVpMBLQluydTo54Wp+uC72tLcKSoUR9jbcXOBJxtQg==" type="application/javascript">/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license *//*!
|
||||
* Bootstrap v4.5.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*//*!
|
||||
* Fuse.js v3.4.6 - Lightweight fuzzy-search (http://fusejs.io)
|
||||
*
|
||||
* Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me)
|
||||
* All Rights Reserved. Apache Software License 2.0
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*//*!***************************************************
|
||||
* mark.js v8.11.1
|
||||
* https://markjs.io/
|
||||
* Copyright (c) 2014–2018, Julian Kühnel
|
||||
* Released under the MIT license https://git.io/vwTVl
|
||||
*****************************************************/!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var ge,n,b,_e,Ne,ke,Ee,dt,m,rt,te,k,V,ce,l,nt,O,C,K,ot,it,at,ht,F,ft,pt,jt,me,he,Be,R,ze,oe,ee,Se,Ae,Ce,p=[],Me=Object.getPrototypeOf,j=p.slice,Ie=p.flat?function(e){return p.flat.call(e)}:function(e){return p.concat.apply([],e)},ue=p.push,Q=p.indexOf,X={},vt=X.toString,G=X.hasOwnProperty,gt=G.toString,Kt=gt.call(Object),a={},o=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},A=function(e){return e!=null&&e===e.window},i=e.document,Ot={type:!0,src:!0,nonce:!0,noModule:!0};function lt(e,t,n){var s,a,o=(n=n||i).createElement("script");if(o.text=e,t)for(s in Ot)(a=t[s]||t.getAttribute&&t.getAttribute(s))&&o.setAttribute(s,a);n.head.appendChild(o).parentNode.removeChild(o)}function E(e){return e==null?e+"":"object"==typeof e||"function"==typeof e?X[vt.call(e)]||"object":typeof e}ge="3.5.1",n=function(e,t){return new n.fn.init(e,t)};function be(e){var t=!!e&&"length"in e&&e.length,n=E(e);return!o(e)&&!A(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}n.fn=n.prototype={jquery:ge,constructor:n,length:0,toArray:function(){return j.call(this)},get:function(e){return e==null?j.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=n.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return n.each(this,e)},map:function(e){return this.pushStack(n.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(j.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(n.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(n.grep(this,function(e,t){return t%2}))},eq:function(e){var n=this.length,t=+e+(e<0?n:0);return this.pushStack(0<=t&&t<n?[this[t]]:[])},end:function(){return this.prevObject||this.constructor()},push:ue,sort:p.sort,splice:p.splice},n.extend=n.fn.extend=function(){var t,i,a,r,c,d,e=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof e&&(l=e,e=arguments[s]||{},s++),"object"==typeof e||o(e)||(e={}),s===u&&(e=this,s--);s<u;s++)if(null!=(c=arguments[s]))for(i in c)t=c[i],"__proto__"!==i&&e!==t&&(l&&t&&(n.isPlainObject(t)||(r=Array.isArray(t)))?(a=e[i],d=r&&!Array.isArray(a)?[]:r||n.isPlainObject(a)?a:{},r=!1,e[i]=n.extend(l,d,t)):void 0!==t&&(e[i]=t));return e},n.extend({expando:"jQuery"+(ge+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!!e&&"[object Object]"===vt.call(e)&&(!(t=Me(e))||"function"==typeof(n=G.call(t,"constructor")&&t.constructor)&>.call(n)===Kt)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){lt(e,{nonce:t&&t.nonce},n)},each:function(e,t){var s,n=0;if(be(e)){for(s=e.length;n<s;n++)if(!1===t.call(e[n],n,e[n]))break}else for(n in e)if(!1===t.call(e[n],n,e[n]))break;return e},makeArray:function(e,t){var s=t||[];return e!=null&&(be(Object(e))?n.merge(s,"string"==typeof e?[e]:e):ue.call(s,e)),s},inArray:function(e,t,n){return t==null?-1:Q.call(t,e,n)},merge:function(e,t){for(var o=+t.length,n=0,s=e.length;n<o;n++)e[s++]=t[n];return e.length=s,e},grep:function(e,t,n){for(var o=[],s=0,i=e.length,a=!n;s<i;s++)!t(e[s],s)!==a&&o.push(e[s]);return o},map:function(e,t,n){var o,a,s=0,i=[];if(be(e))for(a=e.length;s<a;s++)null!=(o=t(e[s],s,n))&&i.push(o);else for(s in e)null!=(o=t(e[s],s,n))&&i.push(o);return Ie(i)},guid:1,support:a}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=p[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){X["[object "+t+"]"]=t.toLowerCase()}),b=function(e){var t,s,i,r,c,l,g,v,O,x,C,k,A,D,R,P,q,G,X,a="sizzle"+1*new Date,h=e.document,p=0,ge=0,ae=F(),ne=F(),ce=F(),S=F(),W=function(e,t){return e===t&&(x=!0),0},ue={}.hasOwnProperty,j=[],he=j.pop,ve=j.push,b=j.push,ee=j.slice,_=function(e,t){for(var n=0,s=e.length;n<s;n++)if(e[n]===t)return n;return-1},V="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",n=`[\\x20\\t\\r\\n\\f]`,y="(?:\\\\[\\da-fA-F]{1,6}"+n+`?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+`,Z="\\["+n+"*("+y+")(?:"+n+"*([*^$|!~]?=)"+n+`*(?:'((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)"|(`+y+"))|)"+n+"*\\]",H=":("+y+`)(?:\\((('((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|`+Z+")*)|.*)\\)|)",xe=new RegExp(n+"+","g"),L=new RegExp("^"+n+"+|((?:^|[^\\\\])(?:\\\\.)*)"+n+"+$","g"),Oe=new RegExp("^"+n+"*,"+n+"*"),re=new RegExp("^"+n+"*([>+~]|"+n+")"+n+"*"),we=new RegExp(n+"|>"),_e=new RegExp(H),ye=new RegExp("^"+y+"$"),N={ID:new RegLine truncated
|
||||
`)}}):{name:t.name,value:s.replace(_t,`\r
|
||||
`)}}).get()}});var Mt=/%20/g,Ft=/#.*$/,Tt=/([?&])_=[^&]*/,zt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Dt=/^(?:GET|HEAD)$/,Lt=/^\/\//,mt={},re={},Ge="*/".concat("*"),ae=i.createElement("a");function qe(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var s,i=0,a=t.toLowerCase().match(m)||[];if(o(n))for(;s=a[i++];)"+"===s[0]?(s=s.slice(1)||"*",(e[s]=e[s]||[]).unshift(n)):(e[s]=e[s]||[]).push(n)}}function Ke(e,t,s,o){var i={},r=e===re;function a(c){var l;return i[c]=!0,n.each(e[c]||[],function(e,n){var c=n(t,s,o);return"string"!=typeof c||r||i[c]?r?!(l=c):void 0:(t.dataTypes.unshift(c),a(c),!1)}),l}return a(t.dataTypes[0])||!i["*"]&&a("*")}function ie(e,t){var s,o,i=n.ajaxSettings.flatOptions||{};for(s in t)void 0!==t[s]&&((i[s]?e:o||(o={}))[s]=t[s]);return o&&n.extend(!0,e,o),e}return ae.href=B.href,n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:B.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(B.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ge,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ie(ie(e,n.ajaxSettings),t):ie(n.ajaxSettings,e)},ajaxPrefilter:qe(mt),ajaxTransport:qe(re),ajax:function(t,s){"object"==typeof t&&(s=t,t=void 0),s=s||{};var r,c,d,u,h,p,g,b,j,w,o=n.ajaxSetup({},s),l=o.context||o,y=o.context&&(l.nodeType||l.jquery)?n(l):n.event,_=n.Deferred(),O=n.Callbacks("once memory"),f=o.statusCode||{},x={},C={},E="canceled",a={readyState:0,getResponseHeader:function(e){if(c){if(!u){u={};for(var t;t=zt.exec(w);)u[t[1].toLowerCase()+" "]=(u[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=u[e.toLowerCase()+" "]}return t==null?null:t.join(", ")},getAllResponseHeaders:function(){return c?w:null},setRequestHeader:function(e,t){return c==null&&(e=C[e.toLowerCase()]=C[e.toLowerCase()]||e,x[e]=t),this},overrideMimeType:function(e){return c==null&&(o.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)a.always(e[a.status]);else for(t in e)f[t]=[f[t],e[t]];return this},abort:function(e){var t=e||E;return h&&h.abort(t),v(0,t),this}};if(_.promise(a),o.url=((t||o.url||B.href)+"").replace(Lt,B.protocol+"//"),o.type=s.method||s.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(m)||[""],null==o.crossDomain){d=i.createElement("a");try{d.href=o.url,d.href=d.href,o.crossDomain=ae.protocol+"//"+ae.host!=d.protocol+"//"+d.host}catch{o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=n.param(o.data,o.traditional)),Ke(mt,o,s,a),c)return a;for(j in(g=n.event&&o.global)&&0==n.active++&&n.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Dt.test(o.type),r=o.url.replace(Ft,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Mt,"+")):(p=o.url.slice(r.length),o.data&&(o.processData||"string"==typeof o.data)&&(r+=(de.test(r)?"&":"?")+o.data,delete o.data),!1===o.cache&&(r=r.replace(Tt,"$1"),p=(de.test(r)?"&":"?")+"_="+Oe.guid+++p),o.url=r+p),o.ifModified&&(n.lastModified[r]&&a.setRequestHeader("If-Modified-Since",n.lastModified[r]),n.etag[r]&&a.setRequestHeader("If-None-Match",n.etag[r])),(o.data&&o.hasContent&&!1!==o.contentType||s.contentType)&&a.setRequestHeader("Content-Type",o.contentType),a.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Ge+"; q=0.01":""):o.accepts["*"]),o.headers)a.setRequestHeader(j,o.headers[j]);if(o.beforeSend&&(!1===o.beforeSend.call(l,a,o)||c))return a.abort();if(E="abort",O.add(o.complete),a.done(o.success),a.fail(o.error),h=Ke(re,o,s,a)){if(a.readyState=1,g&&y.trigger("ajaxSend",[a,o]),c)return a;o.async&&0<o.timeout&&(b=e.setTimeout(function(){a.abort("timeout")},o.timeout));try{c=!1,h.send(x,v)}catch(e){if(c)throw e;v(-1,e)}}else v(-1,"No Transport");function v(t,s,i,d){var m,p,v,j,x,u=s;c||(c=!0,b&&e.clearTimeout(b),h=void 0,w=d||"",a.readyState=0<t?4:0,m=200<=t&&t<300||304===t,i&&(p=function(e,t,n){for(var o,i,a,r,c=e.contents,s=e.dataTypes;"*"===s[0];)s.shift(),void 0===a&&(a=e.mimeType||t.getResponseHeader("Content-Type"));if(a)for(o in c)if(c[o]&&c[o].test(a)){s.unshift(o);break}if(s[0]in n)i=s[0];else{for(o in n){if(!s[0]||e.converters[o+" "+s[0]]){i=o;break}r||(r=o)}i=i||r}if(i)return i!==s[0]&&s.unshift(i),n[i]}(o,a,i)),!m&&-1<n.inArray("script",o.dataTypes)&&(o.converters["text script"]=function(){}),p=function(e,t,n,s){var o,i,a,c,l,r={},d=e.dataTypes.slice();if(d[1])for(i in e.converters)r[i.toLowerCase()]=e.converters[i];for(o=d.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!a&&s&&e.dataFiltLine truncated
|
||||
Search pattern: "`.concat(e,'"'));var n,s=this._prepareSearchers(e),i=s.tokenSearchers,a=s.fullSearcher,o=this._search(i,a),r=o.weights,t=o.results;return this._computeScore(r,t),this.options.shouldSort&&this._sort(t),n.limit&&"number"==typeof n.limit&&(t=t.slice(0,n.limit)),this._format(t)}},{key:"_prepareSearchers",value:function(){if(e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=[],this.options.tokenize)for(var e,t,s=e.split(this.options.tokenSeparator),n=0,o=s.length;n<o;n+=1)t.push(new i(s[n],this.options));return{tokenSearchers:t,fullSearcher:new i(e,this.options)}}},{key:"_search",value:function(){var e,t,r,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=arguments.length>1?arguments[1]:void 0,n=this.list,d={},s=[];if("string"==typeof n[0]){for(t=0,r=n.length;t<r;t+=1)this._analyze({key:"",value:n[t],record:t,index:t},{resultMap:d,results:s,tokenSearchers:c,fullSearcher:u});return{weights:null,results:s}}for(var i={},o=0,h=n.length;o<h;o+=1)for(var l=n[o],a=0,m=this.options.keys.length;a<m;a+=1){if(e=this.options.keys[a],"string"!=typeof e){if(i[e.name]={weight:1-e.weight||1},e.weight<=0||e.weight>1)throw new Error("Key weight has to be > 0 and <= 1");e=e.name}else i[e]={weight:1};this._analyze({key:e,value:this.options.getFn(l,e),record:l,index:o},{resultMap:d,results:s,tokenSearchers:c,fullSearcher:u})}return{weights:i,results:s}}},{key:"_analyze",value:function(e,t){var s,i,c,h,p,g,j,y,_,w,L,a=e.key,N=e.arrayIndex,D=void 0===N?-1:N,n=e.value,z=e.record,u=e.index,T=t.tokenSearchers,f=void 0===T?[]:T,x=t.fullSearcher,F=void 0===x?[]:x,M=t.resultMap,m=void 0===M?{}:M,S=t.results,A=void 0===S?[]:S;if(n!=null){var k=!1,o=-1,E=0;if("string"==typeof n){if(this._log(`
|
||||
Key: `.concat(""===a?"-":a)),s=F.search(n),this._log('Full text: "'.concat(n,'", score: ').concat(s.score)),this.options.tokenize){for(var C=n.split(this.options.tokenSeparator),l=[],O=0;O<f.length;O+=1){j=f[O],this._log(`
|
||||
Pattern: "`.concat(j.pattern,'"'));for(_=!1,p=0;p<C.length;p+=1){var d=C[p],b=j.search(d),v={};b.isMatch?(v[d]=b.score,k=!0,_=!0,l.push(b.score)):(v[d]=1,this.options.matchAllTokens||l.push(1)),this._log('Token: "'.concat(d,'", score: ').concat(v[d]))}_&&(E+=1)}o=l[0];for(g=l.length,h=1;h<g;h+=1)o+=l[h];o/=g,this._log("Token score average:",o)}i=s.score,o>-1&&(i=(i+o)/2),this._log("Score average:",i),y=!this.options.tokenize||!this.options.matchAllTokens||E>=f.length,(this._log(`
|
||||
Check Matches: `.concat(y)),(k||s.isMatch)&&y)&&(w=m[u],w?w.output.push({key:a,arrayIndex:D,value:n,score:i,matchedIndices:s.matchedIndices}):(m[u]={item:z,output:[{key:a,arrayIndex:D,value:n,score:i,matchedIndices:s.matchedIndices}]},A.push(m[u])))}else if(r(n))for(c=0,L=n.length;c<L;c+=1)this._analyze({key:a,arrayIndex:c,value:n[c],record:z,index:u},{resultMap:m,results:A,tokenSearchers:f,fullSearcher:F})}}},{key:"_computeScore",value:function(e,t){this._log(`
|
||||
|
||||
Computing score:
|
||||
`);for(n=0,c=t.length;n<c;n+=1){for(var n,a,r,c,o=t[n].output,d=o.length,l=1,i=1,s=0;s<d;s+=1)a=e?e[o[s].key].weight:1,r=(1===a?o[s].score:o[s].score||.001)*a,1!==a?i=Math.min(i,r):(o[s].nScore=r,l*=r);t[n].score=1===i?l:i,this._log(t[n])}}},{key:"_sort",value:function(e){this._log(`
|
||||
|
||||
Sorting....`),e.sort(this.options.sortFn)}},{key:"_format",value:function(e){o=[],this.options.verbose&&(i=[],this._log(`
|
||||
|
||||
Output:
|
||||
|
||||
`,JSON.stringify(e,function(e,t){if("object"===s(t)&&null!==t){if(-1!==i.indexOf(t))return;i.push(t)}return t})),i=null),t=[],this.options.includeMatches&&t.push(function(e,t){o=e.output,t.matches=[];for(var n,s,o,i=0,a=o.length;i<a;i+=1)n=o[i],0!==n.matchedIndices.length&&(s={indices:n.matchedIndices,value:n.value},n.key&&(s.key=n.key),n.hasOwnProperty("arrayIndex")&&n.arrayIndex>-1&&(s.arrayIndex=n.arrayIndex),t.matches.push(s))}),this.options.includeScore&&t.push(function(e,t){t.score=e.score});for(a=0,c=e.length;a<c;a+=1)if(n=e[a],this.options.id&&(n.item=this.options.getFn(n.item,this.options.id)[0]),t.length){for(var t,n,o,i,a,c,l={item:n.item},r=0,d=t.length;r<d;r+=1)t[r](n,l);o.push(l)}else o.push(n.item);return o}},{key:"_log",value:function(){var e;this.options.verbose&&(e=console).log.apply(e,arguments)}}])&&o(t.prototype,n),c&&o(t,c),e}();e.exports=c},function(e,t,n){function s(e,t){for(var n,s=0;s<t.length;s++)n=t[s],n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}var o=n(3),i=n(4),a=n(7),r=function(){function e(t,n){var h=n.location,f=void 0===h?0:h,i=n.distance,b=void 0===i?100:i,c=n.threshold,g=void 0===c?.6:c,d=n.maxPatternLength,u=void 0===d?32:d,s=n.isCaseSensitive,m=void 0!==s&&s,o=n.tokenSeparator,p=void 0===o?/ +/g:o,l=n.findAllMatches,v=void 0!==l&&l,r=n.minMatchCharLength,j=void 0===r?1:r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options={location:f,distance:b,threshold:g,maxPatternLength:u,isCaseSensitive:m,tokenSeparator:p,findAllMatches:v,minMatchCharLength:j},this.pattern=this.options.isCaseSensitive?t:t.toLowerCase(),this.pattern.length<=u&&(this.patternAlphabet=a(this.pattern))}var t,n,r;return t=e,(n=[{key:"search",value:function(e){if(this.options.isCaseSensitive||(e=e.toLowerCase()),this.pattern===e)return{isMatch:!0,score:0,matchedIndices:[[0,e.length-1]]};var n=this.options,s=n.maxPatternLength,a=n.tokenSeparator;if(this.pattern.length>s)return o(e,this.pattern,a);var t=this.options,r=t.location,c=t.distance,l=t.threshold,d=t.findAllMatches,u=t.minMatchCharLength;return i(e,this.pattern,this.patternAlphabet,{location:r,distance:c,threshold:l,findAllMatches:d,minMatchCharLength:u})}}])&&s(t.prototype,n),r&&s(t,r),e}();e.exports=r},function(e){var n=/[-[\]/{}()*+?.\\^$|]/g;e.exports=function(e,t){var s,a,c,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/ +/g,d=new RegExp(t.replace(n,"\\$&").replace(l,"|")),o=e.match(d),i=!!o,r=[];if(i)for(s=0,c=o.length;s<c;s+=1)a=o[s],r.push([e.indexOf(a),a.length-1]);return{score:i?.5:1,isMatch:i,matchedIndices:r}}},function(e,t,n){var s=n(5),o=n(6);e.exports=function(e,t,n,i){for(var r,c,f,g,O,S,T,M=i.location,R=void 0===M?0:M,F=i.distance,p=void 0===F?100:F,C=i.threshold,L=void 0===C?.6:C,k=i.findAllMatches,N=void 0!==k&&k,E=i.minMatchCharLength,z=void 0===E?1:E,a=R,j=e.length,d=L,l=e.indexOf(t,a),h=t.length,w=[],_=0;_<j;_+=1)w[_]=0;-1!==l&&(T=s(t,{errors:0,currentLocation:l,expectedLocation:a,distance:p}),(d=Math.min(T,d),-1!==(l=e.lastIndexOf(t,a+h)))&&(S=s(t,{errors:0,currentLocation:l,expectedLocation:a,distance:p}),d=Math.min(S,d)));for(var l=-1,y=[],v=1,b=h+j,D=1<<(h<=31?h-1:30),u=0;u<h;u+=1){for(f=0,c=b;f<c;)s(t,{errors:u,currentLocation:a+c,expectedLocation:a,distance:p})<=d?f=c:b=c,c=Math.floor((b-f)/2+f);var b=c,A=Math.max(1,a-c+1),x=N?j:Math.min(a+c,j)+h,m=Array(x+2);m[x+1]=(1<<u)-1;for(r=x;r>=A;r-=1)if(g=r-1,O=n[e.charAt(g)],O&&(w[g]=1),m[r]=(m[r+1]<<1|1)&O,0!==u&&(m[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),m[r]&D&&(v=s(t,{errors:u,currentLocation:g,expectedLocation:a,distance:p}))<=d){if(d=v,(l=g)<=a)break;A=Math.max(1,2*a-l)}if(s(t,{errors:u+1,currentLocation:a,expectedLocation:a,distance:p})>d)break;y=m}return{isMatch:l>=0,score:0===v?.001:v,matchedIndices:o(w,z)}}},function(e){e.exports=function(e,t){var n=t.errors,l=void 0===n?0:n,s=t.currentLocation,d=void 0===s?0:s,o=t.expectedLocation,u=void 0===o?0:o,i=t.distance,a=void 0===i?100:i,r=l/e.length,c=Math.abs(u-d);return a?r+c/a:c?1:r}},function(e){e.exports=function(){for(var o,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,s=[],e=-1,a=-1,t=0,r=n.length;t<r;t+=1)o=n[t],o&&-1===e?e=t:o||-1===e||((a=t-1)-e+1>=i&&s.push([e,a]),e=-1);return n[t-1]&&t-e>=i&&s.push([e,t-1]),s}},function(e){e.exports=function(e){for(var t,n={},s=e.length,o=0;o<s;o+=1)n[e.charAt(o)]=0;for(t=0;t<s;t+=1)n[e.charAt(t)]|=1<<s-t-1;return n}},function(e,t,n){var s=n(0);e.exports=function(e,t){return function e(t,n,o){if(n){{var i,r,d,c=n.indexOf("."),l=n,a=null;if(-1!==c&&(l=n.slice(0,c),a=n.slice(c+1)),i=t[l],i!=null)if(a||"string"!=typeof i&&"number"!=typeof i)if(s(i))for(r=0,d=i.length;r<d;r+=1)e(i[r],a,o);else a&&e(i,a,o);else o.push(i.toString())}}else o.push(t);return o}(e,t,[])}}])}),!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("jquery")):"function"=Line truncated
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user