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