Subscribe to this thread
Home - Cutting Edge / All posts - Manifold System

10,011 post(s)
#27-Nov-21 13:29

SHA256: b8de401a9597c90f1386ad32c035a20408bfeae27ee84a43ba0d1688a52f4cad

SHA256: c82061e4fa32d35b8c3cf22e345413f6a37b76a0eec550a561515de2c9e47d18

SHA256: 01fb94c6240c0673a910c2197e6928326e3d198d5283405d8527ff80ab44a14b

We added even more formatting options for field values. We also added a new dataport for KOBO toolbox, a widely used open source technology for data acquisition using mobile clients or a web browser. The data can be hosted on a server provided by KOBO (there are generous free options), or on your own system that has KOBO installed.

The next build will fill missing pieces for features added during the 175.x build series, add various small items based on user feedback, fix outstanding bugs, and go public as 176.0.


10,011 post(s)
#27-Nov-21 13:31


Field values shown in labels are formatted according to the field style specified in the table window.

GEOMWKB values can show type, coordinate count and branch count data if requested by style.

The collation picker shows invalid collations in red.

The language combos in the Style dialogs for field values are replaced with language pickers. A language picker shows a menu with favorite languages plus a command to select a different language using a dialog plus a command to edit favorite languages. By default, the only favorite language is 'neutral'.

The list of supported languages is extended to cover all languages supported by Windows 10. (This increased the number of languages supported in such a way from 200+ to 600+.)

Field values shown in the Info pane are formatted according to the field style.

There is a Style dialog for text fields and a new style for text values: 'u' = URL. If a text field is formatted as a URL, valid URL values are shown as hyperlinks, both in a table window and in the Info pane. The context menu for a URL value includes the 'Open URL' command which opens the URL in a web browser.

There is a new style for numeric values: 'a'/'A' = angle. The style is specified as 'a' <subformat> <side> <decimals>. The subformat can be either 'd'/'D' = decimal degrees, 'm'/'M' = degrees and decimal minutes, or 's'/'S' = degrees, minutes and decimal seconds. If the subformat is empty or unrecognized, it is mapped to 's'. The side can be one of 'n', 'N', 'e', 'E', 's', 'S', 'w', 'W'. If the side is unrecognized, it is mapped to empty. If the side is specified, negative angles are converted to positive ones with the side switched (so, '-130 E' becomes '130 W'). The number of decimals is applied to the smallest term. If the number of decimals is not specified, the system uses the default number of decimals for the language. The Style dialog lists the 'ad', 'am', 'as' style variants and allows specifying the number of decimals and the side.

Vector values formatted using the 'a'/'A' style alternate the side between individual values, if it is specified. If the specified side is 'e' (easting), the first value is formatted as 'e' and the second as 'n' (northing). For 'n', the first value is formatted as 'n' and the second as 'e'. For 'w', the first value is formatted as 'w' and the second as 's'. For 's', the first value is formatted as 's' and the second as 'w'. If there are three values in total, the third value is formatted as plain floating-point (not an angle), to show Z. If there are four values in total, the third value is formatted similarly to the first and the fourth similarly to the second.

There is a new style for numeric values: '#' = choices. The choices are specified as a list of 'key=value' pairs separated by ';'. Keys are integer (not floating-point). The Style dialog includes a separate Choice tab and allows composing the list of choices: you can add a new choice by editing the key of the last choice, you can edit the key or value for any of the existing choices, you can delete one or more of the existing choices by selecting them and pressing Delete. If a numeric value stored in a table does not correspond to any of the choices, it is shown as '# nnnn'. (We are planning to extend this feature to support text fields and support choices stored in tables.)

Editing a boolean value in a table window or in the Info pane shows a menu with choices for 'true' and 'false'.

Editing a numeric value formatted as a choice in a table window or in the Info pane shows a menu with available choices.

Editing a vector value formatted as a choice in a table window or in the Info pane shows a menu with available choices, with a separate submenu for each vector component.

There is a new dataport for KOBO toolbox. The dataport supports the following servers:

  • Kobo Everyone - the default,
  • Kobo Humanitarian - a special server for humanitarian organizations where such organizations can store big data sets for free,
  • Custom - your own server.

