6.0.0-git
2020-08-13

Diff for Doc/Dev/SmartMobileView between and 1

+ SmartMobile View

++ Understanding Horde View Modes

Horde supports a set of different presentation modes for different usage scenarios.

* Basic Mode - Basic Mode is considered to be present in all Horde apps. It is a desktop oriented presentation based mostly on server-generated page contents and full page reloads on any event
* Dynamic Mode - Dynamic Mode is an improvement over Basic Mode, updating only parts of the screen and relying on Ajax to provide JSON data or view partials to update on actions. This allows implementing Single Page Application (SPA) UIs.
* Minimal Mode - Strips most of the CSS layout and graphics to provide a low-bandwidth experience. Historically this was used for phone browsers.
* Smartmobile Mode - Smartmobile Mode is optimized for touch based devices like smartphone and tablet. 

Minimal mode may be phased out in future releases and some features only exist in dynamic mode with no intention to backport them to basic mode. In some apps, Basic and Dynamic behave the same and have been merged.

++ Apps without SmartMobile View

++ Implementing SmartMobile View

+++ Announcing SmartMobile Capability

An App's features array in the $App_Application class must contain a non-null value for the key 'smartmobileView' to announce the capability. This will move the app from the "Regular Apps" ledger to the "Mobile Optimized Apps" ledger in the SmartMobile portal view.

+++ Implementing a SmartMobile ready topbar
+++ Implementing menus and headers

+++ Notable Differences to dynamic

* SmartMobile environment normally doesn't initialize PrototypeJS and Scriptaculous but it loads jQuery and jQuery Mobile.