Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
3400_how_to:1000_mobile_applications [2026/08/13 00:55] – ↷ Page moved from docs:3400_how_to:1000_mobile_applications to 3400_how_to:1000_mobile_applications localdev3400_how_to:1000_mobile_applications [2026/08/13 07:43] (current) – Imported by DokuWiki Advanced Plugin aware_support3
Line 1: Line 1:
 ====== Mobile Applications ====== ====== Mobile Applications ======
-===== How To... ===== +===== How to... ===== 
-<accordion id="mobileapps" collapsed="true">+<accordion autoclose>
  
-<panel type="primary" title="create a mobile version of a desktop application">+<anchor id="create_a_mobile_version_of_a_desktop_application"
 +<accordion-item title="create a mobile version of a desktop application">
 Starting from version 7.0 all features available for desktop applications are available for mobile applications as well and the other way around. However, because real estate on mobile platforms is severely limited you may want to create a special version for mobile phones and/or tablets that will use slightly different features compared to the desktop application. Starting from version 7.0 all features available for desktop applications are available for mobile applications as well and the other way around. However, because real estate on mobile platforms is severely limited you may want to create a special version for mobile phones and/or tablets that will use slightly different features compared to the desktop application.
  
-To create a mobile version of your application, first create a special visual perspective for a particular access level. Select the “platform support” for this perspective to be “mobile phones” or “phones and tablets”. This perspective should then start all other queries, forms and processes of the mobile application. Most of the time you will just need to create a variation of your regular form, query, process or a visual perspective to be used in a mobile application. For more details see the [[docs:3300_mobile_apps:monaca|AwareIM For Mobile Devices]] document. +To create a mobile version of your application, first create a special visual perspective for a particular access level. Select the “platform support” for this perspective to be “mobile phones” or “phones and tablets”. This perspective should then start all other queries, forms and processes of the mobile application. Most of the time you will just need to create a variation of your regular form, query, process or a visual perspective to be used in a mobile application. For more details see the [[3300_mobile_apps:monaca|AwareIM For Mobile Devices]] document. 
-</panel>+</accordion-item>
  
-<panel type="primary" title="display thumbnails – images with descriptions that the user can tap on"> +<anchor id="display_thumbnails_images_with_descriptions_that_the_user_can_tap_on"
-This feature is very often used in mobile applications. To create a thumbnail view use a custom presentation of query results. See the “[[docs:2500_config_apps:1100_add_edit_queries:0200_display_results|Displaying Query Results]]” section (“[[docs:2500_config_apps:1100_add_edit_queries:0200_display_results:0200_custom_view|Custom Presentation]]” – thumbnail view presentation template). You can use either the “custom template” option or a “custom mobile template” option. The latter uses a special widget that supports grouping, infinite scrolling checkbox selection and operations. +<accordion-item title="display thumbnails – images with descriptions that the user can tap on"> 
 +This feature is very often used in mobile applications. To create a thumbnail view use a custom presentation of query results. See the “[[2500_config_apps:1100_add_edit_queries:0200_display_results|Displaying Query Results]]” section (“[[2500_config_apps:1100_add_edit_queries:0200_display_results:0200_custom_view|Custom Presentation]]” – thumbnail view presentation template). You can use either the “custom template” option or a “custom mobile template” option. The latter uses a special widget that supports grouping, infinite scrolling checkbox selection and operations. 
  
-If you use the “custom template” you will be able to use a “scroll view”, which is very popular for mobile applications – it displays one image at a time and users can swipe to the next or previous image.</panel+If you use the “custom template” you will be able to use a “scroll view”, which is very popular for mobile applications – it displays one image at a time and users can swipe to the next or previous image.</accordion-item
-<panel type="primary" title="display grids – lists with column names">  +<anchor id="display_grids_lists_with_column_names"
-Use regular grids (Queries with standard presentation). If your query uses inline editing or filtering make sure you tick the “Mobile rendering” option for the query (available through the More button)</panel>+<accordion-item title="display grids – lists with column names"> 
 +Use regular grids (Queries with standard presentation). If your query uses inline editing or filtering make sure you tick the “Mobile rendering” option for the query (available through the More button)</accordion-item>
  