To connect, create a user account and enter your API key in the dialog. The dataport allows accessing all assets stored for the account, in read-only mode. (We will allow writes in the future.)

The URL for a KOBO data source can be set to that for a specific asset. This is convenient when the number of assets on the account is large.

The KOBO data source can be refreshed, to pick up changes to the list of assets.

The table on a KOBO data source can be refreshed, to pick up changes to records or fields of a specific asset.

The KOBO dataport translates image / audio / video / file sentinels to URLs.

(Fix) The PostgreSQL dataport no longer fails to determine the schema for a materialized view on PostgreSQL 12+.

End of list.


7,025 post(s)
#27-Nov-21 14:35

See the new videos for KoBo data collection in the field.


9,976 post(s)
#27-Nov-21 19:53

The decision to embrace KoBo is brilliant. Enlightened and generous, and also great marketing (not that I know anything about marketing).

I wonder if we might see direct support for other disaster-relief and humanitarian tools, so that Manifold will become the go-to tool for international organisations generally.


1,935 post(s)
#27-Nov-21 21:53

I'll second that. This is a fantastic addition and opens up a wealth of new possibilities. Thanks very much for supporting this, I can't wait to get my teeth into this new capability.

Additional - I have just seen the choices type. Another winner

Landsystems Ltd ... Know your land |

Mike Pelletier

2,011 post(s)
#29-Nov-21 21:33

Lots of nice additions. Very glad to see Kobo and choices. FWIW, some thoughts on final build.

1. Calendar picker for datetime offers a nice break from keyboarding.

2. Perhaps some slick way to override choice list on the fly, rather than adding it via style.

3. In the coordinate tab for points, show styles for lat/long and allow entering data in the various formats.



10,011 post(s)
#11-Dec-21 14:16

Regarding point 2 - do you mean walking into a table (eg, of roads), seeing a text field with values like 'Paved', 'Unpaved', 'Unknown' and quickly telling the system 'hey, when I add a new record, let me pick from the available options using a combo', populating choices from the available values automatically?

Mike Pelletier

2,011 post(s)
#05-Dec-21 14:12

Can we connect to the KOBO dataport in 9 from an 8 project (via ODBC) that is being served out to the web and have newly added records (by field crews) be automatically refreshed?

Don't know how well it works for them, but I think this is one of the big appeals of ArcGIS Online.


972 post(s)
#05-Dec-21 15:55

using M8 to have access to table ( SQLite) store in M9 work .... i think it should !

I ll check a second time or if not so in M9 before use M8 do inM9 a copy of table in datasource and paste in M9 project outside datasource hiearchy


INFOGRAPHY union , LINK doc , API, deepl & keyboard shortcut


972 post(s)
#05-Dec-21 16:35

no M8 have acces only to "native" table ( store) in M9 not table from table that is a datasource ( create -> new datasource -more-SQLite)

INFOGRAPHY union , LINK doc , API, deepl & keyboard shortcut

Mike Pelletier

2,011 post(s)
#06-Dec-21 14:58

Thanks for information and trying it Lionel. Much appreciated. From Adam's notes above, it looks like we would somehow need to trigger a refresh of the data as well.


10,011 post(s)
#11-Dec-21 14:12

Regarding the refresh, 175.7 automatically refreshes opened tables every 5 minutes based on version data. However, if you access KOBO data from 8 (going through ODBC to 9), you will still have to refresh (Refresh Data) manually.


7,025 post(s)
#13-Dec-21 08:14

and have newly added records (by field crews) be automatically refreshed?

To expand on adamw's comment, about what's been added in 175.7:

"The KOBO dataport automatically refreshes opened tables every 5 minutes. This feature relies on table versions published by KOBO. Table versions do not advance for absolutely all types of changes to the underlying data, but they advance for the most common type of changes - adding new records - as well as for many of the less common types, such as adding or deleting fields."

That's not a web server thing, but it's a great convenience when you're looking at data from KoBo in a 9 project to know that the table you're using will automatically be updated every 5 minutes if any new records are added or if fields are added or deleted.

It's also good the above is basically a zero overhead operation: new records are fetched only when they occur, so there's no downloading of entire tables every five minutes or other load on either the KoBo server or on your internet connection.

Manifold User Community Use Agreement Copyright (C) 2007-2021 Manifold Software Limited. All rights reserved.