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)],
Figure 1 - unprivileged user

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).

Figure 2 - widget - mockup (hand)
Figure 3 - widget - google locations - preview

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.

Figure 4 - privileged user

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 :

Figure 5 - group memorials
  • Group memorial details (page)
    • Profile picture
    • Birth date
    • Death date
    • Cemetery information
Figure 6 - group memorial - mockup (1)
  • 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)
Figure 7 - specific language for group memorial - mockup (2)
Figure 8 - language and localization settings