Public Access
Part 1 — asset versioning: every local <script src> and <link rel=stylesheet> on the tracked pages now carries ?v=<sha256-of-the-file> (10 hex), computed at BUILD time from the file's bytes by work/build-asset-versions.py — never hand-typed, and idempotent (re-running with no file change rewrites nothing). This is what makes an edited focus-rule.js / photo-upload.js a new URL instead of a stale cache hit. Part 2 — language facet: a language now counts for the Language filter only when its 0-5 self-assessment is >= LANG_FACET_MIN (3 = 'works in it'). The constant sits beside the 15-point rule in the page script and its mirror in build-directory.py. Nothing stored changes; the card's languages chart still prints every language above 0, the search box is unchanged, and the facet stays an exact membership test against the card's value. A '1' language no longer offers the person under that language.
269 lines
10 KiB
HTML
269 lines
10 KiB
HTML
<!doctype html>
|
|
<html lang="en-US">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>
|
|
Platform Update: New Dashboard, Faster Backups & Smarter
|
|
Monitoring | ODOO4projects
|
|
</title>
|
|
<meta
|
|
name="description"
|
|
content="We've rolled out a major platform update with a redesigned dashboard, incremental backups, and AI-powered uptime monitoring."
|
|
/>
|
|
<link
|
|
rel="canonical"
|
|
href="https://odoo4projects.com/blog/posts/news-platform-update.html"
|
|
/>
|
|
<meta
|
|
property="og:title"
|
|
content="Platform Update: New Dashboard, Faster Backups & Smarter Monitoring"
|
|
/>
|
|
<meta
|
|
property="og:description"
|
|
content="We've rolled out a major platform update with a redesigned dashboard, incremental backups, and AI-powered uptime monitoring."
|
|
/>
|
|
<meta property="og:type" content="article" />
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
<link rel="icon" href="../../images/favicon.ico" />
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
<link
|
|
rel="stylesheet"
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
|
/>
|
|
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
|
<style>
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
:root {
|
|
--primary: #714b67;
|
|
--border: #e5e3e0;
|
|
--dark: #1b1319;
|
|
--radius: 0.6rem;
|
|
}
|
|
body {
|
|
margin: 0;
|
|
font-family: Inter, sans-serif;
|
|
font-size: 1rem;
|
|
line-height: 1.7;
|
|
background: #fff;
|
|
color: #212529;
|
|
}
|
|
.container {
|
|
width: 80%;
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
padding: 0 20px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.container {
|
|
width: 100%;
|
|
}
|
|
}
|
|
.blog-header {
|
|
padding: 2rem 0;
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
.blog-header a {
|
|
color: var(--primary);
|
|
text-decoration: none;
|
|
font-size: 0.85rem;
|
|
}
|
|
.blog-header a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.post-title {
|
|
font-family: "Inter Tight", sans-serif;
|
|
font-size: clamp(1.5rem, 3vw, 2.2rem);
|
|
font-weight: 700;
|
|
margin: 1.5rem 0 0.5rem;
|
|
color: var(--dark);
|
|
}
|
|
.post-meta {
|
|
color: rgba(33, 37, 41, 0.5);
|
|
font-size: 0.85rem;
|
|
margin-bottom: 2rem;
|
|
}
|
|
.post-content h2 {
|
|
font-family: "Inter Tight", sans-serif;
|
|
font-size: 1.3rem;
|
|
margin-top: 2rem;
|
|
color: var(--dark);
|
|
}
|
|
.post-content p {
|
|
margin: 1rem 0;
|
|
color: rgba(33, 37, 41, 0.7);
|
|
line-height: 1.7;
|
|
}
|
|
.post-content ul,
|
|
.post-content ol {
|
|
padding-left: 1.5rem;
|
|
}
|
|
.post-content li {
|
|
margin: 0.5rem 0;
|
|
}
|
|
.post-content a {
|
|
color: var(--primary);
|
|
}
|
|
.pro-tip {
|
|
border-left: 3px solid var(--primary);
|
|
background: rgba(113, 75, 103, 0.04);
|
|
padding: 1rem 1.25rem;
|
|
margin: 1.5rem 0;
|
|
border-radius: 0 0.6rem 0.6rem 0;
|
|
}
|
|
.pro-tip strong {
|
|
color: var(--primary);
|
|
}
|
|
.cta-box {
|
|
border: 1px solid var(--border);
|
|
background: #fff;
|
|
padding: 1.5rem;
|
|
margin: 2rem 0;
|
|
border-radius: 0.6rem;
|
|
text-align: center;
|
|
}
|
|
.cta-box h3 {
|
|
margin: 0 0 0.5rem;
|
|
color: var(--dark);
|
|
font-family: "Inter Tight", sans-serif;
|
|
}
|
|
.cta-box p {
|
|
margin: 0 0 1rem;
|
|
color: rgba(33, 37, 41, 0.7);
|
|
font-size: 0.9rem;
|
|
}
|
|
.cta-box .btn {
|
|
display: inline-block;
|
|
padding: 0.6rem 1.5rem;
|
|
background: var(--primary);
|
|
color: #fff;
|
|
text-decoration: none;
|
|
border-radius: 0.5rem;
|
|
font-weight: 600;
|
|
font-size: 0.85rem;
|
|
transition: opacity 0.2s;
|
|
}
|
|
.cta-box .btn:hover {
|
|
opacity: 0.85;
|
|
}
|
|
.post-footer {
|
|
padding: 2rem 0;
|
|
border-top: 1px solid var(--border);
|
|
margin-top: 2rem;
|
|
}
|
|
.post-footer a {
|
|
color: var(--primary);
|
|
text-decoration: none;
|
|
}
|
|
.post-footer a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
</style>
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "BlogPosting",
|
|
"headline": "Platform Update: New Dashboard, Faster Backups & Smarter Monitoring",
|
|
"datePublished": "2026-06-24",
|
|
"url": "https://odoo4projects.com/blog/posts/news-platform-update.html",
|
|
"author": {
|
|
"@type": "Organization",
|
|
"name": "ODOO4projects",
|
|
"url": "https://odoo4projects.com/"
|
|
},
|
|
"publisher": {
|
|
"@type": "Organization",
|
|
"name": "ODOO4projects",
|
|
"url": "https://odoo4projects.com/",
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": "https://odoo4projects.com/images/logo.png"
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<!-- Privacy-friendly analytics by Plausible -->
|
|
<script async src="https://plausible.office.odoo4projects.com/js/pa-NhA7Rf-79VopXFQXhSS4e.js"></script>
|
|
<script>
|
|
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
|
plausible.init()
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<div class="container">
|
|
<div class="blog-header">
|
|
<a href="../../index.html#blog">← Back to Blog</a>
|
|
</div>
|
|
<article>
|
|
<h1 class="post-title">
|
|
Platform Update: New Dashboard, Faster Backups & Smarter
|
|
Monitoring
|
|
</h1>
|
|
<div class="post-meta">June 24, 2026 · News</div>
|
|
<div class="post-content">
|
|
<p>
|
|
We're excited to announce our biggest platform update
|
|
yet. Here's what's new:
|
|
</p>
|
|
<h2>Redesigned Dashboard</h2>
|
|
<p>
|
|
Your control panel has been completely rebuilt for speed
|
|
and clarity. Key metrics — instance status,
|
|
resource usage, <a href="../../support.html">backup history</a> — are now front and
|
|
center. The new dashboard loads 3x faster and works
|
|
seamlessly on mobile.
|
|
</p>
|
|
<h2>Incremental Backups</h2>
|
|
<p>
|
|
Backups now use incremental technology, meaning only
|
|
changed data is stored after the initial full backup.
|
|
This results in 80% faster backup times and
|
|
significantly reduced storage usage — all while
|
|
maintaining full point-in-time recovery.
|
|
</p>
|
|
<div class="pro-tip">
|
|
<strong>Pro Tip:</strong> With incremental backups, you
|
|
can now restore to any point within your retention
|
|
window — not just the latest snapshot. This is a
|
|
game-changer for audit and compliance needs.
|
|
</div>
|
|
<h2>AI-Powered Monitoring</h2>
|
|
<p>
|
|
Our new <a href="../../odoo-hosting-2027.html">monitoring system</a> uses machine learning to
|
|
detect anomalies in your instance's performance before
|
|
they become problems. You'll receive proactive alerts
|
|
with suggested remediation steps.
|
|
</p>
|
|
<p>
|
|
This update is automatically available to all
|
|
ODOO4projects customers. Log in to your dashboard to
|
|
explore the new features.
|
|
</p>
|
|
<div class="cta-box">
|
|
<h3>Experience the New Platform</h3>
|
|
<p>Log in to your dashboard and see what's new.</p>
|
|
<a href="../../index.html" class="btn"
|
|
>Visit ODOO4projects</a
|
|
>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<div class="post-footer">
|
|
<a href="../../index.html#blog">← Back to all posts</a>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
<script
|
|
defer
|
|
src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"
|
|
></script>
|
|
</body>
|
|
</html> |