Sven Ruppert
banner
svenruppert.com
Sven Ruppert
@svenruppert.com
Java and Security by day, Bushcrafting by night
Advent Calendar 2025 – Extracting Components – Part 2

What has happened so far In the first part, the focus was deliberately on the user interface's structural realignment. The previously grown, increasingly monolithic OverviewView was analysed and specifically streamlined by outsourcing key…
Advent Calendar 2025 – Extracting Components – Part 2
What has happened so far In the first part, the focus was deliberately on the user interface's structural realignment. The previously grown, increasingly monolithic OverviewView was analysed and specifically streamlined by outsourcing key functional areas to independent UI components. With the introduction of the BulkActionsBar and the SearchBar, clearly defined building blocks were created, each assuming a specific responsibility and freeing the view from operational details.
svenruppert.com
December 22, 2025 at 6:08 AM
Advent Calendar 2025 – Extracting Components – Part 1

Today marks a crucial step in the evolution of the URL shortener's user interface. After the focus in the past few days was mainly on functional enhancements – from filter and search functions to bulk operations – this day is dedicated to a…
Advent Calendar 2025 – Extracting Components – Part 1
Today marks a crucial step in the evolution of the URL shortener's user interface. After the focus in the past few days was mainly on functional enhancements – from filter and search functions to bulk operations – this day is dedicated to a structural fine-tuning: the refactoring of central UI components. This refactoring not only serves to clean up the code but also creates a clear, modular basis for future extensions as well as a significantly improved developer experience.
svenruppert.com
December 21, 2025 at 6:05 AM
Advent Calendar 2025 – De-/Activate Mappings – Part 2

What has happened so far? In the first part of this article, the new active/inactive model for shortlinks was introduced and anchored at the architectural level. Based on the technical rationale, it was shown that a pure expiration date is…
Advent Calendar 2025 – De-/Activate Mappings – Part 2
What has happened so far? In the first part of this article, the new active/inactive model for shortlinks was introduced and anchored at the architectural level. Based on the technical rationale, it was shown that a pure expiration date is insufficient for modern use cases and that an explicit activity status is required. Based on this, the technical foundations were laid: the core domain model was extended with an…
svenruppert.com
December 20, 2025 at 6:06 AM
Advent Calendar 2025 – De-/Activate Mappings – Part 1

Why an active/inactive model for shortlinks? For many users – especially those who work in the field of software development – shortlinks are much more than simple URL shorteners. They act as flexible routing mechanisms for campaigns, feature…
Advent Calendar 2025 – De-/Activate Mappings – Part 1
Why an active/inactive model for shortlinks? For many users – especially those who work in the field of software development – shortlinks are much more than simple URL shorteners. They act as flexible routing mechanisms for campaigns, feature controls, test scenarios, and internal tools. The requirements for transparency, controllability and clean lifecycle management are correspondingly high. The URL shortener receives an active/inactive model that directly supports these claims.
svenruppert.com
December 19, 2025 at 6:06 AM
Advent Calendar 2025 – Basic Login Solution – Part 2

What has happened so far? In the first part of "Basic Login Solution", the foundation for a deliberately simple yet structurally clean admin login was laid. The starting point was the realisation that even a technically lean URL shortener…
Advent Calendar 2025 – Basic Login Solution – Part 2
What has happened so far? In the first part of "Basic Login Solution", the foundation for a deliberately simple yet structurally clean admin login was laid. The starting point was the realisation that even a technically lean URL shortener requires a clear separation between public-facing functions and administrative operations. The goal was not complete user management, but rather a minimal access barrier that integrates seamlessly with the existing Java and Vaadin architectures.
svenruppert.com
December 18, 2025 at 6:05 AM
Advent Calendar 2025 – Basic Login Solution – Part 1

