From wiki.ginstr.com
Revision as of 11:20, 22 June 2016 by Mark (talk | contribs)
Jump to: navigation, search

Overview

To provide a better understanding of creating ginstr apps we will explain some of the key components of GL as well as the purpose of GL itself.

The idea behind ginstr launcher

To find a fast way to create custom B2B Android apps for various clients by using a rapid development environment that is easy for an average person use and understand. Provide the ability to create simple out of the box solutions that work immediately in the field or on desktop computers.

What is ginstr launcher?

A “host” app and “client” apps that are functioning within the GL environment. Each ginstr app is a group (folder) of files (XML) and has a unique name in the base folder of ginstr Launcher. Designer (user) edits and creates files which are stored to external storage of the device. Upon launch of GL those files are “read” and ginstr app is “generated”.

Use cases for ginstr launcher

Company asset tracking client app Case: Company X wants to track internal assets (laptops, mobile phones, tablets, etc…) which they assign to employees. An asset tracking solution should have the ability to save some basic data about the asset as well as pictures and signature of people that assign/accept the asset. They need a system that will provide quick and simple asset entry and tracking in the field which would send data to a central location. Solution: Designer builds ginstr app with necessary elements, incorporates behavior, and specifies data fields. Solution would have the following features: The app can track assets by entering serial numbers or scanning an NFC tag attached to the asset. Entry fields would also include a photo field that uses the devices camera to create a photo, and a signature field that uses the touchscreen to capture the signature and save it. Since ginstr launcher has an integrated database component it would also sync all data entered to a server.

How ginstr launcher works

GL after installation and opening loads defaultApp which represents launcher application which shows login screen. This application is used to create shortcuts for other ginstr apps and for installing/deinstalling ginstr apps from ginstr cloud that are available to user. First screen of default application shows login screen into default ginstr app. User needs to provide credentials (email, password) to enter the app. Once logged in default app will show list of ginstr apps available from the server. If user clicks "install" next to some ginstr app name app will be downloaded from cloud and unpacked to local directory. After that user can click on name of ginstr app to launch it or exit to home screen of Android device and launch the app via shortcut that was generated when installing ginstr app. ginstr app is a group of XML, image, font and other asset files organized into a folder that uniquely represents a ginstr app in ginstr launcher base folder. ginstr launcher uses that group of files to generate and show a client app.

File:login screen defaultApp.png
login screen of defaultApp
File:list of apps available after login.png
list of ginstr apps available to user after login (may be different than on picture depending on assigned ginstr apps to users account)

Preferences

Preferences represent the global settings of ginstr launcher. They define how re-sources are going to be loaded, the behavior of application, etc. Entering to preferences can be achieved by clicking “cog” image displayed in upper right corner of image above. First page when opening settings will look like image below. Note that current selected language for using ginstr launcher is English. Click on “settings” will open next page with options to configure ginstr launcher. Changing configuration data will affect usage in every ginstr app used on device, including language, credentials, etc.

entering to ginstr launcher settings

Select language

Each app can be internationalized to German, English, Spanish and Arabic language providing values folders with strings. In here language can be selected and effects will take place when app is started again. Note that if some string is missing in selected language, string value will taken from different available values folder if string reference exists. This must be fixed for designated strings.xml, so it is highly important to keep strings.xml correct in any time of app update.

ginstr launcher settings screen

Data via Wi-fi only

If this option is checked, ginstr launcher will not permit using 3G/4G data traffic on device for app data replication with ginstr cloud. Each ginstr app is keeping local database structure which is replicated from ginstr cloud to devide and vice versa when new data is made with app. In some cases amount of data can have significant amount for sending to ginstr cloud or to be received from ginstr cloud to device. User can prevent this if in given moment cost charges for data traffic is not acceptable.

ginstr iD credentials

User credentials can be saved here, for users convenience not to manually enter login credential each time app is started. Note that saved credentials will be used in each started ginstr app.

Auto login

When checked starting ginstr app and ginstr launcher will automatically use saved user credentials and execute authentication process. ginstr iD credentials have to be provided before this feature can be activated.

Reply to e-mail address

Optional preference used to define email address which will be used as a reply to email when user receives email from ginstr launcher.

Activate promotional code

This enables using hidden app features, not avaible for regular users. For more information make request to ginstr launcher developers.

About

This open dialog page with info about ginstr launcher version, ginstr app version, image source source and other ginstr information data.

Log files

Clicking on this will create log file of current ginstr app state combined from all actions and data made during app instance and open email client to send this log file to ginstr launcher developers. This log file is useful for developers in enhancement and bug-fixing.

Automation test

Enabling this checkbox affects app usage, displaying widgets which helps automation procedure to collect data for which device modules are needed. For instance NFC reading is often in ginstr app invisible or not selectable to enter data. Automation test enabled will provide additional input boxes to enter NFC tag data and execute NFC tag reading, simulating NFC tag process.

Replication log

Enabling this option will keep log of synchronization data between local app storage and ginstr cloud. In some cases this synchronization may not be successful due to network issues or XML errors.

System log

Enabling system log will keep a log of all actions, data traffic and other process during ginstr apps instances. Note that all log files are stored on device and send from device only. Uninstalling ginstr launcher or ginstr app will destroy those log files. In most cases ginstr apps developer will use settings to switch between language and storing user credentials. It is not required to have checked any log data creation.

General hints and tips

  • While ginstr launcher is online it tries to communicate with the server, when connection is bad or server is having issues if you did at least one successful login you can start ginstr launcher in offline mode.
  • Using any action to go back to login screen will not clear all data from memory app designer still needs to clear the persistent memory. Only restart of ginstr launcher and running the app will purge all persistent data.
  • to save phone numbers and emails please use GnPhoneNumber and GnEmail and not GnEditText
  • To use an account as developer and override all permissions for the app which are controled by SSO, flag for the user account has to be changed to "developer" true (ask someone in Ginstr to do that for you). This will trigger tables and column generation on client side and will ignore all premissions on SSO related to app. If app is not on backend server and not visible in ginstr $defaultApp, copy it to base folder of ginstr launcher and click "create shortcut" button on first screen of $defaultApp. This will create shortcut on home screen and it will be possible to use the app

Debugging ginstr launcher

To have better insight into processes that occur in the background while ginstr launcher is running a log can be obtained via ginstr launcher interface. This log is not documented due to frequent code changes, but you can consult developers about any information that you find in that log.

Log can be obtained in two ways :

  1. After launching the ginstr app, click the settings button (the gear icon), preferences screen will open , find the button “log files” or “LogDaten” which is positioned at the bottom of the screen. Upon clicking the button ginstr launcher will package all log data and ask you to choose application with which you want to send log data. Choose email client and if you want to send log to yourself edit the recipients address, or leave default to send the log to ginstr developers.
  2. Another way to obtain ginstr launcher log is to add a widget to any screen. When button is pressed the same procedure gets executed like when pressing preferences button in previous approach.

Further Reading