Skip to content
moellep edited this page Nov 14, 2014 · 10 revisions
  • Collect all strings used in the UI into a single file

  • Useful for co-branding or internationalization

  • Map URIs to and from Tasks

  • Text: strings for user interface

  • Constant: often per-facade configuration

    • ThreePartPage_want_ForumDropDown

    • ThreePartPage_want_dock_left_standard

  • FormError: customize error messages

Facade Value Lookup

  • Calling vs_text('some.really.very.specific.key') or UI.Text->get_value('some.really.very.specific.key', $req)

    • looks for values in the facade repeatedly, starting with most specific

    • pops off the left-most word and looks again

  • Keys used in a framework UI.View are fairly specific

  • Keys in UI.FacadeBase are fairly general

  • Application facades override defaults with more specific keys

UI.Task (not Agent.Task)

The general pattern in BOP: <domain>/<realm>/<task>/<path_info>?<query>

  • domain: directs parser to a UI.Facade with task map

  • realm: is a subset of data, users, permissions (data context)

  • task: a unit of work looked up by uri (or part of email address, or ...)

  • path_info: data for task, if task accepts/wants it

  • query: parameters to ListModel, usually (SQL.ListQuery) (src)

  • parse_uri() handles incoming URIs

  • format_uri() handles outgoing URIs

  • /pub/login -- global URI, no realm

  • ?/mail -- URI with realm place-holder

Implementation

Application facade classes derive from UI.FacadeBase which provides text and URL task routes for BOP's base features.

Clone this wiki locally