Jump to: navigation, search
(Update 23.01.2018)
Line 58: Line 58:
<span id="upcoming_release_ginstr_web" STYLE="font-size: large">ginstr web:</span>
<span id="upcoming_release_ginstr_web" STYLE="font-size: large">ginstr web:</span>
* '''[[ginstr_web#Automated_Reports|Automated Reports]]''' now follow settings from export column rather than web column
* '''[[ginstr_web#Automated_Reports|Automated Reports]]''' now follow settings from the "export" column in the '''report''' tab rather than "web" column
* a '''context menu''' icon has been added to the top-right corner of each table portlet
* a '''context menu''' icon has been added to the top-right corner of each table portlet
::this icon has the same function as right-clicking anywhere inside the table portlet to display the context menu
* '''date & time''' selection displays localized AM/PM value
* '''date & time''' selection displays '''localized AM/PM value'''
::(e.g. if German is selected as the display language, <code>vorm. / nachm.</code> is displayed instead of <code>AM / PM</code>)
* '''date & time formatting''' is refactored with '''localized formats for date & time'''
::(e.g. if German is selected as the display language, <code>Freitag, 25. August 2017, 12:45:06</code> is displayed instead of <code>Friday, August 25, 2017, 12:45:06</code>; <code>12:50:33 nachm.</code> is displayed instead of <code>12:50:33 PM</code>)
* '''attachment editors''' now use [ React]
* '''attachment editors''' now use [ React]
* '''date & time formatting''' is refactored with modified formats for date & time
* backend support for storing both original and current value of <code>[[Datatypes#pointer|pointer]]</code>
* backend support for storing both original and current value of <code>[[Datatypes#pointer|pointer]]</code>
Line 72: Line 75:
* It is now possible to use '''[ geo-fences]''' in ginstr apps
* It is now possible to use '''[ geo-fences]''' in ginstr apps
* New '''[[using_ginstr_web#System_tables|system table]]''' for [[SSO_supervisor_specific_content|supervisors]] that logs which devices are online
* New [[using_ginstr_web#System_tables|system table]] '''system:devices''' for [[SSO_supervisor_specific_content|supervisors]] that logs which devices are online
==Update 19.01.2018==
==Update 19.01.2018==

Revision as of 23:23, 23 January 2018

ginstr logo main.png web updates

This wiki page lists all important new features of each update

Update 23.01.2018

This is a combined ginstr launcher / ginstr web update. The following features have been added:

ginstr launcher:

Action is used to set the format when outputting targets as strings
QR, barcode & NFC widgets recieve data upon code/tag scan and store it into the results table as text values.
Action is used to ensure uniqueness of values in ginstr apps
Action is used to convert copy content from source widget of one datatype and store value as required to a destination widget of another datatype
  • crash logs are now updated to contain the serial number of the device
Action is used to read value from a text target and store the value into text targets
  • new feature to store 10 most recent crashes in the $debug folder and implement getBugReports command to extract those crashes from the device
  • new transaction mechanism to ensure data consistency when executing app business logic
  • New action: gn:act_getGeofence
Action is used to support the use of geo-fences in ginstr apps
Action is used to delete a ginstr web table record using a ginstr app
Action is used to detect whether the GPS module is activated on the device
  • it is now possible to define the colour of the border for GnCheckBox widgets
  • a dialog window will now be shown on log-in if a database requires reindexing
Action is used to return the user to Login screen
Action is used to set the focus on a defined widget.

ginstr web:

  • Automated Reports now follow settings from the "export" column in the report tab rather than "web" column
  • a context menu icon has been added to the top-right corner of each table portlet
this icon has the same function as right-clicking anywhere inside the table portlet to display the context menu
  • date & time selection displays localized AM/PM value
(e.g. if German is selected as the display language, vorm. / nachm. is displayed instead of AM / PM)
  • date & time formatting is refactored with localized formats for date & time
(e.g. if German is selected as the display language, Freitag, 25. August 2017, 12:45:06 is displayed instead of Friday, August 25, 2017, 12:45:06; 12:50:33 nachm. is displayed instead of 12:50:33 PM)
  • attachment editors now use React
  • backend support for storing both original and current value of pointer
  • It is now possible to use geo-fences in ginstr apps

Update 19.01.2018

This is a ginstr web update. The following features have been added:

  • generic plugin for scheduling alerts
This plugin allows recurring tasks which should be completed at regular intervals (e.g. hourly, daily, weekly monthly etc) to be scheduled automatically.
A new "task list" system table is used to configure recurring tasks and their associated alerts and statuses. Pre-alerts can be send to specified recipients as a reminder, with additional alerts for completed or missed tasks.
  • automatic selection of language and timezone for new accounts based on user browser settings
ginstr web will now detect and apply the language and timezone of a new user automatically during initial set-up.
  • option in filter dialog to hide records that contain some value
In the filter dialog window, a new
button can be used to hide records with cells which contain the text string entered. Initially this feature is available for text datatype only.
  • data.xml now supports generation of records with attachments
  • SSO ticket authorization via cookie rather than URL string
Cookie authorization allows quick, seamless transition between ginstr web applications.
  • content of e-mails that are sent from ginstr tables can now be encrypted
For security & privacy, the option to "Encrypt automatic reports when sending" is now available for reports sent via e-mail. Attachments are encrypted AES Winzip compatible.
Encrypted attachments can only be opened upon entering the correct password, which is specified in ginstr web.
  • "read-only" attribute is implemented for all datatypes
Setting this option means that a record can be created via a ginstr app but cannot be modified later in ginstr web.
Using this datatype, tasks can be scheduled to be executed at regular intervals. The following options are available:
  • hourly
  • daily
  • weekly
  • bi-weekly
  • monthly
  • quarterly
  • yearly
  • bi-yearly
  • improvement of signature datatype
This update allows multiple signatures to be stored in a single cell of a ginstr web table
Previously, variables used in automated reports were in English only. This update adds translation of variable names for all supported languages.
  • various bug fixes and improvements

Update 13.10.2017

This is a ginstr launcher update. The following features have been added:

ginstr launcher:

  • Resume ginstr app from home screen
If a ginstr app is running and the device home button is pressed to return to the home screen, the app can now be resumed by pressing the app icon. This will return to the ginstr app screen which was active before returning to the home screen rather than restarting the app completely.
Action is used to vibrate the device in a pattern according to set parameters
Action is used to play beep sound according to set parameters
Action is used to calculate driving distance between two GPS coordinates and store the result into target
Action is used to retrieve device serial number and store into target
Typing a search string in the new search field at the top of the $defaultApp screen after login to ginstr launcher will filter the list of installed apps to show only those app names containing the search string entered.
  • New 2-step query system
Improved query engine reduces the database size by up to 80% and improves indexing speed by only returning document id and revision upon query. Full document retrieval is then carried out following selection of query result.
Minimises delay when deleting characters from entry field in app
  • Dropdown fields with data entry errors are now highlighted by colour
If a data entry error results from a dropdown field within an app, the dropdown which caused the error will be highlighted in a different colour on-screen for clarity.
  • New command: getDeviceHardwareInfo
Remote command which retrieves device hardware information from specific device
Widget which will be used in situations with large dropdown data (100+ entries) and manual search is not viable.
GnAutoCompleteTextView widget looks like an EditText but after entering a few characters it will show options for selection. It will have the same abilities as current control GnDropDown and it will be "recognized" as pointer datatype widget.

Update 12.09.2017

This is a ginstr web update. The following features have been added:

For tables containing date & dateTime datatypes, the following additional predefined filter options are now available in the filter settings dialog window:
  • next week (Mo-Su) (or Su-Sa depending on applied settings)
  • next complete month
  • next year (Jan-Dec)
  • this quarter (starts on Jan 1, Apr 1, Jul 1, Oct 1)
  • previous quarter (starts on Jan 1, Apr 1, Jul 1, Oct 1)
  • next quarter (starts on Jan 1, Apr 1, Jul 1, Oct 1)
Plugins handle certain complex functionalities which cannot be handled in any other way (for example executing some calculations based on data in two separate tables, or sending e-mails based on data which requires certain information from different tables of an app etc..). The plugin names have been simplified for clarity on the plugins section of the SSO 'My account page', which shows a list of all plugins installed for that specific account and allows the main user to modify the settings of each of those plugins if necessary.
The currently selected timezone can be changed in the General Settings section of the ginstr web account settings page

Update 01.07.2017

This is a ginstr launcher update. The following features have been implemented:

The settings options are now accessible directly by clicking on the settings icon in top left corner of the screen
  • new command resetDatabaseReinstallApps
A new command has been implemented that can be sent from ginstr web to one or more phones.
This command removes all apps and data from the phones, then re-installs previously installed apps.
The command can be used in case there is some unpredictable behaviour of the software on a phone.
  • custom filename of photo taken in app
This new feature allows the ginstr app designer to define the pattern for the file names of photos taken with a phone inside a ginstr app.
Wherever date or time formats are shown in a ginstr app it is now possible for ginstr app designer to request that these dates or times are shown in format selected in ginstr web settings.
  • hide text on QR code widget
It is now possible to completely hide text on QR code widget and show only an image instead.
  • auto sort of dropdowns
All dropdowns in all ginstr apps are now auto sorted "ascending" by default unless different behaviour is requested; this is also effective for all existing ginstr apps
ginstr launcher allows recording signatures of users, clients etc.
ginstr launcher also allows sending emails based on some event: for example, it is possible to automatically send an email after storing a damage report with a ginstr app directly from the phone to responsible managers including formatted HTML emails.
It is now possible to show signatures in HTML emails sent by ginstr launcher.
  • add pictures to cell with existing pictures
If previous pictures exist in a table cell then it's now possible to take additional pictures via ginstr app which will be added to those existing instead of replacing them.
GnChronometer widget can now use custom date and/or time format

Update 26.06.2017

This is a ginstr web update. The following features have been implemented:

  • New system tables for data export logs and data export errors
During the initial export of data, the following system tables are created:
  • system: data exports
  • system: data export - errors
These tables can be found in the 'system tables' section of the portlet chooser.
  • Improved access rights for system tables
A new functionality exists for the following system tables:
  • system: automated reports
  • system: automated reports - errors
  • system: data exports
  • system: data export - errors
  • system: data imports
  • system: data import - errors
This new feature ensures that the information stored in these tables can only be viewed by responsible persons as follows:
  • the information stored in the above system tables related to reports requested by a main user can only be viewed by this main user;
  • the information stored in the above system tables related to reports requested by a sub user can only be viewed by this sub user and the main user;
  • Improved data export feature
  • In case you do not have read access to any related table, it was not possible before to export 'all tables of a ginstr app' or a 'table with dependencies'
Now such export is possible and pointers in columns of exported tables where columns are pointing to other tables will be replaced by the values of the pointed table instead of exporting the pointers.
This means that it will NOT be possible later to re-import this data into the same table because this would destroy the pointers.
  • The possibility to export data including settings which were set in export dialog. These settings are included in a separate properties file and enable that on import of data it is not relevant which settings are chosen in import dialog but data will be always imported based on the settings in included properties file
  • Improved automated reports settings
A feature has been implemented that allows adding the following variables to the e-mail body section:
  • $dateFrom
  • $dateTo
  • $reportType
  • $reportName
  • $requestingUserAccount
  • Import / export of big amount of data has been improved
The previous version of ginstr web failed with a timeout error when importing / exporting a big amount of data; this has been fixed.
  • Sub accounts handling improvements
  • input fields have been added to the subaccount management screen in SSO which allows each user of a sub account to enter their first name and last name when creating a new account;
  • main user can now modify the sub account username (which is typically the e-mail address of the sub account user)
Until now, subaccount user information was handled in SSO and not on ginstr web.
For some ginstr apps, this meant that it was mandatory to setup a separate app user table on ginstr web for supporting some required business logic on top of just logging in. In return this meant, that it was required for those customers to maintain user information in two different places: SSO and ginstr web.
With the new implementation it is possible now to
  • access SSO user information on ginstr web and from ginstr apps
  • add columns to ginstr web user table such as assignments, date of birth, or any information that is required for particular ginstr apps. The core user information including SSO user name, first name, last name, NFC ID etc, are all synchronised automatically between SSO user management and ginstr web user table.
Please contact ginstr support if you would like to update your app in order to use this new feature. This service will be free of charge.
  • Possibility to define the horizontal allocation of numbers in the cells of a table
It is now possible to define for each column with number datatype, if the number should be shown on the left bound, right bound or centred as follows:
  • for self-created tables you can adopt this setting in 'edit columns' context menu option
  • for ginstr apps tables, it will be defined by the ginstr app developer
  • 'assign all' / 'unassign all' feature in assignment datatype editor
The assignment datatype allows to assign records of a table to another table and vice versa.
A table with 'members' exists and another table with 'clubs'. With the assignment datatype, it is possible to assign several 'members' to one 'club' and to assign several 'clubs' to one 'member'.
So far it was possible to add a record to the list of assigned records and to remove a record from list of assigned records.
With the new feature, it is now on top possible to add / remove all records of a table to/from the list of records assigned to another table.
  • Fixing pointer values
Pointers in table cells allow to point to a cell of another table.
A home healthcare business has two tables:
  • one table with residents and
  • one table with services rendered to these residents.
In this case the table 'services rendered' might point to column 'last name' of table 'residents'. This has the benefit that if you click on a resident you will automatically see all services rendered to this resident.
Now imagine one of these residents marries and therefore changes their last name. Master data in table 'residents' would then be updated accordingly. In this case, there are two options now regarding the pointed last name in table 'services rendered' for all reports recorded before the marriage:
  • show the actual last name before the marriage
  • show the last name taken after the marriage even for the reports recorded before the marriage
The new option 'fix value' for columns with pointer datatype allows you to decide whether the new last name should be used in the above example for viewing older reports or if the last name should be used which was valid at the time a report has been created.
  • possibility to publish plugins for ginstr apps and to modify settings of those plugins in SSO
Plugins handle certain complex functionalities which cannot be handled in any other way (for example executing some calculations based on data in two separate tables, or sending e-mails based on data which requires certain information from different tables of an app etc..).
With this new feature, there is a possibility to publish plugins for ginstr apps and also in SSO 'my account' section, there is a separate section for all plugins installed for that specific account where main user can modify the settings of those plugins if needed.
  • 'adopt reports to selection in table' functionality for formatted reports
This new button 'adopt reports to selection in table' is activated by default and enables a selection of records in related table to be automatically displayed in formatted reports portlet as only content. When deactivating the button 'adopt reports to selection in table' then changing the selection of records in related table does not affect the content which is displayed in formatted reports portlet.

Update 26.05.2017

This is a ginstr launcher update. The following features have been implemented:

Update 02.04.2017

This is a combined ginstr launcher / ginstr web update. The following features have been added:

ginstr launcher:

  • Questionnaire feature now supports decimal AND integer numbers
  • Faster and more reliable replication by improving the indexing mechanism and the database compaction
  • Importing of ginstr app initial data from data.xml files when app tables are generated in the ginstr cloud:
Potential users of ginstr apps often want to try the functionality of some ginstr apps for better understanding the power of ginstr apps and ginstr web.
Most of the apps require entering some master data in order to try the most powerful features of the app.
In order to make the testing of ginstr apps as seamless as possible it is possible now to store demo data inside a ginstr app in data.xml file and to load this demo data into the ginstr app master data tables when activating an app the first time for a specific user account.
For ginstr apps using dynamic questionnaires this feature can be used to provide default questionnaires which can then be modified by the users as required.
This allows providing apps with specific questionnaires without any development work but just filling the data.xml file with the desired questions.
  • New action: generate report and store it in the database

ginstr web:

Along with new Advanced Reports functionality, Automated Reports allows you to schedule automated reports which are generated and sent via e-mail to predefined recipients at defined times.
  • Create report on phone, convert it instantly and automatically into a designed form and send it by e-mail to predefined recipients.
The first ginstr customer using this feature will use it to send flat handover protocols to all involved parties after creating such a protocol when moving into a flat or when moving out from a flat.
  • Functionality to enter directly some URL to go to a workspace in ginstr web
It is possible now to copy the URL of a ginstr web workspace and to use it later to return to the same workspace.
In case since the last login more time expired than configures for the time-out, a new login will be requested and after successful login the program will return to the desired workspace.
Creating unique sequence numbers (e.g. order numbers, invoice numbers etc.) is critical for many ginstr customers.
In most cases new documents are created with a ginstr app. Since ginstr apps can work offline it is not 100% sure that a newly assigned sequence number will be in all cases unique because a phone might be currently offline and therefore other phones might not be notified immediately about the newly assigned sequence number.
In order to handle this issue a new datatype auto-increment has been implemented which works as follows: instead of assigning a new sequence number in a ginstr app immediately a placeholder will be used and as soon as the phone is able to exchange data with ginstr web the server side software will assign a unique sequence number. This new sequence number will then be replicated to all involved parties.
  • Storing of the column sequence per table as new default
This updated default settings will be used in case a table will be newly assigned to a portlet.
In case user selects this option while a report is shown which is different from RAW DATA then the column sequence of the report will be stored as new default for RAW DATA.
  • Migration from CouchDB to Couchbase
Main benefit: significantly faster replication of data from the ginstr cloud to the app on the mobile devices
This feature is important for ginstr apps or customers that use the same app or table for users with different languages.
Example: in case an application uses "radio buttons" or some other selection widget which comes with translations it is necessary that those displayed values map to some internal "fixed" value which will be shown in each language differently.
  • Export and import of table data in XML format:
The current version of ginstr web allows importing and exporting data in CSV and in Excel format. This new version adds import and export in XML data format. This extends the possibility to exchange data with 3rd party applications significantly.
  • Renaming of subaccounts:
As it is in current version when the main user creates a subaccount he/she defines the username (i.e. e-mail address) and once the subaccount is created there is no possibility for the main account user to modify the sub account user name (e-mail) but he/she can only delete this subaccount and create a new subaccount with a new username in this case.
This new version allows the main user changing the username of an existing subaccount. A subaccount user cannot change his/her username.
  • Improved quick search functionality of the portlet chooser:
The portlet chooser allows defining which content should be shown in a particular portlet. Users which have to handle a multitude of tables (e.g. because they use use multiple apps each with multiple tables and/or which might have created several individual tables) can search for a specific table in the portlet chooser by entering parts of the table name into the 'quick search' input field.
This new version now also includes ginstr app names into the search so it becomes easier to find the tables of a particular app.
  • Uniqueness validation on columns in different tables:
Sometimes there is a requirement that the same value must not be used in different tables.
Example: a ginstr app uses NFC tags as well for identifying employees as for identifying assets.
In this case it might be desired that an NFC tag used for identifying an employee must not be used for identifying an asset at the same time.
This new version of ginstr web allows defining columns of different tables which must not have duplicate content in any of the cells of these columns.

Plus apps:

  • Use number stored on NFC tag instead of NFC tag id if present

Update 28.12.2016

Previously, ginstr web reports were limited to filtering rows, hiding columns, calculating various subtotals, totals, averages etc.
With the new Advanced Reports feature it is now possible to design literally any report template similar to an Excel report, PowerPoint report or similar including text information, charts like pie charts or bar charts, tables.
Complex aggregation and examination of multiple tables etc. Advanced Reports can then be easily generated for any record(s) in ginstr web and exported in CSV, Excel, PDF or RTF format.
Such reports can be designed according to your wishes, so they could look, for example, like your current invoices, your current work reports for your clients etc.
In current version if you click on a row in a table which is pointed by another table then this dependant table is filtered automatically in case this feature has been activated for this table.
This means, that for example if you click on a customer then all his orders are shown or if you click on a construction machine then all operating hours on all construction sites are shown.
While a pointer always points to exactly one entity (e.g. to one customer or to one construction machine) when using the assignment datatype you can create an m:n relationship.
This means you can for example assign m children in a school to n courses and each child can be a member of none, one or multiple courses.
The filtration for assignment datatype is now available in new version, so now in case you click on one row in a table all assigned items in another table will be filtered.
Example: you click on one child and then all courses will be shown this child is attending. At the same time, if you click on a course then all children will be selected attending this course.
This also works in case you select multiple records at the same time in one table for filtering the other table.
Currently there are two methods for storing data in reports:
  • use pointers
  • copy data from master data
imagine you have an app with following tables:
  • customers - holds master data of all customers
  • products - holds master data of all products
  • orders - holds a report of all orders of all customers
In this case the 'orders' table might consist of the following columns:
  • customer name
  • product name
  • quantity
  • order date
  • etc.
Now imagine a customer's name is Lisa Miller. After a few orders Lisa marries her husband and her new surname is now 'Knight' instead of her maiden name 'Miller'.
This would mean that in case we use a pointer datatype pointing from 'customer name' in 'orders' table to 'customer' in 'customers' table then after changing her last name to 'Knight' also all older orders would show the name 'Knight' but at that time her name was yet 'Miller'.
On the other side, in case we copy (!) her name into table 'orders' then after changing her name and ordering some more products there would be orders with name 'Miller' and orders with name 'Knight' in table 'orders' and the software would not know that this is the same person so it would be impossible to find all orders of this individual.
In order to overcome this situation the new feature 'allow pointer/assignment datatype to not update value' was implemented. It works as follows:
In case you use a pointer datatype or an assignment datatype for pointing from table 'orders' to table 'customers' then in case the customer changes her name the old name would be shown for the orders executed before her marriage and the new name would be shown for all orders executed after her marriage.
Despite that, when clicking on the customer row in table 'customers' then the filtering of the 'orders' table would show as well the 'Miller' orders as the 'Knight' orders, so no historic information will be lost anymore.
Power users might make extensive use of filtering and selecting records in multiple tables of one workspace for various reports.
In some cases it is pretty time consuming to unselect all previously selected records in all tables on the screen. Therefore the new option "unselect all" has been implemented which allows unselecting all selected records of all tables currently visible on the screen. You can find this option in top right corner of the screen after clicking on your name.
The following existing ginstr apps have been updated to support the recently implemented datatype dateTimeDiff:
This datatype allows creating a column in any table which automatically calculates the time difference between two timestamps present in the same row of a table.
This feature allows, for example, calculating automatically a working time in case a table contains a column with check-in times and a column with check-out times.
All existing data of all users of the above listed apps has been adopted to the new datatype.
The ginstr Plus© apps are those which not only record work done, material loaded etc., but also allow task scheduling with alerts in case scheduled tasks are not executed on time.
Plus© apps exist for various industries including:
Implementation of new 'tours' feature provides much more flexibility regarding the assignment and grouping of scheduled tasks.
Tours allow you to group scheduled tasks in to convenient predefined routes, with each tour consisting of several visits in a predefined sequence. Each visit within a tour is assigned to an NFC tag at the specified work location. When the NFC tag is scanned by the employee, they are shown a screen with one or more services which are presently required at the current work location. When the required services have been carried out, the app informs the employee which work site to visit next. It is easy to define the expected preparation time or travel time between visits in a tour. There is no limit on the number of visits per tour or on the number of tours you can define, and each tour can be easily assigned to different employees and scheduled to begin at regular or irregular start times.
For more information please click on one of the above mentioned apps to view the details in the related user manual.

Update 14.12.2016

The kiosk mode allows to run the ginstr launcher app exclusively on smartphones which are intended to be used exclusively for ginstr apps. The kiosk mode can be activated on each device by long-pressing anywhere on the app login screen and selecting 'kiosk mode' from the resulting context menu. The kiosk mode is password protected and prevents the smartphone from being used for any other apps/functions other than ginstr launcher.
The kiosk mode can also be activated/deactivated remotely by supervisors using remote commands.
  • Enhanced comparator validator for decimal numbers:
    Now it is validated the number of digits on the left side of the decimal point of each entered value against set value for maximum number of digits limit. Before total entered number of digits was validated including the digits on the right side of the decimal point.
  • Performance improvements through improved indexing mechanism:
    Thru improved indexing mechanism the indexing is much faster now and less power consuming.
  • Reduced database size:
    In the ginstr cloud no revision of any records will be deleted for maintaining a fully revision-proof set of data.
    But in the local database on the phones purging of old revisions of database records can improve the speed and user experience significantly. Therefore a reduction of stored revisions has been implemented as follows:
    as database records are updated by the user either on the phone or in ginstr web they will be reduced to 10 revisions per document and will be kept on that amount.

Update 21.11.2016

This was a ginstr launcher update only. The following features have been implemented:

  • questionnaire feature:
ginstr launcher allows now creating apps which can handle lists of items where multiple items can be modified or saved at the same time (i.e. creating a list of employees and modifying the assignment to a department of multiple employees at the same time. When finished with list modifications items can be saved or updated to ginstr web at the same time.
  • dropdown enhancement:
ginstr launcher offers now a possibility to show the content of two textual columns in dropdown display item.
  • maintenance support:
According to Google there are currently over 13,500 different smartphone and tablet models running Android OS. Therefore it is not possible to test the ginstr apps on all existing devices.
This means in return, that in rare cases ginstr apps are not working as intended on certain devices.
ginstr always tries to find the root cause and to implement some solution. In order to do so it is very important for our developers to understand the root cause of the problem.
A very good source of information for finding the root cause is the system log. This is an internal ginstr app feature that allows to write each and every step of a program to a file and then later to examine it.
For creating a log file on a failing device and for downloading the file to the computer of the developer for further examination the following remote commands have been implemented; they can be sent to a phone from inside your account; the log file will then arrive in your account and can from there be downloaded to any computer:

Update 03.11.2016

This was a ginstr web update only.

  • Language and time format are now dependent:
    • When changing the language, the time format will also change to the appropriate format.
    • If the user selects a different time format, then this time format will always be used in the future independent of the selected language.
  • The import/export functionality has been improved:
    • It is now possible to import/export tables along with all dependant tables in one step. Dependant tables are tables that are connected to other tables with pointers or assignments.
    • Since long time there is an option to show/hide columns of tables. Now it is possible to choose if exported data will contain the data of hidden columns or not
  • For user created tables (tables not belonging to a ginstr app) the following enhancements have been implemented:
    • It is now possible to change the datatype of a column as long as no data stored in the table. This makes it more convenient to create tables and to edit their structure.
    • It is now possible to delete user created tables
    • It is now possible to select the horizontal position of the content of columns with assignment datatype
  • The document datatype has been improved. It is now possible to upload the following file formats:
    • pdf
    • xlsx
    • xls
    • csv
    • docx
    • doc
    • pptx
    • ppt
  • The 'setup' screen of ginstr web has a new section "GENERAL INFORMATION' which shows some information about relevant components of ginstr web.
  • Users with SUPERVISOR user rights have now the possibility to set a maximum number of rows for each table.

Update 17.10.2016

This was a ginstr launcher update only. This is mainly a maintenance release for fixing various bugs.

The following feature has newly been implemented in this ginstr web release:

  • Support of different styles:
This allows the developer of apps to adopt existing apps easily to different colours, layouts etc. without the necessity to clone the app. This will reduce the amount of maintenance work for such apps significantly.

Update 07.10.2016

This was a ginstr web update only. The following new features are newly implemented in this ginstr web release:

  • Possibility for the main user to set in SSO main user account the amount of rows to be displayed in ginstr tables before the big data filter is applied on the table;
Default value is 10,000 rows but some browsers and/or computers depending on available memory, type of browser etc. allow many more rows to be displayed at the same time in the browser;
the rows of all tables shown in a work space are adding to the memory consumption.
  • Possibility to either download pictures or to open them full size in a new tab and to drag them from there to the desktop or to any other application.

Update 01.09.2016

This was a ginstr launcher update only. The following features have been implemented:

This allows our support team tracking down issues experienced on single smartphones as well as on groups of smartphones.
For now such commands are only available for our support team. We have plans to provide several commands for our customers in the next period of time.
  • Names of taken images, audios, videos on device now when saved to the database have names identical like on backend.
As a backup location in case media files would get deleted on backend its possible to retrieve them from the smartphones and associate them (again) with records
  • Support of new datatype dateTimeDiff
    This datatype can be used to calculate the difference between two time stamps which is useful for example for calculating the working time by deducting the end time from start time.
In ginstr web this means that such calculation is updated as soon as either the start time or the end time is updated manually or through a ginstr app.
  • The automatic database cleanup process has been improved which reduces the space used by the database on Android device.

Update 12.08.2016

This was a ginstr web update only. The following new features are newly implemented in this ginstr web release:

in case you do not want to to chat with the ginstr team through the ginstr web support chat, you can disable the popup window on ginstr web;
the support chat is a very convenient, fast and free way to get in contact with one of the ginstr consultants in case you have a question
  • Natural table names are displayed in SSO:
this makes it more convenient for you to identify each table.
  • 'Today' filter is not pre-set anymore for filters of date and dateTime datatype but can be set by the user like any other filter;
  • French language is enabled in SSO and ginstr web as well as on []
In case the user changes one of the two columns then the dateTimeDiff value will be re-calculated instantly.
The time difference is shown in decimal hours (1 hour = 100 units)
  • New improved export/import dialog
  • More flexible pointers to 'Customers' table in all Plus© apps:
customers can now be assigned to level-1, level-2 and level-3 entities.
Example for the cleaning app:
so far customers have been assigned to properties. This makes no sense in case the cleaning company has contracts with different companies renting office space in the same property. Now it is possible to assign customers not only to properties but also to cleaning zones or even to single rooms.
  • Optimisation of the amount of messages that appear in table system: data import errors
  • Extended implementation of permissions:
there is a new feature now that allows the main user to configure for sub accounts if they can log in to ginstr web or only to some ginstr apps
  • For better remote support a set of features has been implemented that allows ginstr experts to send remote commands from ginstr web to a phone running a ginstr app to execute some command, e.g. produce and download a log file, force ginstr launcher update, force database rebuild etc.
  • Enhanced replication mechanism avoids unnecessary replication of data from the ginstr cloud to the phones. This reduces SIM card airtime costs as well as the time required to sync the database after logging in.

Update 08.07.2016

This was a ginstr launcher update only. The following features have been implemented:

ginstr apps can now read iBeacons and can execute actions based on that.
if a smartphone of a bus driver recognises the iBeacon mounted to a bus stop then the name of the bus stop can be pulled from the database based on the unique iBeacon ID and can be shown or further used in the ginstr app.
  • The ginstr servers can now force smartphones to drop old data on a phone and to renew it by replicating it from scratch to the phone.
This allows to recover e.g. from a corrupt database on a phone automatically.
  • Various speed enhancements for the ginstr launcher:
- asynchronous loading of layouts
- database pre-initialization
- direct access and execution of widget xml methods/attributes
- optimised login process
- modified initial replication mechanism to include start indexing execution
- initial indexing for all database views
  • Images are now compressed to a size of near to 100kB to reduce the amount of data that must be transmitted;
in case you would like to store bigger pictures then please contact your ginstr representative.
  • Shortcuts on the home screen are now generated depending on the selected language
  • Various enhancements for optimised automated testing
  • Bug fixes

Update 27.05.2016

  • For most apps backend table headlines are now translated into English, French, German, Spanish;
    for the other apps this can be done pretty fast if required.
  • All apps have at least English and German translation, most have now Arabic, English, French, German and Spanish translations
  • It is possible now to define in each ginstr app if some column of a table should be visible in the backend or if it should be hidden
  • It is possible now to configure "replication definitions" in each app for
    • pictures
    • audio
    • video
    • documents
    • signatures

This reduces the amount of data replicated between the servers and the mobile devices significantly in case such data is not required on each mobile device.

  • It is possible now to configure in each ginstr app if clicking on some records in a table with pointers should filter dependent tables automatically; by default this feature is enabled
  • It is possible to define default order of columns for app tables
  • Big data handling:
Modern browsers like Google Chrome or Firefox still have limitations regarding the amount of data they can handle at the same time. In case too much data is loaded into a browser their execution gets very slow or can even stop them completely.
In order to avoid such situation, a time period filter has been implemented which is activated automatically in case a ginstr table contains more than 10,000 records. In this case only a maximum of 10,000 records are loaded based on a time period selected by the user. Basis for record selection is the record creation date and time.
For setting this time period a new filter icon.png icon appears in the top right corner of a portlet in case the portlet contains a table with more than 10,000 records.
Totals and sub-totals in reports in this case are calculated for the selected time period.
There are different options now to select the data to be exported:
  • Export all records independent of any selected time period in the time period filter settings
  • Export all visible data
  • Improvement of data export to Excel file format:
Excel 'number' and Excel 'date' formats are now supported
  • Assignments to columns shows the number of the row to which the record refers instead of the cell content
  • User locale has been added to exported file name
  • Filters that are applied on tables stay applied after reloading ginstr web
  • An error message is displayed in case the user tries to delete a record that is pointed by another record
  • It is possible now to remove a previously uploaded customer logo from ginstr web
  • Bug fixes

Update 10.02.2016

  • Besides data import/export from/to CSV files now also data import/export from/to Excel .xlsx files is available
  • Table and column names are now automatically adapted to the language selected by the user in case such translations have been specified in the related ginstr app
  • New generic portlet content: 'edit record details':
this feature is very helpful for editing records of tables with many columns: all columns are presented BELOW each other similar to a paper form; editing of the data works exactly the same way like editing the data in a horizontal line of the table grid.
  • Support of Arabic language
  • Support of Spanish language
  • The sequence of the tabs of a table can be rearranged by dragging and dropping each tab
  • Help text has been added in three places in top right corner:
1) in each portlet with a table: this help text explains all important table edit features
2) in table report edit screen: this help text explains how to configure one or multiple reports per table
3) edit record details screen
The help window can be dragged around to any position on the screen
  • Improved status reports for reports waiting to be generated in the report generation waiting queue
  • Advanced supervisor functionality related to removing tables and applications
  • Bug fixes