Product Updates
See what’s new, what’s improved, and what we’ve fixed.
DPP submission workflow and admin review improvements
Added a full customer submission flow for Digital Product Passport requests and upgraded the admin review experience. Admins can now quickly filter, open, review, and mark submissions as done from one place.
- Launched a structured multi-step DPP submission flow for third-party/client requests.
- Added save-progress behavior and improved reliability of step navigation/actions.
- Added product image support in submissions (upload and URL support).
- Added a post-submit confirmation popup with clearer next-step messaging.
- Upgraded Admin DPP Submissions to a table-first workflow for faster daily operations.
- Added popup-based “Create submission” so link generation is available without leaving the table view.
- Added popup-based “View submission” with dark overlay for copy/paste product creation workflows.
- Added filters for growing submission volume, including search and status filtering.
- Added “Mark as done” action to track completion after product creation.
- General cleanup and UX polish to reduce friction for staging/live support workflows.
Faster Public Product Passports + Instant Refresh Controls
Public Product Passports now load much faster on first scan. We added nightly pre-generation and stronger caching, plus new admin tools to force-refresh passports instantly after changes. We also fixed translation flicker on first load.
We shipped a major performance and reliability upgrade for Public Product Passports.
- Faster first scan: passports are now pre-generated nightly so QR pages open much faster on mobile.
- Stronger caching: public passport HTML is cached for quicker delivery and better stability during traffic spikes.
- Instant manual refresh: admins can now force-regenerate passports from a dedicated admin page.
- Per-product regenerate action: passport regeneration is also available directly from the Products page actions menu.
- Translation UX fix: removed first-load translation flicker for a smoother public page experience.
This release improves scan speed, reduces wait time, and gives teams better control when product data changes.
Support Ticketing Portal & Product Management Improvements
Introducing a fully integrated support ticketing system — customers can now submit tickets, track progress, and exchange replies with screenshots. Includes an admin support inbox, owner dashboard widget, and several reliability fixes.
🎫 Support Ticketing Portal
- Customers can now submit support tickets directly from their account at /support — including a category, description, and optional screenshot upload.
- Tickets are automatically assigned a reference number (e.g.
TKT-00001) and both the customer and support team receive email confirmation on submission. - Customers can view all their tickets and full conversation history at /my-tickets, and add follow-up comments at any time.
- Support replies include screenshot attachments — customers see these inline in the conversation thread.
- Tickets are locked for new replies once marked as Resolved or Closed.
🛠️ Admin Support Inbox
- New admin page at /admin/support showing all tickets in a searchable, filterable grid.
- Click any ticket to open a slide-over panel with the full conversation thread.
- Reply directly from the panel with optional screenshot attachment — customer receives an email notification with a link back to their ticket.
- Change ticket status (Open → In Progress → Resolved → Closed) inline without leaving the page.
📊 Owner Dashboard
- New Support Tickets widget on the Owner Dashboard showing live counts by status (Open, In Progress, Resolved, Total) and a preview of the 5 most recent tickets.
🔧 Fixes & Improvements
- Product deletion — fixed a silent failure when deleting products that had template data. All related template records are now correctly removed before the product is deleted, with a clear error message shown if anything goes wrong.
- Dashboard progress bars — fixed colour not appearing on the Products and AI Credits usage bars (Tailwind purge issue with dynamic class names).
- Security — removed internal database name from error messages shown in the Custom Content editor.
Custom Content Template & Multi-Instance Support
Introduced a new flexible "Custom Content" template that lets you build custom sections for any Digital Product Passport, with support for multiple independent instances per product.
- New Custom Content template — add fully custom sections to any DPP with mixed content blocks: text, images, and multi-column tables.
- Multi-instance templates — add as many Custom Content blocks as needed per product, each with its own title, content, and live preview card on the DPP overview.
- Template reorder fix — resolved an issue where saving a new template order on the drag-and-drop reorder page silently failed due to a database constraint conflict.
- Improved error messages — category template mapping errors now show the full root cause instead of a generic message.
Auditor Portal & Compliance Access Added
Introduced a dedicated read-only Auditor Portal for manufacturer-invited compliance auditors. Includes lifecycle visibility, governance monitoring, ledger verification, audit exports, and traceability tools aligned with Digital Product Passport audit requirements.
New Auditor Portal & Compliance Access
A new dedicated read-only Auditor Portal has now been implemented within xProduct. Manufacturers can invite external auditors and compliance reviewers to securely access lifecycle and compliance information without edit permissions.
The Auditor role is designed around append-only audit principles and provides visibility into Digital Product Passport lifecycle records, certifications, transfers, blockchain ledger health, and governance data.
Included Auditor Pages
- Auditor Dashboard
- Audit Trail
- Certifications
- Auditor Export Centre
- Governance
- Ledger Health
- Lifecycle Events
- Products & Batches
- QR Scan Analytics
- Transfers
Key Features
- Read-only auditor access
- Append-only lifecycle visibility
- Compliance and governance monitoring
- Blockchain verification visibility
- Exportable audit evidence
- Batch traceability review
- Certification review and download
- QR engagement analytics
This release strengthens xProduct’s Digital Product Passport compliance infrastructure and supports future EU audit and traceability requirements.
Manufacturer Plan — 7-Day Free Trial & Stripe Trial Integration
The Manufacturer subscription plan now includes a 7-day free trial. Customers are required to enter card details at signup but will not be charged until day 8. The trial is handled automatically via Stripe and requires no manual intervention. Pricing and detail pages updated to clearly communicate trial terms.
Stripe Trial Integration
- Added 7-day free trial to the Manufacturer plan checkout session via
TrialPeriodDays = 7inStripeController.CreateCheckoutSession. - Trial applies only to the Manufacturer tier — all other plans (Free, Starter, Teams, Enterprise, Agent) are unchanged.
- Added
PaymentMethodCollection = "always"— card is collected at signup to ensure automatic charge fires on day 8. - If customer cancels before day 7 — £0 is charged. Stripe handles this automatically.
- Added
MissingPaymentMethod = "cancel"— subscription cancelled automatically if no valid card is present at trial end. - Existing webhook handling already supports
trialingsubscription status — no webhook changes required.
Pricing Page Updates
- Added full-width green trial banner to Manufacturer card on
/product-pricing— shows "7-Day Free Trial Included" with pill badges. - Added trial summary box under the price — clearly shows free period, charge date, and cancellation terms.
- Updated Manufacturer CTA button from "Learn more" to "Start Free Trial — 7 Days Free".
- Added fine print under CTA — "Card required · No charge for 7 days · Cancel anytime · £150/month after trial".
Manufacturer Detail Page Updates (/pricing/manufacturer)
- Added green trial banner below page heading with three key trust signals.
- Added day-by-day trial breakdown inside pricing card — Today / Days 1–7 / Day 8 / Cancel before day 7.
- Updated CTA button to "Start Free Trial — 7 Days Free" with rocket icon.
- Added Stripe product description — visible at checkout and in customer billing portal.
Registration Page
- Added "7-day free trial" green badge to Manufacturer tier card.
- Added contextual green notice when Manufacturer is selected — confirms no charge today and trial terms.
Booking System, Brochure Download & Home Page UI Enhancements
This release introduces a live demo booking system via Google Calendar, a full brochure download flow with role-based PDF delivery, admin management pages for brochure types and requests, and significant visual improvements to the Home page including an improved How It Works section and feature grid.
Demo Booking System
- Added Google Calendar Appointment Scheduling for demo bookings.
- Integrated Google Meet — unique meeting link generated automatically per booking.
- Configured availability windows, buffer times, and 48-hour minimum notice.
- Created dedicated /demo page with value proposition, "What to expect" cards, and booking CTA.
- Updated navbar and hero "Book demo" button to route to new /demo page.
Brochure Download System
- Added new BrochureTypes, BrochureAssets, and BrochureDownloads database tables.
- Built fully dynamic brochure system — new business types can be added from admin without any code changes.
- Role-specific PDF assigned per business type (Manufacturer, Producer, Importer, Auditor etc.).
- PDFs uploaded directly from admin to Azure Blob Storage under
showcase/marketing/brochures/. - Public /brochure page with full name, business email, business type dropdown, and math CAPTCHA security check.
- Personal email addresses (Gmail, Hotmail etc.) blocked at validation — business email required.
- PDF download link delivered instantly to user's inbox via EmailService.
- All requests logged to DB with IP address, sent status, timestamp, and error tracking.
- Added /admin/brochure-requests page with stats dashboard (total requests, emails sent, failed, unique emails, downloads per type).
- Added /admin/brochure-types page — add new types, toggle active/inactive, upload PDF per type.
- Added brochure teaser section to Home page with glassmorphism CTA card and brochure thumbnail preview.
Home Page UI Enhancements
- Redesigned How It Works section — numbered gradient badges, enriched step descriptions with concrete examples, and FA6 icon tag lines per card.
- Improved Feature Grid — icons moved into dedicated pill containers above titles, hover effects added, EU 2027 deadline badge added to legislation card.
- Fixed typo in QR Labels section ("ton our" → "on our").
Bug Fixes
- Fixed Send Invite button on Manufacturer Users page not firing — Blazor disabled attribute binding corrected from
"@busy"to"@(busy)". - Fixed xproduct.eu domain — removed GoDaddy WebsiteBuilder placeholder DNS record, domain now resolves correctly to Azure App Service with 301 redirect to xproduct.co.uk.
Manufacturer Lifecycle Improvements, Blog Integration & UI Enhancements
This release introduces major improvements to the Manufacturer Batch Detail page, enhanced Lifecycle Event rendering, refined UI consistency, and a new Blog section on the Home page displaying the latest posts. Several data model alignments and visual improvements were completed to stabilise lifecycle tracking and improve usability.
Manufacturer & Lifecycle Improvements
- Rebuilt Manufacturer Batch Detail page lifecycle section to use the new LifecycleEvent model structure.
- Resolved data loading issues for lifecycle events (Category, Action, Outcome, Partner).
- Improved lifecycle table rendering with proper fallback values when related entities are missing.
- Removed legacy DisplayOrder / BatchId references from LifecycleEvent logic.
- Aligned lifecycle queries with updated EF model relationships.
- Fixed multiple compile-time errors caused by outdated property references.
- Stabilised Add Lifecycle Event flow for correct database insertion.
Manufacturing Timeline
- Maintained dedicated Production Timeline for manufacturing steps.
- Separated non-manufacturing lifecycle events from manufacturing progress steps.
- Improved visual consistency between timeline and lifecycle tables.
Blog System Enhancements
- Added "From the Blog" section to Home page.
- Displays latest two published blog posts dynamically.
- Integrated "Read Post" call-to-action buttons.
- Improved card layout and removed unnecessary keyword text near CTA buttons.
- Ensured Blog Index page filtering and pagination continue to function correctly.
UI & UX Refinements
- Improved gradient buttons and consistent card styling.
- Better spacing and alignment across lifecycle and blog sections.
- Cleaned up visual inconsistencies in tables and action buttons.
Technical Stability
- EF Core model configuration updates for Lifecycle entities.
- Improved null handling for navigation properties.
- Safer fallback display values for missing related data.
- Code cleanup and removal of legacy property references.
Result: Improved lifecycle transparency, more reliable data rendering, and enhanced public-facing content visibility via integrated blog previews.
Advanced Blog System, SEO Automation & Search Engine Integration
Implemented a fully SEO-optimized blog infrastructure including dynamic sitemaps, RSS feed generation, automatic Google & Bing ping on publish, thumbnail support, improved content formatting, and enhanced filtering with pagination. This update significantly strengthens organic search visibility and content scalability for xProduct.
Advanced Blog & SEO Infrastructure Upgrade
This release introduces a comprehensive blog system upgrade focused on SEO performance, content scalability, and search engine automation.
📰 Blog System Enhancements
- Implemented full blog management system with draft, publish, unpublish, and delete functionality
- Added thumbnail image support for blog cards (separate from featured image)
- Improved content rendering with structured Markdown formatting
- Enhanced blog card layout and filtering UI
- Added pagination support for scalable blog growth
🔍 SEO Improvements
- Dynamic blog sitemap (
/sitemap-blog.xml) - Static sitemap separation (
/sitemap-static.xml) - Sitemap index file (
/sitemap.xml) referencing both sitemaps - Automatic
<lastmod>handling for blog posts - Meta Title, Meta Description, Canonical URL, Robots directives support
- OpenGraph & Twitter Card metadata support
- Structured JSON-LD override support
🔔 Search Engine Automation
- Automatic Google sitemap ping on blog publish
- Automatic Bing sitemap ping on blog publish
- Improved indexing speed for newly published content
📰 RSS Feed
- Added RSS feed at
/rss.xml - Includes latest published blog posts
- Proper RFC1123 publication dates
- SEO-ready feed structure for aggregators
🎨 UI & Formatting Improvements
- Improved blog content typography styling
- Better spacing for headings, paragraphs, lists, and dividers
- Improved filter layout alignment and responsiveness
📈 Business Impact
This upgrade significantly improves organic search discoverability for Digital Product Passport (DPP), circular economy, sustainability, and EU compliance-related keywords. The system now provides a scalable foundation for long-term content marketing growth.
Status: Production Ready
Deployment: Azure
Impact: SEO, Marketing, Content Infrastructure
New Feature: SEO-Optimised Blog System with Thumbnails, Filters & Pagination
We’ve launched a fully SEO-optimised blog system for xProduct, including thumbnail support, markdown formatting, pagination, filters, OpenGraph tags, JSON-LD schema, and Azure Blob image storage.
New Feature: SEO-Optimised Blog System
We’ve successfully implemented a fully featured, SEO-ready blog system inside the xProduct platform. This release introduces content management, image handling, structured metadata, filtering, pagination, and Azure Blob integration — designed for performance, scalability, and search visibility.
Core Blog Capabilities
- Create, edit, publish and unpublish blog posts
- Markdown-based content editing using Markdig
- SEO fields: Meta Title, Description, Canonical URL, Robots
- OpenGraph + Twitter Card support
- Optional JSON-LD override for structured data
Image Management (Azure Blob Storage)
All blog images are securely stored in Azure Blob Storage and served via CDN when available.
- Featured Image – displayed at the top of the blog post
- Inline Content Images – inserted directly into markdown
- Thumbnail Image – separate square image for blog cards
Thumbnail support allows better visual control for listing cards without affecting the main featured image.
Thumbnail Implementation
New fields added to BlogPost model:
- ThumbnailImageUrl
- ThumbnailImageAlt
Database configuration was updated and BlogService.UpdateAsync was extended to persist thumbnail changes.
Pagination & Filtering
The public blog page now includes:
- Server-side pagination
- Search (title + excerpt)
- Tag filtering (based on Keywords field)
- Clean UI alignment and improved layout
Pagination prevents performance issues when scaling to large numbers of posts.
Markdown Styling & CSS Improvements
Custom styling for blog content was implemented via .blog-content class:
- Proper spacing for headings (H1–H3)
- Improved paragraph margins
- Styled horizontal rules
- Enhanced list formatting
- Blockquote design improvements
This ensures clean typography and consistent formatting for long-form content.
SEO Enhancements
Each blog post now automatically supports:
- <title> override
- <meta name="description">
- <meta name="keywords">
- Canonical URLs
- Robots control (index, follow, etc.)
- OpenGraph tags
- Twitter Card metadata
- Article JSON-LD schema generation
This significantly improves search engine visibility and social sharing previews.
Technical Notes
- Markdig NuGet package installed
- BlobStorageService extended for blog uploads
- BlogService updated to persist new fields
- ApplicationDbContext model configuration updated
- UI alignment improvements for filter section
- Editor stability fixes (null checks + state handling)
Result
The xProduct platform now includes a production-ready blog system that supports:
- Scalable content publishing
- Structured SEO optimisation
- Azure-native storage architecture
- Professional UI presentation
This lays the foundation for content marketing, compliance updates, industry guidance, and Digital Product Passport thought leadership.