-<panel type="primary" title="define mobile application menus">+<anchor id="define_mobile_application_menus"
 +<accordion-item title="define mobile application menus">
 Usually for a mobile application running on a phone you would define two menus – the top toolbar and the slide-out menu (of course, both are optional). Defining the toolbar is simple – you just define a menu of the Toolbar type in the Top Bar frame of your visual perspective. Most likely you will place at least two buttons on this toolbar – the button that slides out the main menu and the button that implements the “Go back” functionality.  Usually for a mobile application running on a phone you would define two menus – the top toolbar and the slide-out menu (of course, both are optional). Defining the toolbar is simple – you just define a menu of the Toolbar type in the Top Bar frame of your visual perspective. Most likely you will place at least two buttons on this toolbar – the button that slides out the main menu and the button that implements the “Go back” functionality. 
  
 To define the “Back button” just define an operation of the “Go Back” type and add it to the toolbar. To define a button that slides out the main menu define this menu for the left or right frames first (the menu must be of the Plain List type). Then define the operation of the “Slide-In Left Frame or “Slide-In Right Frame” types and add this operation to your toolbar. To define the “Back button” just define an operation of the “Go Back” type and add it to the toolbar. To define a button that slides out the main menu define this menu for the left or right frames first (the menu must be of the Plain List type). Then define the operation of the “Slide-In Left Frame or “Slide-In Right Frame” types and add this operation to your toolbar.
  
-You will probably have some real estate left on the toolbar. You can use this real estate for context operations – for example, to display Previous/Next buttons to traverse a form or some other operations invoked from a form or a query. In order to do this you need to designate the “Top Application Menu” as location for your form or query operations (see the [[docs:2500_config_apps:0500_add_edit_objects:0200_defining_forms:0500_operations|Adding/Editing Panel Operations]] section for more details). You can also use a dynamic toolbar at the bottom for such operations. The toolbar will only appear when the corresponding form or query is displayed. +You will probably have some real estate left on the toolbar. You can use this real estate for context operations – for example, to display Previous/Next buttons to traverse a form or some other operations invoked from a form or a query. In order to do this you need to designate the “Top Application Menu” as location for your form or query operations (see the [[2500_config_apps:0500_add_edit_objects:0200_defining_forms:0500_operations|Adding/Editing Panel Operations]] section for more details). You can also use a dynamic toolbar at the bottom for such operations. The toolbar will only appear when the corresponding form or query is displayed. 
-</panel>+</accordion-item>
  
-<panel type="primary" title="display forms"> +<anchor id="display_forms"
 +<accordion-item title="display forms">
 Use regular forms for business objects. Some of the features of business object forms that you may find useful on mobile devices are listed below: Use regular forms for business objects. Some of the features of business object forms that you may find useful on mobile devices are listed below:
  
Line 33: Line 38:
   - Mobile style of the form caption – most of the time you won’t display the default panel header for your mobile forms, because it uses too much real estate. You will either display no header at all or you will display a caption of the form in the middle of the screen. Selecting the “mobile style header” option in the Panel Header dialog will achieve that   - Mobile style of the form caption – most of the time you won’t display the default panel header for your mobile forms, because it uses too much real estate. You will either display no header at all or you will display a caption of the form in the middle of the screen. Selecting the “mobile style header” option in the Panel Header dialog will achieve that
  
-</panel>+</accordion-item>
  
-<panel type="primary" title="display “gallery view”"> ====== +<anchor id="display_gallery_view"
-A popular feature on mobile devices is to show one image at a time with the user being able to swipe back and forth to display the next or previous image. To implement this feature use [[2000_concepts:0700_data_presentation:0200_query_results_custom|Queries in Custom Form]], select the “Use Custom Data Template” option and then tick the “Use mobile scroll view” checkbox </panel>+<accordion-item title="display “gallery view”"> 
 + ====== 
 +A popular feature on mobile devices is to show one image at a time with the user being able to swipe back and forth to display the next or previous image. To implement this feature use [[2000_concepts:0700_data_presentation:0200_query_results_custom|Queries in Custom Form]], select the “Use Custom Data Template” option and then tick the “Use mobile scroll view” checkbox </accordion-item>
  
