Skip to content

v2.0.0

Choose a tag to compare

@BatLeDev BatLeDev released this 27 Mar 09:51
· 574 commits to master since this release

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