Use Case scenario for multilanguage and multilocation support
In this use-case scenario we will pay attention to:
- Users ( guests or members )
- Memorials ( single or group )
- Memorials language
- Memorials location
- Google Web Service (Google Location API)
UseCase scenario for "guest" (unprivilaged) user
Identify user:
- a.
- HTML5 Geolocation + GmapGeoCoding (Web) – More accurate (need user interaction to allow Geolocation)
- IP2CountryRegionCity (Database) – depends on updates and precision of DB creator
- b.
- Create cookies from response data
- Regions cookie (array) [Region, |country, city|:option ],
- Languages cookie (array) [ with primary language for EN language (if there is no languages then add default lng for EN lng and memorial lng)],
Browse memorials (There will be a widget):
- SerachBox ( GoogleAPI search cities, countries, regions)
- Return string will be JSON array of Country,Region and City values
- After value selection value(s) would fill Region content area
- Region content area ( div )
- jQuery list of rows with delete and accept icons
- Languages ListBox
- Every selected value would be inserted into Languages content area
- Languages Content Area
- jQuery list of rows with delete and accept icons
Default values for this widget will be set from cookies -> Content areas will be filled from cookies.
After saving values (Filter) page will be refreshed with filtered memorials and data will be saved in cookies again (if filtered).
Registartion - verification:
Successful verification will redirect user to Regional – Language Settings page.This page would have same Form as Borwse memorials widget.
Form will be filled with data from cookies and data would be editable (accept and delete same as browse memorials).
After saving data, data will be saved into database. Data would be also saved into cookies.
We would need two more tables:
user_languages (user_id, language_id, is_primary [EN language if exist]);
user_locations (user_id, country, city, region, lat,lng);
USE CASE scenario for authenticate users
Login:
If localization cookies exists, and there is no database values, default localization values will be set from cookies.
If localization data exist in DB , cookies will be overwritten with data from DB.
Create memorials:
If the user has more then one language selected, create memorial page will open a popup window with list of user selected languages.
After selecting languages, the user will be redirected, based on number of selected languages:
If the user selects more then 1 language (this will create group memorial) user will be redirected to :
- Group memorial details (page)
- Profile picture
- Birth date
- Death date
- Cemetery information
- Specific language memorial details ( one page with sections (every language will be one section) )
- Title
- First name
- Last name
- Cause of death
- Keywords
- Regions form (browse memorials form for regions with searchBox)