iOS 7 Managed App Configuration

Starting with WebDAV Nav+ 2.4, it is now possible to configure and update connections and settings within the app using iOS Managed App configuration (com.apple.configuration.managed)

This will allow system administrators who use an MDM to deploy applications to managed devices to also add and configure those devices remotely. Users will be able to add,edit,delete connections as well as turn on/off other settings within the app.

Sample configuration

<dict>
 <key>config</key>
 <dict>
 	<key>delete_connections</key>
 	<array>
 		<dict>
 			<key>name</key>
 			<string>connection2</string>
 		</dict>
 		<dict>
 			<key>name</key>
 			<string>connection1</string>
 		</dict>
 	</array>
 	<key>static_connections</key>
 	<array>
 		<dict>
 			<key>password</key>
 			<string>1234</string>
 			<key>username</key>
 			<string>user2</string>
 			<key>url</key>
 			<string>http://example.org/webdav/</string>
 			<key>name</key>
 			<string>connection3</string>
 		</dict>
 		<dict>
 			<key>password</key>
 			<string>123</string>
 			<key>username</key>
 			<string>user1</string>
 			<key>url</key>
 			<string>http://example.org/webdav/</string>
 			<key>name</key>
 			<string>connection4</string>
 		</dict>
 	</array>
 	<key>settings</key>
 	<dict>
 		<key>enable_wipe_on_bg_feature</key>
 		<true/>
 		<key>enable_sync_feature</key>
 		<true/>
 		<key>enable_p2p_share</key>
 		<true/>
 		<key>enable_pin_lock</key>
 		<true/>
 		<key>enable_logout_on_bg_feature</key>
 		<true/>
 		<key>enable_trust_all_ssl</key>
 		<true/>
 		<key>enable_toggle_ssl_trust</key>
 		<true/>
 		<key>enable_screencast_server</key>
 		<true/>
 		<key>enable_tv_out</key>
 		<true/>
 		<key>enable_webdav_server</key>
 		<true/>
 		<key>enable_delete_connections</key>
 		<true/>
 		<key>enable_edit_connections</key>
 		<true/>
 		<key>enable_new_connections</key>
 		<true/>
 		<key>enable_school_mode</key>
 		<true/>
 	</dict>
 </dict>
 <key>meta</key>
 <dict>
 	<key>version</key>
 	<string>1.2</string>
 </dict>
 </dict>
   
<dict>
    <key>flat</key>
    <true/>
    <key>delete_connection_name_1</key>
    <string>connection2</string>
    <key>delete_connection_name_2</key>
    <string>connection3</string>
    
    <key>add_connection_name_1</key>
    <string>connection2</string>
    <key>add_connection_url_1</key>
    <string>http://example.org/webdav/</string>
    <key>add_connection_username_1</key>
    <string>username</string>
    <key>add_connection_password_1</key>
    <string>1234</string>
    
    <key>date_format</key>
    <string>MM/dd/yyyy HH:mm</string>
    <key>enable_remember_me</key>
    <true/>
    <key>enable_wipe_on_bg_feature</key>
    <true/>
    <key>enable_sync_feature</key>
    <true/>
    <key>enable_p2p_share</key>
    <true/>
    <key>enable_pin_lock</key>
    <true/>
    <key>enable_logout_on_bg_feature</key>
    <true/>
    <key>enable_trust_all_ssl</key>
    <true/>
    <key>enable_toggle_ssl_trust</key>
    <true/>
    <key>enable_screencast_server</key>
    <true/>
    <key>enable_tv_out</key>
    <true/>
    <key>enable_webdav_server</key>
    <true/>
    <key>enable_delete_connections</key>
    <true/>
    <key>enable_edit_connections</key>
    <true/>
    <key>enable_new_connections</key>
    <true/>
    <key>enable_school_mode</key>
    <true/>
</dict>

Starting with WebDAV Nav+ 1.7.4, it is now possible to configure and update connections within WebDAV Nav using a MDM on pre iOS7 devices.

The app is configured using the "webdavnav" scheme i.e. webdavnav://.......

Add Connections

webdavnav://addconnection?name=test&url=192.168.1.4/Data&user=seanashton&password=test&treefallback=true&returnurl=myapp%3A%2F%2Fdone

The name and url parameters are required.
The user and password parameters are optional. If they are omitted then the user will be prompted for their username and password when connecting to the server.
The treefallback parameter is also optional. If supplied it will enable the Directory tree fallabck mechanism which is used for servers that don't support WebDAV "infinite depth" queries.
The returnurl parameter is also optional. If supplied this URL will be called once the setup of the connection is completed.

Add Multiple Connections

webdavnav://addconnection?name=test&url=192.168.1.4/Data&name2=test2&url2=192.168.1.5/Backup&returnurl=myapp%3A%2F%2Fdone

webdavnav://addconnection?name=test&url=192.168.1.4/Data&name2=test2&url2=192.168.1.5/Backup&school=on
Multiple connections can be configured by numbering the parameters.
e.g.
name, url, username, password
name2, url2, username2, password2
name3, url3, username3, password3
etc

Update Connections

webdavnav://updateconnection?name=test&url=192.168.1.4/Data&user=seanashton&password=test&returnurl=myapp%3A%2F%2Fdone

The name and url parameters are required.
The name parameter is used to locate an existing connection in order to update it.
The user and password parameters are optional. If they are omitted then the user will be prompted for their username and password when connecting to the server.
The treefallback parameter is also optional. If supplied it will enable the Directory tree fallabck mechanism which is used for servers that don't support WebDAV "infinite depth" queries.
The returnurl parameter is also optional. If supplied this URL will be called once the setup of the connection is completed.

School Mode

School Mode can be used to disable a number of features within the app which may not be desirable in a school environment.

These features currently include:

  • In App Purchase (IAP) menu
  • Links to review the app
  • P2P file sharing over Bluetooth and WiFi.
  • Built-in WebDAV server
  • Built-in Screencast server

This should effectively limit how users can share documents directly between devices as well as limit access to additional content.

webdavnav://school/on
webdavnav://school/off