Introduction The administration interface of a URL shortener is a sensitive area where short links can be changed, removed, or assigned expiration dates. Although the system is often operated on an internal server or in a private environment,…
Advent Calendar 2025 – Basic Login Solution – Part 1
Introduction The administration interface of a URL shortener is a sensitive area where short links can be changed, removed, or assigned expiration dates. Although the system is often operated on an internal server or in a private environment, protecting this management interface remains a fundamental security concern. Accidental access by unauthorised users can not only lead to incorrect forwarding or data loss, but also undermine trust in the overall system.
svenruppert.com
December 17, 2025 at 6:05 AM
Advent Calendar 2025 – Mass Grid Operations – Part 2

What has happened so far... In the previous part, the URL shortener overview was significantly expanded. The starting point was the realisation that the last UI was heavily optimised for single operations and thus quickly reached its limits as…
Advent Calendar 2025 – Mass Grid Operations – Part 2
What has happened so far... In the previous part, the URL shortener overview was significantly expanded. The starting point was the realisation that the last UI was heavily optimised for single operations and thus quickly reached its limits as soon as larger volumes of shortlinks needed to be managed. To resolve this bottleneck, the grid was consistently switched to multiple selection, creating the technical basis for actual mass operations.
svenruppert.com
December 16, 2025 at 6:05 AM
Advent Calendar 2025 – Mass Grid Operations – Part 1

The next stage of the Advent calendar focuses on further development, which becomes immediately noticeable once more shortlinks are used. The previous interaction patterns in the Overview view were geared toward individual operations and yielded…
Advent Calendar 2025 – Mass Grid Operations – Part 1
The next stage of the Advent calendar focuses on further development, which becomes immediately noticeable once more shortlinks are used. The previous interaction patterns in the Overview view were geared toward individual operations and yielded only limited efficiency gains when processing many objects simultaneously. Today, this paradigm is being deliberately broken up and replaced by an interplay of new UI concepts that, for the first time, enable true multi-operation, context-sensitive work, and a much more stringent user interface.
svenruppert.com
December 15, 2025 at 6:05 AM
Advent Calendar 2025 – From UI Interactions to a Deterministic Refresh Architecture

After the first part explained the conceptual basics and the new interactions among global search, search scopes, and advanced filters, the second part focuses on the technical mechanisms that enable these…
Advent Calendar 2025 – From UI Interactions to a Deterministic Refresh Architecture
After the first part explained the conceptual basics and the new interactions among global search, search scopes, and advanced filters, the second part focuses on the technical mechanisms that enable these interactions. It is only the revised refresh architecture – above all the interaction of safeRefresh() and RefreshGuard – that ensures that the OverviewView remains calm, deterministic and predictable despite numerous potential triggers.
svenruppert.com
December 14, 2025 at 6:06 AM
Advent Calendar 2025 – From Simple Search to Expert Mode: Advanced Filters and Synchronised Scopes for Power Users

Since its inception, the URL shortener's continuous development has focused on two core goals: a robust technical foundation without external frameworks and a modern, productive user…
Advent Calendar 2025 – From Simple Search to Expert Mode: Advanced Filters and Synchronised Scopes for Power Users
Since its inception, the URL shortener's continuous development has focused on two core goals: a robust technical foundation without external frameworks and a modern, productive user interface that is both intuitive and efficient for power users. As part of the current development stage, an essential UI module has been revised – the OverviewView, i.e. the view in which users search, filter and manage all saved shortenings.
svenruppert.com
December 13, 2025 at 6:06 AM
Advent Calendar 2025 – Introduction of multiple aliases – Part 2

Today's update introduces another practical development step for the URL shortener. After the last few days were dedicated to UI refinement and the better structuring of detailed dialogues and form logic, the focus is now on an…
Advent Calendar 2025 – Introduction of multiple aliases – Part 2
Today's update introduces another practical development step for the URL shortener. After the last few days were dedicated to UI refinement and the better structuring of detailed dialogues and form logic, the focus is now on an aspect that plays a significant role in the everyday life of many users: the flexible management of multiple aliases per target URL. You can find the source code for this development status on GitHub under…
svenruppert.com
December 12, 2025 at 6:05 AM
Advent Calendar 2025 – Introduction of multiple aliases – Part 1

