Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
ddb95d2
Refactored passcode setting UI
Aug 7, 2020
5f8126a
Added class setting allowing passcode enforcement
Aug 7, 2020
67a71cd
Default setting for passcode enforcement - false
Aug 7, 2020
1cff590
Forcing user to setup passcode if corresponding class setting is set
Aug 7, 2020
5f5f074
Removed options which are removed from the app
Aug 11, 2020
a549f1a
Updated MDM documentaion section
Aug 11, 2020
f97fdc1
Added logging and passcode settings
Aug 11, 2020
3573f70
Updated description of log-privacy-mask setting
Aug 11, 2020
e9588d1
Added defaults and XML example for logging stuff
Aug 11, 2020
2d03093
Some corrections in ‘Configurable Settings’ section
Aug 14, 2020
79052b0
Updated to SDK on branch
Aug 14, 2020
1b40dc3
Updated documentation: E-Tag sync time interval setting
Aug 14, 2020
82bd186
Added support for extension deactivation using MDM
Aug 17, 2020
3e7afa2
Updated documentation to latest changes
Aug 17, 2020
2ed12de
Fixed small spelling mistakes
Aug 17, 2020
0808ad9
Added item policy settings to documentation
Aug 17, 2020
abc1b9a
Changed “New in ownCloud” to include app name from .plist instead of …
Aug 31, 2020
80e84b2
Added possibility to use keys Info.plist in ReleaseNotes.plist
Aug 31, 2020
2bf71b1
Changed footer text for branded apps to not ask for AppStore review
Aug 31, 2020
6e4a002
Hiding IAP settings section in case of branded app
Aug 31, 2020
665f66f
Disable review prompt by default if the app is branded
Aug 31, 2020
01fb419
Merge remote-tracking branch 'origin/milestone/11.4.1' into fix/brand…
Sep 16, 2020
98dd22b
Fixed build issues with SDK update
Sep 16, 2020
8ca9739
Merge branch 'fix/branding_fixes' into feature/mdm_enhancements
Sep 18, 2020
2ac1723
Fixed some merge issues after merging branding_fixes which included 1…
Sep 18, 2020
3dda32b
Not allowing user to deactivate passcode if it is enforced via MDM
Sep 18, 2020
9a95567
Fixed build issues regarding method access level in shortcut intents
Sep 21, 2020
4411e31
Added an explanatory message for passcode enforcement
Sep 21, 2020
d8263bc
fixed missing localization values
hosy Oct 2, 2020
0b9518a
- Update to latest develop SDK to fix LogIntro issue
felix-schwarz Oct 5, 2020
9a39a16
- fix remaining issue where LogIntro could be missing after deleting …
felix-schwarz Oct 5, 2020
5984d2a
- update SDK to log message + LogIntro when changing log levels
felix-schwarz Oct 5, 2020
bf34b0b
- update version number to 11.4.2
felix-schwarz Oct 5, 2020
b93eed8
[fix/fp-silent-auth-fail] Notify on authentication failure in File Pr…
felix-schwarz Oct 8, 2020
50638a2
- Diagnostics: make configurable via class settings (MDM/env vars) an…
felix-schwarz Oct 14, 2020
87d5ce3
- add additional env var examples to allow turning on and off certain…
felix-schwarz Oct 14, 2020
5678893
[fix/owncloud.online] Support for entering a custom URL in branded lo…
hosy Oct 14, 2020
990570c
fixed some findings for branded clients:
hosy Oct 14, 2020
5a31fc3
updated app version number
hosy Oct 14, 2020
2b78d71
added app name to fastlane lane owncloud_enterprise_build
hosy Oct 14, 2020
5fbada2
Fixed wrong certificate name for enterprise build
hosy Oct 15, 2020
2252796
#816 fix for saving attachments from iOS Mail.app. It was needed to u…
hosy Oct 19, 2020
be02de3
revert last commit (fix-branch for commit is needed)
hosy Oct 19, 2020
9e0aa47
- fix issue where the badge for "Pending Invites" could get stuck at …
felix-schwarz Oct 19, 2020
1622862
- fix issue where updates to different OCBookmark instances would not…
felix-schwarz Oct 19, 2020
89c20a4
#816 fix for saving attachments from iOS Mail.app. It was needed to u…
hosy Oct 20, 2020
c836280
[feature/directory-picker-favorites] Show Favorite Items in Directory…
hosy Oct 20, 2020
bd5907f
Update docs/modules/ROOT/pages/ios_mdm.adoc
mneuwert Oct 20, 2020
926996e
Mentioned Branding.plist as one of the options to change class settings
Oct 20, 2020
060dd57
Merge branch 'feature/mdm_enhancements' of https://github.com/ownclou…
Oct 20, 2020
e507ed4
code changes for Xcode 12 upgrade
hosy Oct 21, 2020
b247caa
added release notes for release 11.4.2
hosy Oct 21, 2020
9fb423e
- added support for branded terms of use url
hosy Oct 21, 2020
e8d3293
added a key command to close the "More"-Sheet with Escape key
hosy Oct 21, 2020
dc08f56
#822 pre-selecting the filename without the file extension, when tapp…
hosy Oct 21, 2020
eca30d8
updated release notes for upcoming release
hosy Oct 21, 2020
e5dd669
fixed crash in setting section, if URL was not set
hosy Oct 22, 2020
6c86bf0
updated fastlane metadata release notes
hosy Oct 22, 2020
546dd67
added support for help-url button in branded login view with given se…
hosy Oct 22, 2020
99dee53
- project: remove empty "Window" group
felix-schwarz Oct 26, 2020
708dc66
- Fix #810 and #811 via SDK update
felix-schwarz Oct 26, 2020
4da012b
- Turn off "five-seconds-of-404" HTTP simulator option
felix-schwarz Oct 26, 2020
a5abd14
- provide more detailed status messages for when sync actions wait fo…
felix-schwarz Oct 27, 2020
f6ee9c8
- include information on target item with diagnostic information for …
felix-schwarz Oct 27, 2020
3c89e3e
replaced process app name with display app name to use branded app na…
hosy Oct 28, 2020
7a7643d
[fix/branding_fixes] Fixes improving branding (#788)
mneuwert Oct 28, 2020
936ae0a
updated build number to 174
hosy Oct 28, 2020
7151077
added a fastlane lane for building branded clients and prepare IPA fo…
hosy Oct 30, 2020
80fbbb5
fixed keyboard position on small screen sizes for branded login and u…
hosy Nov 2, 2020
ec67a8a
- add handling for new error indicating an auth method is no longer a…
felix-schwarz Nov 2, 2020
3c15236
- disable env setting that limits authentication methods to OAuth2 an…
felix-schwarz Nov 2, 2020
3d3602d
- Add metadata for all app class settings
felix-schwarz Nov 2, 2020
4d468e6
- new MetadataDocumentationTests with testUpdateConfigurationJSONFrom…
felix-schwarz Nov 2, 2020
2aca714
Added fastlane support for preparing the customer assets for a brande…
hosy Nov 3, 2020
5b1af19
added missing fastlane parameter to variable mapping
hosy Nov 3, 2020
cdb3fc2
- fix issue that newly created folders can't be selected when using t…
felix-schwarz Nov 3, 2020
fc49eb4
- address finding (2) in #827 via SDK update
felix-schwarz Nov 4, 2020
8a72191
fixed QA finding (3):
hosy Nov 4, 2020
400406a
updated release notes with file provider fix for newly created folder
hosy Nov 4, 2020
81a2b21
Workaround for multiple photo selection not working on iOS14
Nov 4, 2020
93f7527
- AlertView: fix selector for optionSelected for buttons
felix-schwarz Nov 5, 2020
3982f76
Table-generation with gomplate for docs
michaelstingl Nov 8, 2020
3fcf3c7
- update doc-generating test to no longer escape slashes
felix-schwarz Nov 9, 2020
73853c4
- add generate_docs.sh bash script to:
felix-schwarz Nov 9, 2020
d266176
Fix ios_mdm_tables generation for singular options of status in a cat…
dschmidt Nov 10, 2020
d6d776b
Reduce template duplication.
dschmidt Nov 10, 2020
cad60c0
Add status to ios_mdm_tables
dschmidt Nov 10, 2020
173f82e
- update CONFIGURATION.json with latest changes
felix-schwarz Nov 13, 2020
09b5ab8
Merge branch 'feature/settings-metadata' of https://github.com/ownclo…
felix-schwarz Nov 13, 2020
746fde1
- switch to develop branch
felix-schwarz Nov 13, 2020
ad087f3
Reset eventually previously retained keychain upon re-install
Nov 17, 2020
9e81d98
Not allow cancelling enforced passcode setting
Nov 17, 2020
abb88e6
Removed some test code
Nov 17, 2020
75bca47
Updated oC SDK version to latest develop
Nov 18, 2020
6551b2b
Add possibleValues table to settings description
dschmidt Nov 19, 2020
7c99ef1
Revert accidentally commited changes
dschmidt Nov 19, 2020
00cdd1f
Merge branch 'milestone/11.4.2' into feature/settings-metadata
felix-schwarz Nov 20, 2020
4fb43ac
Merge branch 'master' into feature/settings-metadata
felix-schwarz Nov 20, 2020
b653497
Merge branch 'milestone/11.5' into feature/settings-metadata
felix-schwarz Nov 20, 2020
57b8357
- updated documentation with latest options (via generate_docs.sh)
felix-schwarz Nov 20, 2020
b4c027b
- change ios_mdm_tables.adoc.tmpl to put possible values in code quotes
felix-schwarz Nov 20, 2020
56610ee
- add swiftpm/Package.resolved file
felix-schwarz Nov 20, 2020
2d374b1
- update SDK to fix possible value sorting
felix-schwarz Nov 20, 2020
c574da3
Merge remote-tracking branch 'origin/milestone/11.5' into feature/mdm…
Nov 21, 2020
f915de3
Updated SDK version
Nov 21, 2020
a203bc8
Merge branch 'milestone/11.5' into feature/settings-metadata
felix-schwarz Nov 30, 2020
e4c8dce
Merge remote-tracking branch 'origin/feature/settings-metadata' into …
Dec 1, 2020
826c842
Updated iOS SDK
Dec 1, 2020
24c39e3
Updated iOS SDK and fixed build issues
Dec 1, 2020
16adc22
Passcode setting documented
Dec 3, 2020
6b8a22c
Merge remote-tracking branch 'origin/milestone/11.5' into feature/set…
felix-schwarz Dec 8, 2020
fac3139
Merge branch 'feature/settings-metadata' into feature/mdm_enhancements
Dec 19, 2020
0403ab7
Fixed issue with EarlGrey integration
Dec 19, 2020
0141039
Swift lint warning fixed
Dec 19, 2020
44b9b25
Most of the MDM settings tables are now auto-generated
Dec 19, 2020
6ba69c3
Merge commit 'ddd88a863c264a258857ee324c6acbcf1c6c1d12' into feature/…
Dec 22, 2020
d2842eb
Documentation updates
Dec 22, 2020
a9d9b06
Merge remote-tracking branch 'origin/milestone/11.5' into feature/mdm…
Jan 6, 2021
8b8a077
Updated sdk version
Jan 6, 2021
f950e9f
Merge branch 'milestone/11.5' into feature/mdm_enhancements
Jan 21, 2021
7649992
Fixed a typo
Jan 21, 2021
259d694
Re-generated documentation
Jan 21, 2021
a5a53ba
Fixed a typo
Jan 21, 2021
04e81ae
Dismiss release notes when password is enforced and not set
Feb 1, 2021
e0368b5
Merge with Milestone 11.5.0
hosy Feb 2, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
520 changes: 392 additions & 128 deletions doc/CONFIGURATION.json

Large diffs are not rendered by default.

130 changes: 129 additions & 1 deletion docs/modules/ROOT/pages/ios_mdm.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,143 @@

Starting with iOS 7, Apple added support for {mdm-protocol-ref-url}[managed application configuration].
An MDM server can push a configuration to the iOS App.
The app can access the configuration using the `NSUserDefaults` class.
The app can access this configuration (read-only) using the `NSUserDefaults` class by reading a configuration dictionary under the key _com.apple.configuration.managed_. An app can also observe a system notification (_NSUserDefaultsDidChangeNotification_) to get notified about configuration changes. In addition feedback can be queried back by MDM server. To enable that, app has to write a dictionary with feedback information into user defaults under _com.apple.feedback.managed_ key.
The configuration is basically a key-value dictionary provided as a `.plist` file.

=== Configurable Settings

ownCloud App implements a mechanism internally called Class Settings which can be derived from different sources:

- Environment variables which e.g. can be set in Xcode for testing. In this case setting keys have to be prepended with _oc:_ prefix.
- User preferences accessed by the very same API but stored under _org.owncloud.user-settings_ key.
- Settings dictionary pushed by an MDM Server and accessible using `NSUserDefaults` API under the key _com.apple.configuration.managed_.
- Default settings defined directly in the app sourcecode.
- Branding.plist which is the part of the Xcode project under ownCloud/Resources/Theming. It allows to override class settings by specifying them in the `Configuration` section

This is also an order in which these settings take precedence (environment variables have highest priority). So, when settings are accessed, they are merged and higher priority value for the same key overwrites lower priority ones.

Some settings are accessed only once at runtime and the read value is cached, so that new setting to take effect may a require an app to be terminated and restarted.

==== App Basic Configurations
There are few settings allowing to mark an app installation as BETA and e.g. to supress UIKit animation and review prompt.

include::./ios_mdm_tables.adoc[tag=app]

==== Extensions / Actions
ownCloud app uses internally a plug-in like mechanism called extensions. Extensions are used to implement menu actions mostly found under "+" menu allowing to add new items (Upload media, take photo etc.) or in more menu (Copy, Move, Open in etc.). Using below settings actions / extensions can be disabled. Extensions are enabled by default, however this might depend on licensing requirements of a particular extension.

include::./ios_mdm_tables.adoc[tag=actions]

(*) These extensions might require additional license (in-app purchase, enterprise version).

==== Display Settings
To customize file list UI behevior, following settings are available:

// include::./ios_mdm_tables.adoc[tag=displaysettings]

==== Passcode Enforcement
If your organization policies require users to use a passcode as an additional security barrier for managed apps, the below setting will allow to enforce this requirement.

include::./ios_mdm_tables.adoc[tag=passcode]

==== Bookmark

Below settings allow to configure the app to use a certain server URL and even bind it to this URL only by setting the default non-editable.

include::./ios_mdm_tables.adoc[tag=bookmarks]

==== Item Policies

include::./ios_mdm_tables.adoc[tag=policies]

==== Connection

Settings concerinng HTTP user agent, cookies, background support etc.

include::./ios_mdm_tables.adoc[tag=connection]

===== Server Endpoints

Individually configurable endpoints of the ownCloud server instance.

include::./ios_mdm_tables.adoc[tag=endpoints]

===== Connection Authentication / Security

Settings concerning certificate validation policies.

include::./ios_mdm_tables.adoc[tag=security]

===== OAuth2 Based Authentication

Settings allowing to configure OAuth2 based authentication.

include::./ios_mdm_tables.adoc[tag=oauth2]

==== Shortcuts

Shortcuts are a very powerful way to build automated workflows in iOS. Apps can provide shortcut intents for certain actions. ownCloud app provides certain actions as shortcuts as well (e.g. allowing to get account information, create folder and so on). However in some cases it might make sense to disable shortcuts to minimize security risks. It can be done using following option:

include::./ios_mdm_tables.adoc[tag=shortcuts]

==== Logging
Logging settings control the ammount and type of app internal log messages stored as text files and accessible via settings menu.

include::./ios_mdm_tables.adoc[tag=logging]

== AppConfig XML Example

Here is an example of an XML spec-file based on AppConfig standard with minimal logging settings allowing to change a log level and disable / enable private information masking:

```
<managedAppConfiguration>
<version>1.0.0</version>
<bundleId>com.owncloud.ios-app</bundleId>
<dict>
<integer keyName="log.log-level">
<defaultValue>
<value>4</value>
</defaultValue>
<constraints min="0" max="4" >
</constraints>
</integer>
<boolean keyName="log.log-privacy-mask">
</boolean>
</dict>
<presentation defaultLocale="en-US">
<fieldGroup>
<name>
<language value="en-US">Logging</language>
</name>
<field keyName="log.log-level" type="input">
<label>
<language value="en-US">Log Level</language>
</label>
<description>
<language value="en-US">0 - Debug, 1 - Info, 2 - Warning, 3 - Error, 4 - Off</language>
</description>
</field>
<field keyName="log.log-privacy-mask" type="checkbox">
<label>
<language value="en-US">Log Privacy Mask</language>
</label>
<description>
<language value="en-US">Hide private user's data</language>
</description>
</field>
</fieldGroup>
</presentation>
</managedAppConfiguration>
```

== AppConfig XML Schema

{appconfig-xml-format-url}[The XML format], developed by AppConfig community, makes it easy for developers to define and deploy an app configuration.
It not only supports configuration variables having default values, but also provides a configuration UI description, which can be interpreted by the tool and which generates a plist file.
Moreover, specfile XML is consistently supported by major EMM vendors.

AppConfig conformant spec file tailored to administrator needs and containing one or more of the above settings can be easily created using https://www.appconfig.org/www/appconfigspeccreator/[Config Spec Creator] tool hosted at https://www.appconfig.org[AppConfig website].

== Example: Deployment with MobileIron

1. Open https://appconfig.jamfresearch.com[AppConfig Generator].
Expand Down
Loading