Skip to content

Commit 93d6b5c

Browse files
authored
clean up links and markdown (#6067)
1 parent b39893f commit 93d6b5c

7 files changed

Lines changed: 204 additions & 192 deletions

File tree

uwp/apps-for-education/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,21 @@ The following resources will help you write a Universal Windows app for educatio
1616

1717
## Accessibility
1818

19-
Education apps need to be accessible. See [Developing apps for accessibility](https://developer.microsoft.com/windows/accessible-apps) for more information.
19+
Education apps need to be accessible. See [Accessibility](/windows/apps/design/accessibility/accessibility) for more information.
2020

2121
## Secure assessments
2222

2323
Assessment/testing apps will often need to produce a *locked down* environment in order to prevent students from using other computers or Internet resources during a test. This functionality is available through the [Take a Test API](take-a-test-api.md). See the [Take a Test](/education/windows/take-tests-in-windows-10) web app in the Windows IT Center for an example of a testing environment with locked down online access for high-stakes testing.
2424

2525
## User input
2626

27-
User input is a critical part of education apps; UI controls must be responsive and intuitive so as not to break the focus of their users. For a general overview of the input options available in a Universal Windows app, see the [Input primer](/windows/apps/design/input/input-primer) and the topics below it in the Design & UI section. Additionally, the following sample apps showcase basic UI handling in the Universal Windows Platform.
27+
User input is a critical part of education apps; UI controls must be responsive and intuitive so as not to break the focus of their users. For a general overview of the input options available in a Universal Windows app, see the [Interaction primer](/windows/apps/develop/input/input-primer) and the topics below it in the Design & UI section. Additionally, the following sample apps showcase basic UI handling in the Universal Windows Platform.
2828

2929
- [Basic input sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BasicInput) shows how to handle input in Universal Windows Apps.
3030
- [User interaction mode sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/UserInteractionMode) shows how to detect and respond to the user interaction mode.
3131
- [Focus visuals sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlFocusVisuals) shows how to take advantage of the new system drawn focus visuals or create your own custom focus visuals if the system drawn ones do not fit your needs.
3232

33-
The Windows Ink platform can make education apps shine by fitting them with an input mode that students are accustomed to. See [Pen interactions and Windows Ink](/windows/apps/design/input/pen-and-stylus-interactions) and the topics below it for a comprehensive guide to implementing Windows Ink in your app. The following sample apps provide working examples of this API.
33+
The Windows Ink platform can make education apps shine by fitting them with an input mode that students are accustomed to. See [Pen interactions and Windows Ink](/windows/apps/develop/input/pen-and-stylus-interactions) and the topics below it for a comprehensive guide to implementing Windows Ink in your app. The following sample apps provide working examples of this API.
3434

3535
- [Ink Analysis sample](https://github.com/microsoft/Windows-universal-samples/tree/main/Samples/InkAnalysis) demonstrates how to use ink functionality (such as capturing, manipulating, and interpreting ink strokes) in Universal Windows apps using JavaScript.
3636
- [Simple ink sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/SimpleInk) demonstrates how to use ink functionality (such as capturing ink from user input and performing handwriting recognition on ink strokes) in Universal Windows apps using C#.
@@ -42,4 +42,4 @@ Education apps are often released under special circumstances to a specific orga
4242

4343
## Related Topics
4444

45-
- [Windows 10/11 for Education](/education/windows/index) on the Windows IT Center
45+
- [Windows for Education](/education/windows/index) on the Windows IT Center

uwp/apps-for-education/take-a-test-api.md

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@ ms.localizationpriority: medium
1212

1313
[Take a Test](/education/windows/take-tests-in-windows-10) is a browser-based UWP app that renders locked-down online assessments for high-stakes testing, allowing educators to focus on the assessment content rather than how to provide a secure testing environment. To achieve this, it uses a JavaScript API that any web application can utilize. The Take-a-test API supports the [SBAC browser API standard](https://www.smarterapp.org/documents/SecureBrowserRequirementsSpecifications_0-3.pdf) for high stakes common core testing.
1414

15-
See the [Take a Test app technical reference](/education/windows/take-a-test-app-technical?f=255&MSPPError=-2147217396) for more information about the app itself. For troubleshooting help, see [Troubleshoot Microsoft Take a Test with the event viewer](troubleshooting.md).
15+
See the [Take a Test app technical reference](/education/windows/take-a-test-app-technical) for more information about the app itself. For troubleshooting help, see [Troubleshoot Microsoft Take a Test with the event viewer](troubleshooting.md).
1616

1717
## Reference documentation
18+
1819
The Take a Test APIs exist in the following namespaces. Note that all of the APIs depend on a global `SecureBrowser` object.
1920

2021
| Namespace | Description |
@@ -47,13 +48,15 @@ The security namespace allows you to lock down the device, check the list of use
4748
<span id="lockDown"></span>
4849

4950
### lockDown
51+
5052
Locks down the device. Also used to unlock the device. The testing web application will invoke this call prior to allowing students to start testing. The implementer is required to take any actions necessary to secure the testing environment. The steps taken to secure the environment are device specific and for example, include aspects such as disabling screen captures, disabling voice chat when in secure mode, clearing the system clipboard, entering into a kiosk mode, disabling Spaces in OSX 10.7+ devices, etc. The testing application will enable lockdown before an assessment commences and will disable the lockdown when the student has completed the assessment and is out of the secure test.
5153

5254
**Syntax**
5355
`void SecureBrowser.security.lockDown(Boolean enable, Function onSuccess, Function onError);`
5456

5557
**Parameters**
56-
* `enable` - **true** to run the Take-a-Test app above the lock screen and apply policies discussed in this [document](/education/windows/take-a-test-app-technical?f=255&MSPPError=-2147217396). **false** stops running Take-a-Test above the lock screen and closes it unless the app is not locked down; in which case there is no effect.
58+
59+
* `enable` - **true** to run the Take-a-Test app above the lock screen and apply policies discussed in the [Take-a-Test app technical reference](/education/windows/take-a-test-app-technical?f=255&MSPPError=-2147217396). **false** stops running Take-a-Test above the lock screen and closes it unless the app is not locked down; in which case there is no effect.
5760
* `onSuccess` - [optional] The function to call after the lockdown has been successfully enabled or disabled. It must be of the form `Function(Boolean currentlockdownstate)`.
5861
* `onError` - [optional] The function to call if the lockdown operation failed. It must be of the form `Function(Boolean currentlockdownstate)`.
5962

@@ -65,12 +68,14 @@ Windows 10, version 1709 or later
6568
<span id="isEnvironmentSecure"></span>
6669

6770
### isEnvironmentSecure
71+
6872
Determines whether the lockdown context is still applied to the device. The testing web application will invoke this prior to allowing students to start testing and periodically when inside the test.
6973

7074
**Syntax**
7175
`void SecureBrowser.security.isEnvironmentSecure(Function callback);`
7276

73-
**Parameters**
77+
**Parameters**
78+
7479
* `callback` - The function to call when this function completes. It must be of the form `Function(String state)` where `state` is a JSON string containing two fields. The first is the `secure` field, which will show `true` only if all necessary locks have been enabled (or features disabled) to enable a secure testing environment, and none of these have been compromised since the app entered the lockdown mode. The other field, `messageKey`, includes other details or information that is vendor-specific. The intent here is to allow vendors to put additional information that augments the boolean `secure` flag:
7580

7681
```JSON
@@ -88,18 +93,20 @@ Windows 10, version 1709 or newer
8893
<span id="getDeviceInfo"></span>
8994

9095
### getDeviceInfo
96+
9197
Gets details about the platform on which the testing application is running. This is used to augment any information that was discernible from the user agent.
9298

9399
**Syntax**
94100
`void SecureBrowser.security.getDeviceInfo(Function callback);`
95101

96-
**Parameters**
102+
**Parameters**
103+
97104
* `callback` - The function to call when this function completes. It must be of the form `Function(String infoObj)` where `infoObj` is a JSON string containing several fields. The following fields must be supported:
98-
* `os` represents the OS type (for example: Windows, macOS, Linux, iOS, Android, etc.)
99-
* `name` represents the OS release name, if any (for example: Sierra, Ubuntu).
100-
* `version` represents the OS version (for example: 10.1, 10 Pro, etc.)
101-
* `brand` represents the secure browser branding (for example: OAKS, CA, SmarterApp, etc.)
102-
* `model` represents the device model for mobile devices only; null/unused for desktop browsers.
105+
* `os` represents the OS type (for example: Windows, macOS, Linux, iOS, Android, etc.)
106+
* `name` represents the OS release name, if any (for example: Sierra, Ubuntu).
107+
* `version` represents the OS version (for example: 10.1, 10 Pro, etc.)
108+
* `brand` represents the secure browser branding (for example: OAKS, CA, SmarterApp, etc.)
109+
* `model` represents the device model for mobile devices only; null/unused for desktop browsers.
103110

104111
**Requirements**
105112
Windows 10, version 1709 or newer
@@ -109,12 +116,14 @@ Windows 10, version 1709 or newer
109116
<span id="examineProcessList"></span>
110117

111118
### examineProcessList
119+
112120
Gets the list of all processes running on the client machine owned by the user. The testing application will invoke this to examine the list and compare it with a list of processes that have been deemed deny-listed during testing cycle. This call should be invoked both at the start of an assessment and periodically while the student is taking the assessment. If a deny-listed process is detected, the assessment should be stopped to preserve test integrity.
113121

114122
**Syntax**
115123
`void SecureBrowser.security.examineProcessList(String[] denylistedProcessList, Function callback);`
116124

117-
**Parameters**
125+
**Parameters**
126+
118127
* `denylistedProcessList` - The list of processes that the testing application has deny-listed.
119128
`callback` - The function to invoke once the active processes have been found. It must be in the form: `Function(String foundDenylistedProcesses)` where `foundDenylistedProcesses` is in the form: `"['process1.exe','process2.exe','processEtc.exe']"`. It will be empty if no deny-listed processes were found. If it is null, this indicates that an error occurred in the original function call.
120129

@@ -129,12 +138,14 @@ Windows 10, version 1709 or newer
129138
<span id="close"></span>
130139

131140
### close
141+
132142
Closes the browser and unlocks the device. The testing application should invoke this when the user elects to exit the browser.
133143

134144
**Syntax**
135145
`void SecureBrowser.security.close(restart);`
136146

137-
**Parameters**
147+
**Parameters**
148+
138149
* `restart` - This parameter is ignored but must be provided.
139150

140151
**Remarks**
@@ -148,12 +159,14 @@ Windows 10, version 1709 or newer
148159
<span id="getPermissiveMode"></span>
149160

150161
### getPermissiveMode
162+
151163
The testing web application should invoke this to determine if permissive mode is on or off. In permissive mode, a browser is expected to relax some of its stringent security hooks to allow assistive technology to work with the secure browser. For example, browsers that aggressively prevent other application UIs from presenting on top of them might want to relax this when in permissive mode.
152164

153165
**Syntax**
154166
`void SecureBrowser.security.getPermissiveMode(Function callback)`
155167

156-
**Parameters**
168+
**Parameters**
169+
157170
* `callback` - The function to invoke when this call completes. It must be in the form: `Function(Boolean permissiveMode)` where `permissiveMode` indicates whether the browser is currently in permissive mode. If it is undefined or null, an error occurred in the get operation.
158171

159172
**Requirements**
@@ -164,13 +177,15 @@ Windows 10, version 1709 or newer
164177
<span id="setPermissiveMode"></span>
165178

166179
### setPermissiveMode
167-
The testing web application should invoke this to toggle permissive mode on or off. In permissive mode, a browser is expected to relax some of its stringent security hooks to allow assistive technology to work with the secure browser. For example, browsers that aggressively prevent other application UIs from presenting on top of them might want to relax this when in permissive mode.
180+
181+
The testing web application should invoke this to toggle permissive mode on or off. In permissive mode, a browser is expected to relax some of its stringent security hooks to allow assistive technology to work with the secure browser. For example, browsers that aggressively prevent other application UIs from presenting on top of them might want to relax this when in permissive mode.
168182

169183
**Syntax**
170184
`void SecureBrowser.security.setPermissiveMode(Boolean enable, Function callback)`
171185

172-
**Parameters**
173-
* `enable` - The Boolean value indicating the intended permissive mode status.
186+
**Parameters**
187+
188+
* `enable` - The Boolean value indicating the intended permissive mode status.
174189
* `callback` - The function to invoke when this call completes. It must be in the form: `Function(Boolean permissiveMode)` where `permissiveMode` indicates whether the browser is currently in permissive mode. If it is undefined or null, an error occurred in the set operation.
175190

176191
**Requirements**
@@ -181,6 +196,7 @@ Windows 10, version 1709 or newer
181196
<span id="emptyClipBoard"></span>
182197

183198
### emptyClipBoard
199+
184200
Clears the system clipboard. The testing application should invoke this to force clear any data that may be stored in the system clipboard. The **[lockDown](#lockDown)** function also performs this operation.
185201

186202
**Syntax**
@@ -194,12 +210,14 @@ Windows 10, version 1709 or newer
194210
<span id="getMACAddress"></span>
195211

196212
### getMACAddress
213+
197214
Gets the list of MAC addresses for the device. The testing application should invoke this to assist in diagnostics.
198215

199216
**Syntax**
200217
`void SecureBrowser.security.getMACAddress(Function callback);`
201218

202-
**Parameters**
219+
**Parameters**
220+
203221
* `callback` - The function to invoke when this call completes. It must be in the form: `Function(String addressArray)` where `addressArray` is in the form: `"['00:11:22:33:44:55','etc']"`.
204222

205223
**Remarks**
@@ -213,6 +231,7 @@ Windows 10, version 1709 or newer
213231
<span id="getStartTime"></span>
214232

215233
### getStartTime
234+
216235
Gets the time that the testing app was started.
217236

218237
**Syntax**
@@ -229,12 +248,14 @@ Windows 10, version 1709 or newer
229248
<span id="getCapability"></span>
230249

231250
### getCapability
232-
Queries whether a capability is enabled or disabled.
251+
252+
Queries whether a capability is enabled or disabled.
233253

234254
**Syntax**
235255
`Object SecureBrowser.security.getCapability(String feature)`
236256

237-
**Parameters**
257+
**Parameters**
258+
238259
`feature` - The string to determine which capability to query. Valid capability strings are "screenMonitoring", "printing", and "textSuggestions" (case insensitive).
239260

240261
**Return Value**
@@ -248,12 +269,14 @@ Windows 10, version 1703 or newer
248269
<span id="setCapability"></span>
249270

250271
### setCapability
272+
251273
Enables or disables a specific capability on the browser.
252274

253275
**Syntax**
254276
`void SecureBrowser.security.setCapability(String feature, String value, Function onSuccess, Function onError)`
255277

256-
**Parameters**
278+
**Parameters**
279+
257280
* `feature` - The string to determine which capability to set. Valid capability strings are `"screenMonitoring"`, `"printing"`, and `"textSuggestions"` (case insensitive).
258281
* `value` - The intended setting for the feature. It must be either `"true"` or `"false"`.
259282
* `onSuccess` - [optional] The function to call after the set operation has been completed successfully. It must be of the form `Function(String jsonValue)` where *jsonValue* is in the form: `{<feature>:true|false|undefined}`.
@@ -270,6 +293,7 @@ Windows 10, version 1703 or newer
270293
<span id="isRemoteSession"></span>
271294

272295
### isRemoteSession
296+
273297
Checks if the current session is logged in remotely.
274298

275299
**Syntax**
@@ -286,6 +310,7 @@ Windows 10, version 1709 or later
286310
<span id="isVMSession"></span>
287311

288312
### isVMSession
313+
289314
Checks if the current session is running within a virtual machine.
290315

291316
**Syntax**

uwp/apps-for-education/troubleshooting.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
---
22
description: Troubleshoot Microsoft Take a Test events and errors with the event viewer.
33
title: Troubleshoot Microsoft Take a Test with the event viewer.
4-
5-
64
ms.assetid: 9218e542-f520-4616-98fc-b113d5a08e0f
75
ms.date: 10/06/2017
86
ms.topic: troubleshooting-general
@@ -14,10 +12,12 @@ ms.localizationpriority: medium
1412
You can use the Event Viewer to view Take a Test events and errors. Take a Test logs events when a lockdown request has been received, device enrollment has succeeded, lockdown policies were successfully applied, and more.
1513

1614
To enable viewing events in the Event Viewer:
15+
1716
1. Open the `Event Viewer`
1817
2. Navigate to `Applications and Services Logs > Microsoft > Windows > Management-SecureAssessment`
1918
3. Right-click `Operational` and select `Enable Log`
2019

2120
To save the event logs:
21+
2222
1. Right-click `Operational`
2323
2. Click `Save All Events As…`

0 commit comments

Comments
 (0)