Introduction: More convenience for users With today's development milestone for the URL Shortener project, a crucial improvement has been achieved, significantly enhancing the user experience. Up to this point, working with short…
Advent Calendar 2025 – Introduction of multiple aliases – Part 1
Introduction: More convenience for users With today's development milestone for the URL Shortener project, a crucial improvement has been achieved, significantly enhancing the user experience. Up to this point, working with short URLs was functional, but in many ways it was still linear: each destination URL was assigned exactly one alias. This meant users had to create a new short URL for each context or campaign, even when the destination was identical.
svenruppert.com
December 11, 2025 at 6:05 AM
Advent Calendar – 2025 – From Grid to Detail: Understanding the User Experience in the Short-URL Manager

The current UI from the user's point of view On the first call, the user lands in the overview. The site is built on a Vaadin grid, whose header contains a search bar, paging controls, and a…
Advent Calendar – 2025 – From Grid to Detail: Understanding the User Experience in the Short-URL Manager
The current UI from the user's point of view On the first call, the user lands in the overview. The site is built on a Vaadin grid, whose header contains a search bar, paging controls, and a small settings button with a gear icon. The most essential flow begins with the table displaying immediately understandable columns: the shortcode as a clearly typographically separated monospace value with copy action, the original URL as a clickable link, a creation time in local format, and an expiration badge that visually communicates semantic states such as "Expired", "Today" or "in n days" via theme colours.
svenruppert.com
December 10, 2025 at 9:32 AM
Advent Calendar – 2025 – ColumnVisibilityDialog – Part 2

Server-Side Extension: PreferencesHandler and REST Interfaces The server-side extension for dynamic column visibility follows the same design logic as the UI: simplicity, clear accountability, and a precise data flow. While the OverviewView…
Advent Calendar – 2025 – ColumnVisibilityDialog – Part 2
Server-Side Extension: PreferencesHandler and REST Interfaces The server-side extension for dynamic column visibility follows the same design logic as the UI: simplicity, clear accountability, and a precise data flow. While the OverviewView and the ColumnVisibilityDialog form the interface for the interaction, several specialized REST handlers handle the processing and persistence of the user settings. Their job is to process incoming JSON requests, validate them, translate them into domain operations, and return or store the current state.
svenruppert.com
December 9, 2025 at 12:43 PM
Advent Calendar – 2025 – ColumnVisibilityDialog – Part 1

From observer to designer: User control at a glance With the fourth day of the Advent calendar, the perspective on the application changes fundamentally. While in the previous expansion stages users reacted primarily to prepared structures,…
Advent Calendar – 2025 – ColumnVisibilityDialog – Part 1
From observer to designer: User control at a glance With the fourth day of the Advent calendar, the perspective on the application changes fundamentally. While in the previous expansion stages users reacted primarily to prepared structures, an element of active design is now being added. The "Overview" has so far been a central mirror of the system state: It showed all saved short links, allowed them to be filtered and provided an in-depth insight into individual objects with the detailed dialog.
svenruppert.com
December 8, 2025 at 9:42 PM
Advent Calendar – 2025 – Detail Dialog – Part 2

Client contract from a UI perspective In this project, the user interface not only serves as a graphical layer on top of the backend, but is also part of the overall contract between the user, the client, and the server. This part focuses on the data…
Advent Calendar – 2025 – Detail Dialog – Part 2
Client contract from a UI perspective In this project, the user interface not only serves as a graphical layer on top of the backend, but is also part of the overall contract between the user, the client, and the server. This part focuses on the data flow from the UI's perspective: how inputs are translated into structured requests, how the client forwards them, and what feedback the user interface processes.
svenruppert.com
December 7, 2025 at 6:05 AM
Advent Calendar – 2025 – Detail Dialog – Part 1

Classification and objectives from a UI perspective Today's Advent Calendar Day focuses specifically on the interaction level prepared in the previous parts. While the basic structure of the user interface and the layout were defined at the…
Advent Calendar – 2025 – Detail Dialog – Part 1
Classification and objectives from a UI perspective Today's Advent Calendar Day focuses specifically on the interaction level prepared in the previous parts. While the basic structure of the user interface and the layout were defined at the beginning, and the interactive table view with sorting, filtering and dynamic actions was subsequently established, it is now a matter of making the transition from overview to detailed observation consistent.
svenruppert.com
December 6, 2025 at 6:05 AM
Advent Calendar – 2025 – Persistence – Part 02

