added public
This commit is contained in:
1 parent
6f8f4338ea
commit
5b8f8929f9
234 files changed
+70072
No files matched your search
@@ -0,0 +1,707 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta name="generator" content="Hugo 0.147.8">
|
||||
<meta charset="utf-8">
|
||||
<title>Founder of ODOO4projects. ODOO hosting like it should be. </title>
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
|
||||
<meta name="description" content="ODOO4projetcs - We hook you up with brilliant ODOO Communtiy and Enterprise hosting">
|
||||
|
||||
<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/">
|
||||
<meta property="og:site_name" content="Founder of ODOO4projects. ODOO hosting like it should be. ">
|
||||
<meta property="og:title" content="Founder of ODOO4projects. ODOO hosting like it should be. ">
|
||||
<meta property="og:description" content="ODOO4projetcs - We hook you up with brilliant ODOO Communtiy and Enterprise hosting">
|
||||
<meta property="og:locale" content="en">
|
||||
<meta property="og:type" content="website">
|
||||
|
||||
|
||||
<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-XrwIQJluVcwMevCzmiGhhTQRuLvLu8sZALVTqNh7oGWjma+mr9ifNP0F7hfqlHL3Y3GEQ/PF5J1UiOq5blQuYQ==">/*!* 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:#fcf8eLine 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">
|
||||
<div class="container-fluid pl-3 pl-md-0 pr-3 pr-lg-4">
|
||||
<div class="row no-gutters">
|
||||
|
||||
|
||||
<div class="col-lg-4 col-xl-3">
|
||||
|
||||
<div class="author-banner bg-primary-light text-center d-flex flex-column align-items-center justify-content-center">
|
||||
|
||||
<h1 class="h5">Odoo Community Hosting Tips, Tutorials & Best Practices </h1>
|
||||
|
||||
|
||||
|
||||
<img class="mb-4 rounded-circle w-100" style="max-width:280px" src="https://blog.ODOO4projects.com/images/author.webp" alt="Author">
|
||||
|
||||
<p class="text-uppercase small mb-2">My name is</p>
|
||||
<h2 class="h3 text-primary font-primary mb-3">Oliver Arnold</h2>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-8 col-xl-9">
|
||||
<div class="section">
|
||||
<div class="row">
|
||||
|
||||
|
||||
<div class="col-xl-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/mg.png" 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/news/">news</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 class="h4 mb-2">
|
||||
<a class="post-title" href="https://blog.ODOO4projects.com/blogs/new-colleague-mark-gutmann/" title="New Colleague: Mark Gutmann">New Colleague: Mark Gutmann</a>
|
||||
</h3>
|
||||
|
||||
<p class="mb-0">We have some fantastic news to share! 🎉
|
||||
Please join us in welcoming …</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 29, 2025</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xl-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/news.png" 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/corporate/">corporate</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 class="h4 mb-2">
|
||||
<a class="post-title" href="https://blog.ODOO4projects.com/blogs/brazil-online/" title="Brazil online!">Brazil online!</a>
|
||||
</h3>
|
||||
|
||||
<p class="mb-0">🌍 Exciting news for the #ODOO4Projects community: our Brazil server is …</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 22, 2025</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xl-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/git.svg" 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/academy/">academy</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 class="h4 mb-2">
|
||||
<a class="post-title" href="https://blog.ODOO4projects.com/blogs/academy_git/" title="ACADEMY: Use git with ODOO4projects">ACADEMY: Use git with ODOO4projects</a>
|
||||
</h3>
|
||||
|
||||
<p class="mb-0"> 📺 Watch on Youtube click
|
||||
From Community to Enterprise: Upgrading 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">May 15, 2025</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xl-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/company.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/corporate/">corporate</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 class="h4 mb-2">
|
||||
<a class="post-title" href="https://blog.ODOO4projects.com/blogs/lead-creation-from-email-in-odoo/" title="Lead creation from Email in ODOO?">Lead creation from Email in ODOO?</a>
|
||||
</h3>
|
||||
|
||||
<p class="mb-0">🚦 Ever wondered how to truly unlock the power of AI for lead …</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 15, 2025</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xl-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/chatbot.svg" 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/academy/">academy</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 class="h4 mb-2">
|
||||
<a class="post-title" href="https://blog.ODOO4projects.com/blogs/academy_chatbot/" title="ACADEMY: Use our ODOO AI integration">ACADEMY: Use our ODOO AI integration</a>
|
||||
</h3>
|
||||
|
||||
<p class="mb-0"> 📺 Watch on Youtube click
|
||||
How to Add an AI Chatbot to Your Odoo …</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 14, 2025</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xl-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 class="row">
|
||||
<div class="col-12">
|
||||
<!-- pagination -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="mb-3">
|
||||
<ul class="pagination justify-content-center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="page-item">
|
||||
<a href="/" class="page-link active ">
|
||||
1
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="page-item">
|
||||
<a href="/page/2/" class="page-link">
|
||||
2
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="page-item"><a class="page-link arrow" href="/page/2/" aria-label="Pagination Arrow">
|
||||
<i class="fas fa-angle-right"></i>
|
||||
</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="mt-4 pt-1">
|
||||
<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>
|
||||
|
||||
|
||||
</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-Yz/YSPyKMckGEMMQ1yybtrsvcFiryJxYzQ+leCBVaB9zptlhmftcVDBVaYtwyFf1fIj0Tunj+Aqcg0eUp+ROsQ==" 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)):0[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 RegExLine 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):0[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)0[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=0[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=0[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(),0[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.dataFilter&&(t=e.dLine 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&&0[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&&0[0]!==arguments[0]?arguments[0]:[],u=arguments.length>1?arguments[1]:0[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=0[0]===N?-1:N,n=e.value,z=e.record,u=e.index,T=t.tokenSearchers,f=0[0]===T?[]:T,x=t.fullSearcher,F=0[0]===x?[]:x,M=t.resultMap,m=0[0]===M?{}:M,S=t.results,A=0[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=0[0]===h?0:h,i=n.distance,b=0[0]===i?100:i,c=n.threshold,g=0[0]===c?.6:c,d=n.maxPatternLength,u=0[0]===d?32:d,s=n.isCaseSensitive,m=0[0]!==s&&s,o=n.tokenSeparator,p=0[0]===o?/ +/g:o,l=n.findAllMatches,v=0[0]!==l&&l,r=n.minMatchCharLength,j=0[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&&0[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=0[0]===M?0:M,F=i.distance,p=0[0]===F?100:F,C=i.threshold,L=0[0]===C?.6:C,k=i.findAllMatches,N=0[0]!==k&&k,E=i.minMatchCharLength,z=0[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=0[0]===n?0:n,s=t.currentLocation,d=0[0]===s?0:s,o=t.expectedLocation,u=0[0]===o?0:o,i=t.distance,a=0[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&&0[0]!==arguments[0]?arguments[0]:[],i=arguments.length>1&&0[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"==typeof define&&define.amd?define(["jqueLine truncated
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user