Loading...
 
Skip to main content

History: Offline Trackers

Source of version: 18 (current)

Copy to clipboard
            ! Offline Trackers
{DIV(class="lead")}Tiki Wiki CMS Groupware offers a robust and flexible system for managing data through Trackers. The Offline Tracker feature allows users to interact with Tiki [https://doc.tiki.org/Trackers|Trackers] without requiring a continuous internet connection. This feature ensures that users can continue their work seamlessly, even in environments with unreliable or no internet connectivity. With Offline Trackers, you can cache necessary data, insert items into trackers, and sync your changes once you’re back online.{DIV}

For this we use the [Progressive-Web-App|Progressive Web Application] (PWA) feature.
!! Why this Feature in Tiki?

The Offline Tracker feature enhances the flexibility and accessibility of Tiki Trackers by ensuring that users can continue their work without interruption, regardless of their connectivity status. It allows for uninterrupted data entry and management, making Tiki more robust and versatile for users in remote or mobile environments.

Tiki had [Progressive-Web-App|PWA] feature for a while and was a bit experimental, it needed more work, it wasn't improving. The improvement has resumed in ((Tiki27)) and ((Tiki28)) in these commits:
* https://gitlab.com/tikiwiki/tiki/-/merge_requests/3949
* https://gitlab.com/tikiwiki/tiki/-/merge_requests/4654
[Progressive-Web-App|PWA feature] therefore works better in ((Tiki28)).


!! Requirements

To use Trackers in offline mode, you need:

* Tiki instance ( ((Tiki28)) recommended! ),
* PWA feature enabled and the package [https://dexie.org/|Dexie] installed from Admin Panel,
* Trackers well setup.


!! Setup

__1. Enable the Progressive Web Application feature__:
* Ensure the PWA feature is enabled by navigating to __''Settings > Control Panel > Features.''__
* Under the Global Features tab, enable the Progressive Web Application option.
{img type="fileId" fileId="2072" link="display2072" width="400"  rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"}

__2. Install the Dexie package__:
* Check if the [https://dexie.org/|Dexie] package is installed. If not, you can install it by going to __''Settings > Control Panel > Packages''__.
* On the Packages page, search for npm-asset/dexie in the list and proceed with the installation.
__3. Choose Trackers Allowed for offline usage__:
* Navigate to your Tiki Trackers page 
* Select the Tracker you want to make available offline.
* Click the Properties tab.
* In the popup, select the Features section

{img type="fileId" fileId="2073" link="display2073" width="400"  rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"}

* Check the Allow offline usage option to enable offline functionality for this selected tracker

!! How it works

__Note:__ Currently we support the following fields.

||__Field__ |__Notes__
__Text__ | Support all options but the multilingual option.
__TextArea__ | Supports all options except multilingual and WYSIWYG (requires Vue initialization)
__Dropdown__ | Supports all forms: radios, checkboxes, select, multi-select, select with other
__DateTime__ | Traditional datetime field with dropdowns for month, year, etc
__ItemLink__ | Single/multi-selection with field formatting. Advanced display options to be added later
__ItemsList__ | Relatively full support in both input and output modes
__Files__ |  Supports basic options: type/name filtering, maximum uploads.
__UserSelector__ |  Fully supported except group-list selection (users by groups).
__AutoIncrement__ |  Fully supported
__Checkbox__ |  Fully supported
__JsCalendar__ |  Reuses datetime-picker Vue widget, mostly fully supported. 
__DynamicList__ |  Relatively full support similar to ItemsList. ||


!!! Steps:

* __Choose Trackers for Offline Use:__ Select the trackers you want to use offline by enabling the "Allow offline usage" option in the tracker’s properties.

* __Load Offline Page:__ While connected to the internet, load the offline page to cache the necessary data for offline use.

* __Navigate to the Offline mode page__ Access offline trackers

{img type="fileId" fileId="2074" link="display2074" width="400"  rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"}

* __Work Offline:__  Insert items into all available trackers even without an internet connection.

* __Manage Stored Items:__ If you make a mistake, you can delete temporarily stored items or edit them as needed.

* __Sync Items When Back Online:__ Once you regain internet access, sync the offline changes with the server to update your trackers.

{img type="fileId" fileId="2071" link="display2071" width="400"  rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"}

* __Auto-Sync:__ If you are online while using the offline page, your changes will automatically sync with the server.

* __Validation:__ jQuery validation works with Vue components, ensuring that required fields are validated. Other validation types, such as uniqueness or format checks that require remote verification, are still under development.

!! Conclusion

Offline Tracker feature in Tiki is a powerful tool that allows users to manage their data seamlessly, even in offline environments. By enabling this feature, users  can maintain productivity without worrying about internet connectivity, ensuring that important data can be captured and managed anywhere, anytime. While the feature already supports a wide range of fields, ongoing improvements will continue to enhance its capabilities, particularly in terms of validation and advanced field types.