-<panel type="primary" title="upload an image from camera or photo library of the phone">+<anchor id="upload_an_image_from_camera_or_photo_library_of_the_phone"
 +<accordion-item title="upload an image from camera or photo library of the phone">
 One approach is to define an attribute of the Picture type for one of your forms. //**AwareIM**// will automatically generate controls to upload the image from a camera or photo library. This approach will work in both browser-based mobile applications and native mobile applications.  One approach is to define an attribute of the Picture type for one of your forms. //**AwareIM**// will automatically generate controls to upload the image from a camera or photo library. This approach will work in both browser-based mobile applications and native mobile applications. 
  
Line 45: Line 53:
 <code aim>MOBILE CAMERA SNAP INTO MyObject.MyPictureAttribute </code> <code aim>MOBILE CAMERA SNAP INTO MyObject.MyPictureAttribute </code>
  
-<callout type="primary" icon="true" title="note"> These actions will only work for native mobile applications – they will not work inside the mobile browser. Please see [[docs:3300_mobile_apps]] and [[docs:3000_rule_language|Rule Language Guide]] for more details about these actions.</callout+<alert type="primary" icon="fa info-circle"> 
-</panel>+**note**
  
-<panel type="primary" title="display a picture full screen">+ These actions will only work for native mobile applications – they will not work inside the mobile browser. Please see [[:3300_mobile_apps]] and [[:3000_rule_language|Rule Language Guide]] for more details about these actions.</alert> 
 +</accordion-item>
  
-The quickest way is to define an attribute of the Picture type in some object and then define a special form with one form section and one cell showing the Picture attribute. For more details see the [[docs:3300_mobile_apps:monaca|AwareIM For Mobile Devices]] document.</panel>+<anchor id="display_a_picture_full_screen"> 
 +<accordion-item title="display a picture full screen">
  
-<panel type="primary" title="display a PDF document">  +The quickest way is to define an attribute of the Picture type in some object and then define a special form with one form section and one cell showing the Picture attributeFor more details see the [[3300_mobile_apps:monaca|AwareIM For Mobile Devices]] document.</accordion-item>
-Just define an attribute of the Document type to store your PDF document//**AwareIM**// will automatically generate controls to view the document on mobile devices at runtime.</panel>+
  
-<panel type="primary" title="determine and watch location of the current user"> +<anchor id="display_a_pdf_document"> 
 +<accordion-item title="display a PDF document"> 
 +Just define an attribute of the Document type to store your PDF document. //**AwareIM**// will automatically generate controls to view the document on mobile devices at runtime.</accordion-item> 
 + 
 +<anchor id="determine_and_watch_location_of_the_current_user"
 +<accordion-item title="determine and watch location of the current user">
 It may be necessary for your application to determine the location of the current user – for example, if it needs to calculate users or places of interest closest to the current user.  It may be necessary for your application to determine the location of the current user – for example, if it needs to calculate users or places of interest closest to the current user. 
  
Line 75: Line 89:
  
 Note that all geo location actions can be used in both browser-based mobile and non-mobile applications as well as in native mobile applications. Note that all geo location actions can be used in both browser-based mobile and non-mobile applications as well as in native mobile applications.
-</panel>+</accordion-item>
  
-<panel type="primary" title="build native mobile applications">+<anchor id="build_native_mobile_applications"
 +<accordion-item title="build native mobile applications">
  
-This is explained in the “[[docs:3300_mobile_apps:monaca]]” section in the [[docs:3300_mobile_apps:monaca]] document. +This is explained in the “[[3300_mobile_apps:monaca]]” section in the [[3300_mobile_apps:monaca]] document. 
  
-See [[docs:5000_videos:350_native_mobile_apps]]+See [[5000_videos:350_native_mobile_apps]]
  
-</panel>+</accordion-item>
  
