docs: design configurable furni import source
This commit is contained in:
1 parent
86cd43def9
commit
1126a70d55
1 file changed
+40
@@ -0,0 +1,40 @@
|
||||
# Furni import hotel source
|
||||
|
||||
## Problem
|
||||
|
||||
The furni import already fetches furnidata through the CMS setting
|
||||
`habbo_gamedata_hotel`, but its public and internal language still refers to
|
||||
Habbo Italy. This makes the active source unclear and gives the impression
|
||||
that the importer is hardcoded to `habbo.it`.
|
||||
|
||||
## Design
|
||||
|
||||
The import page will read `habbo_gamedata_hotel` on the server and pass the
|
||||
normalized hotel value and label to the client. The page will display the
|
||||
active official furnidata source near the import controls, including the
|
||||
resolved `habbo.<hotel>` host.
|
||||
|
||||
Import enrichment warnings will use the resolved hotel label rather than the
|
||||
literal `habbo.it`. Internal furnidata cache APIs and types will be renamed
|
||||
from Italy-specific names to generic official-Habbo names while retaining
|
||||
temporary aliases only where needed to avoid an unsafe all-at-once migration.
|
||||
|
||||
Furniture SWF and icon downloads remain on `images.habbo.com`. That host is
|
||||
Habbo's global asset CDN and must not be derived from the gamedata locale.
|
||||
|
||||
## Data flow
|
||||
|
||||
1. Admin settings stores `habbo_gamedata_hotel`.
|
||||
2. Server-side import code normalizes the value through
|
||||
`getHabboGamedataHotel()`.
|
||||
3. Furnidata and external texts use `www.habbo.<hotel>`.
|
||||
4. The import UI and enrichment messages display the same resolved hotel.
|
||||
5. The in-memory cache remains keyed by hotel, so changing the setting loads
|
||||
the selected locale rather than reusing another locale's data.
|
||||
|
||||
## Verification
|
||||
|
||||
Tests will cover normalized locale URL generation, cache separation after a
|
||||
hotel change, dynamic enrichment text, and the source information passed to
|
||||
the import UI. Existing furni import tests, typecheck, full tests, and the
|
||||
production build must pass.
|
||||
Reference in new issue
Block a user