Today, we will finally integrate the StoreIndicator into the UI. Vaadin integration: live status of the store Implementation of the StoreIndicator Refactoring inside – The MappingCreator as a central logic. EclipseStore – The Persistent Foundation…
Advent Calendar – 2025 – Persistence – Part 02
Today, we will finally integrate the StoreIndicator into the UI. Vaadin integration: live status of the store Implementation of the StoreIndicator Refactoring inside – The MappingCreator as a central logic. EclipseStore – The Persistent Foundation Additional improvements in the core Before & After – Impact on the developer experience The source code for this version can be found on GitHub at…
svenruppert.com
December 5, 2025 at 6:05 AM
Advent Calendar – 2025 – Persistence – Part 01

Visible change: When the UI shows the memory state With the end of the last day of the Advent calendar, our URL shortener was fully functional: the admin interface could filter, sort, and display data page by page – performant, cleanly typed, and…
Advent Calendar – 2025 – Persistence – Part 01
Visible change: When the UI shows the memory state With the end of the last day of the Advent calendar, our URL shortener was fully functional: the admin interface could filter, sort, and display data page by page – performant, cleanly typed, and fully implemented in Core Java. But behind this surface lurked an invisible problem: All data existed only in memory.
svenruppert.com
December 4, 2025 at 6:05 AM
Advent Calendar – 2025 – Filter & Search – Part 02

In the previous part, we looked at the implementation on the server side. This part is now about the illustration on the user page. The source code for the initial state can be found on GitHub under . The following screenshot shows this state of…
Advent Calendar – 2025 – Filter & Search – Part 02
In the previous part, we looked at the implementation on the server side. This part is now about the illustration on the user page. The source code for the initial state can be found on GitHub under . The following screenshot shows this state of development. The focus of this Advent calendar day is on the introduction of targeted…
svenruppert.com
December 3, 2025 at 6:05 AM
Advent Calendar – 2025 – Filter & Search – Part 01

With the Vaadin interface described in [Part III], our URL shortener has a fully functional administration console available for the first time. It allows viewing existing short links in tabular form and managing them manually. But after just a…
Advent Calendar – 2025 – Filter & Search – Part 01
With the Vaadin interface described in [Part III], our URL shortener has a fully functional administration console available for the first time. It allows viewing existing short links in tabular form and managing them manually. But after just a few dozen entries, a clear limit becomes apparent: displaying all saved mappings is neither performant nor user-friendly. An efficient shortener must be able to scale – not only when generating, but also when searching through its data.
svenruppert.com
December 2, 2025 at 6:06 AM
Introduction to the URL‑Shortener Advent Calendar 2025

December 2025 is all about a project that has grown steadily in recent months: the Java-based URL Shortener, an open-source project implemented entirely with Core Java, Jetty, and Vaadin Flow. The Advent calendar accompanies users every day…
Introduction to the URL‑Shortener Advent Calendar 2025
December 2025 is all about a project that has grown steadily in recent months: the Java-based URL Shortener, an open-source project implemented entirely with Core Java, Jetty, and Vaadin Flow. The Advent calendar accompanies users every day with a new feature, a technical deep dive, or an architectural improvement – from the basic data structure and REST handlers to UI components and security aspects.
svenruppert.com
December 1, 2025 at 9:22 AM
For my German followers - Vaadin Flow Tutorial: Starte deine Java Web App mit meinem Template-Projekt - no Spring / JakartaEE - www.youtube.com/watch?v=Vq4Z... #vaadin #java
Vaadin Flow Tutorial: Starte deine Java Web App mit meinem Template-Projekt - no Spring / JakartaEE
YouTube video by Sven Ruppert - german
www.youtube.com
September 16, 2025 at 8:46 AM