-<panel type="primary" title="remember user credentials to prevent multiple logins">+<anchor id="remember_user_credentials_to_prevent_multiple_logins"
 +<accordion-item title="remember user credentials to prevent multiple logins">
  
 On mobile phones a user may want to login only the first time he/she accesses an application and then the application should remember the user credentials, so that the next time the user accesses the application he/she does not have to login again. //**AwareIM**// provide a form called ''logonM.html'' that includes a checkbox called “Remember me”. If the user ticks this checkbox he/she will not have to login again. The default URL for this form is: On mobile phones a user may want to login only the first time he/she accesses an application and then the application should remember the user credentials, so that the next time the user accesses the application he/she does not have to login again. //**AwareIM**// provide a form called ''logonM.html'' that includes a checkbox called “Remember me”. If the user ticks this checkbox he/she will not have to login again. The default URL for this form is:
Line 93: Line 109:
 To force the browser to display a login form after  the user has already been remembered add the “auto_login=false” to the URL: To force the browser to display a login form after  the user has already been remembered add the “auto_login=false” to the URL:
  
-[[http://localhost:8080/AwareIM/logonOp.aw?domain=BusinessSpaceName&mobile_login=true&auto_login=false|]]</panel>+[[http://localhost:8080/AwareIM/logonOp.aw?domain=BusinessSpaceName&mobile_login=true&auto_login=false|]]</accordion-item>
  
-<panel type="primary" title="send push notifications to a mobile phone">+<anchor id="send_push_notifications_to_a_mobile_phone"
 +<accordion-item title="send push notifications to a mobile phone">
  
 Sending push notifications to mobile phones is only supported for native mobile applications. If you want to send push notifications to mobile phones in your native mobile applications there are several major steps involved. Most of them need only to be done once. Sending push notifications to mobile phones is only supported for native mobile applications. If you want to send push notifications to mobile phones in your native mobile applications there are several major steps involved. Most of them need only to be done once.
Line 137: Line 154:
 MOBILE PUSH MobilePushNotification TO MobilePhone </code> MOBILE PUSH MobilePushNotification TO MobilePhone </code>
 where MobilePhone is process input where MobilePhone is process input
-</panel>+</accordion-item>
  
-<panel type="primary" title="integrate custom Cordova components in native mobile applications">+<anchor id="integrate_custom_cordova_components_in_native_mobile_applications"
 +<accordion-item title="integrate custom Cordova components in native mobile applications">
  
 Cordova plugins are components that provide access to some built-in features of mobile phones, (such as camera or contacts), for which there is no Javascript access. When components are integrated into the system these features become available through some special Javascript functions that the plugin makes available to the developer. Cordova plugins can only be used in native mobile applications. Cordova plugins are components that provide access to some built-in features of mobile phones, (such as camera or contacts), for which there is no Javascript access. When components are integrated into the system these features become available through some special Javascript functions that the plugin makes available to the developer. Cordova plugins can only be used in native mobile applications.
Line 145: Line 163:
 AwareIM integrates some Cordova plugins out-of- the-box and provides rule actions that activate them (for example, ''[[ref:a_f:a:mobile_push|MOBILE PUSH]]'' or ''[[ref:a_f:a:mobile_camera_snap_into|MOBILE CAMERA SNAP INTO]]''. However, there are many plugins around and it is impossible to integrate all of them into //**AwareIM**//. AwareIM integrates some Cordova plugins out-of- the-box and provides rule actions that activate them (for example, ''[[ref:a_f:a:mobile_push|MOBILE PUSH]]'' or ''[[ref:a_f:a:mobile_camera_snap_into|MOBILE CAMERA SNAP INTO]]''. However, there are many plugins around and it is impossible to integrate all of them into //**AwareIM**//.
  
-Still there is a way to do this by adding some custom Javascript to your application. This is described in detail in the [[docs:3500|Programmers Reference Guide]]. +Still there is a way to do this by adding some custom Javascript to your application. This is described in detail in the [[:3500|Programmers Reference Guide]]. 
-</panel>+</accordion-item>
  
 </accordion> </accordion>