Repository navigation
v2.0.0
Highlights
Portals v2 is a complete rewrite of the service, introducing a modern architecture designed for performance, SEO, and maintainability.
New architecture: The project is now split into two distinct services:
- portal — A Nuxt 4 SSR service dedicated to rendering portals, kept as SSR for better SEO through server-side rendering.
- portals-manager — A lightweight Vite service for editing portal content, consistent with the rest of the data-fair service-oriented architecture.
Framework upgrades: Migration to Vue 3, Vuetify 3, and Nuxt 4, with a full monorepo structure (api, ui, portal, shared, types).
TypeScript: The entire codebase has been migrated to TypeScript, replacing the previous contract-based JSON schemas with proper type definitions.
New page editor: A completely redesigned page editor with an improved element system. New element types include topics, contact, tabs, datasets-list, and applications-list. All existing elements have been rewritten with richer configuration options.
Font management: Fonts are now self-hosted and served directly from the portal — no more external CDN dependencies, enabling full offline operation and better performance.
Automatic ingress management: Portal ingresses are now managed automatically, removing the need for manual configuration.
🚀 Features
- api: page groups CRUD operations
- api: automatic ingress management endpoints
- page-element: new element types: topics, contact, tabs, datasets-list, applications-list
- page-element: all existing elements rewritten with enhanced configuration (title sizes, divider styling, card actions, image legends, two-columns layout options)
- portal: page grouping system for organized content management
- portal: responsive navigation with drawer for mobile screens
- portal: personal space for authenticated users
- portal: contact form with email support
- portal: markdown rendering with full formatting support
- portal: social sharing components (Bluesky, X/Twitter)
- portal: cookie acceptance management
- portal: Content Security Policy (CSP) support
- portal: ARIA labels, keyboard navigation, and focus management
- seo: meta tags (og:, twitter:), XML sitemap generation, robots.txt support
⚠️ Known Limitations
- portal: events and news system was minimal at launch and not recommended for production use
- reuses: content reuse system was not yet available in this release