Skip to content

Commit 370d230

Browse files
authored
Merge pull request #310 from adobe-apiplatform/v2_doc_update
V2 doc update: Add notes about Windows 10 long name support. Recommend Python 3. Misc.
2 parents 94e1090 + 02c62e4 commit 370d230

File tree

5 files changed

+33
-13
lines changed

5 files changed

+33
-13
lines changed

docs/en/FAQ/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ User Sync is an open source python project. Users can build for any OS platform
123123

124124
### Has this been tested on python 3.5?
125125

126-
User Sync has been run successfully on Python 3.x, but most of our use and testing is on Python 2.7 so you may discover problems, and we only provide builds on Python 2.7. Feel free to report problems (and contribute fixes) to the open source site at https://github.com/adobe-apiplatform/user-sync.py.
126+
User Sync has been run successfully on Python 3.x. We started development with 2.7 but most work is now on the Python 3.6.x series and Python 3 builds are available for recent releases. Feel free to report problems (and contribute fixes) to the open source site at https://github.com/adobe-apiplatform/user-sync.py.
127127

128128
### If something changes in the API (new field in creating users, for example ) how will the update be applied to the user sync tool?
129129

docs/en/success-guide/command_line_options.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ The command line for user sync selects the set of users to be processed, specifi
2121
| `--users group "g1,g2,g3"` | The named directory groups are used to form the user selection. <br>Users that are members of any of the groups are included. |
2222
| `--users mapped` | The same as `--users group g1,g2,g3,...`, where `g1,g2,g3,...` are all the directory groups specified in the configuration file group mapping.|
2323
| `--users file f` | The file f is read to form the selected set of users. The LDAP directory is not used in this case. |
24-
| `--user-filter pattern` | Can be combined with the above options to further filter and reduce the user selection. <br>`pattern` is a string in Python regular expression format. <br>The user name must match the pattern in order to be included. <br>Writing patterns can be somewhat of an art. See examples below or refer to the Python documentation [here](https://docs.python.org/2/library/re.html). |
24+
| `--user-filter pattern` | Can be combined with the above options to further filter and reduce the user selection. <br>`pattern` is a string in Python regular expression format. <br>The user name must match the pattern in order to be included. <br>Writing patterns can be somewhat of an art. See examples below or refer to the Python documentation [here for Python 2.x](https://docs.python.org/2/library/re.html) and [here for Python 3.x](https://docs.python.org/3/library/re.html). |
25+
{: .bordertablestyle }
2526

2627

2728
If all users listed in the directory are to be synced to Adobe, use `--users all`. If only some users, you can limit the set by altering the LDAP query in the `connector-ldap.yml` configuration file (and use `--users all`), or you can limit the users to those in specific groups (by using --users group). You can combine either of these with a `--user-filter pattern` to further limit the selected set of users to be synced.
@@ -51,7 +52,7 @@ Note that only the users returned by the directory query and filter are consider
5152
| `--adobe-only-user-action remove` | Adobe account to remain but licenses, group memberships, and listing in the Adobe Admin console are removed |
5253
| `--adobe-only-user-action delete` | Adobe account to be deleted: remove from<br>Adobe product configurations and user groups; account deleted and all storage and settings freed. |
5354
| `--adobe-only-user-action write-file f.csv` | No action to be taken on the account. User name written to file for later action. |
54-
55+
{: .bordertablestyle }
5556

5657

5758

docs/en/success-guide/install_sync.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,26 @@ nav_order: 270
1212

1313
Once you have access to the server where User Sync will run, pick a directory where you will install and operate User Sync.
1414

15-
On Windows, you will need to install Python. As of this writing, version 2.7.13 is recommended. Windows and Python need to be 64 bit versions.
15+
On Windows, you will need to install Python. As of this writing, version 3.6.x is recommended. Windows and Python need to be 64 bit versions.
16+
17+
On Windows, you also are very likely to need to set an environment variable PEX\_ROOT to C:\\pex. This is needed to work around Windows pathname length limits.
18+
19+
Note: Setting PEX\_ROOT may not be necessary if:
20+
21+
- You are running Windows 10
22+
- You are running Python 3.6 or later, 64 bit version (also called X86-64, for AMD64), and
23+
- You have enabled the long pathname support in Windows 10 as described in the Maximum Path Length Limitation section of this [Microsoft Dev Note](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx?#maxpath). You can also enable long pathname support by pressing the button in the Python Windows executable installer (in the final dialog box, when installation finishes) that performs this action.
24+
25+
If these conditions are met, you can run without setting PEX\_ROOT.
1626

17-
On Windows, you also are very likely to need to set an environment variable PEX_ROOT to C:\user_sync\.pex. This is needed to work around Windows pathname length limits.
1827

1928
Initial steps:
2029

2130
&#9744; Setup a user and file directory for installing and running sync. For example, we'll create a folder /home/user_sync/user_sync_tool and a user user_sync. On Windows an example would be C:\Users\user_sync\user_sync_tool.
2231

23-
&#9744; Windows only: set the environment variable **PEX\_ROOT** to **C:\user_sync\.pex**.
32+
&#9744; Windows only: set the environment variable **PEX\_ROOT** to **C:\pex**. (But see note above.)
2433

25-
&#9744; Windows only: Install python 2.7.13 (or later in the 2.7 series), 64 bit.
34+
&#9744; Windows only: Install python 3.6.2 (or later in the 3.6 series), 64 bit.
2635

2736
The next few sections show the installation process.
2837

@@ -38,7 +47,9 @@ Select “release”
3847

3948
&#9744; Download the example-configurations.tar.gz, User Sync Guide, and build for your platform, osx, ubuntu, windows, or centos.
4049

41-
&#9744; Extract the user-sync (or user-sync.pex) file from the archive and place the file for your OS in the folder. In our example, this would be /home/user_sync/user_sync_tool/user-sync or C:\Users\user_sync\user_sync_tool\user-sync.pex.
50+
&#9744; Decide whether you will run Python 2.x or 3.x (recommended) and download that version of User Sync. You need to install the corresponding version of Python on your server.
51+
52+
&#9744; Extract the user-sync (or user-sync.pex) file from the archive and place the file for your OS in the folder. In our example, this would be /home/user_sync/user_sync_tool/user-sync or C:\Users\user_sync\user_sync_tool\user-sync.pex.
4253

4354
&#9744; In the example-configurations.tar.gz file there is a directory **config files - basic**. From this folder extract the first 3 files and place in the user_sync_tool folder.
4455

docs/en/user-manual/command_parameters.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ specific behavior in various situations.
3232
| `-t`<br />`--test-mode` | Run API action calls in test mode (does not execute changes). Logs what would have been executed. |
3333
| `-c` _filename_<br />`--config-filename` _filename_ | The complete path to the main configuration file, absolute or relative to the working folder. Default filename is "user-sync-config.yml" |
3434
| `--users` `all`<br />`--users` `file` _input_path_<br />`--users` `group` _grp1,grp2_<br />`--users` `mapped` | Specify the users to be selected for sync. The default is `all` meaning all users found in the directory. Specifying `file` means to take input user specifications from the CSV file named by the argument. Specifying `group` interprets the argument as a comma-separated list of groups in the enterprise directory, and only users in those groups are selected. Specifying `mapped` is the same as specifying `group` with all groups listed in the group mapping in the configuration file. This is a very common case where just the users in mapped groups are to be synced.|
35-
| `--user-filter` _regex\_pattern_ | Limit the set of users that are examined for syncing to those matching a pattern specified with a regular expression. See the [Python regular expression documentation](https://docs.python.org/2/library/re.html) for information on constructing regular expressions in Python. The user name must completely match the regular expression.|
35+
| `--user-filter` _regex\_pattern_ | Limit the set of users that are examined for syncing to those matching a pattern specified with a regular expression. See the [Python regular expression documentation](https://docs.python.org/2/library/re.html) or [for Python 3](https://docs.python.org/3/library/re.html) for information on constructing regular expressions in Python. The user name must completely match the regular expression.|
3636
| `--update-user-info` | When supplied, synchronizes user information. If the information differs between the enterprise directory side and the Adobe side, the Adobe side is updated to match. This includes the firstname and lastname fields. |
3737
| `--process-groups` | When supplied, synchronizes group membership information. If the membership in mapped groups differs between the enterprise directory side and the Adobe side, the group membership is updated on the Adobe side to match. This includes removal of group membership for Adobe users not listed in the directory side (unless the `--adobe-only-user-action exclude` option is also selected).|
3838
| `--adobe-only-user-action preserve`<br />`--adobe-only-user-action remove-adobe-groups`<br />`--adobe-only-user-action remove`<br />`--adobe-only-user-action delete`<br /><br/>`--adobe-only-user-action write-file`&nbsp;filename<br/><br/>`--adobe-only-user-action exclude` | When supplied, if user accounts are found on the Adobe side that are not in the directory, take the indicated action. <br/><br/>`preserve`: no action concerning account deletion is taken. This is the default. There may still be group membership changes if the `--process-groups` option was specified.<br/><br/>`remove-adobe-groups`: The account is removed from user groups and product configurations, freeing any licenses it held, but is left as an active account in the organization.<br><br/>`remove`: In addition to remove-adobe-groups, the account is also removed from the organization, but the user account, with its associated assets, is left in the domain and can be re-added to the organization if desired.<br/><br/>`delete`: In addition to the action for remove, the account is deleted if its domain is owned by the organization.<br/><br/>`write-file`: No action concerning account deletion is taken. The list of user accounts present on the Adobe side but not in the directory is written to the file indicated. You can then pass this file to the `--adobe-only-user-list` argument in a subsequent run. There may still be group membership changes if the `--process-groups` option was specified.<br/><br/>`exclude`: No update of any kind is applied to users found only on the Adobe side. This is used when doing updates of specific users via a file (`--users file f`) where only users needing explicit updates are listed in the file and all other users should be left alone.<br/><br>Only permitted actions will be applied. Accounts of type adobeID are owned by the user so the delete action will do the equivalent of remove. The same is true of Adobe accounts owned by other organizations. |
3939
| `--adobe-only-user-list` _filename_ | Specifies a file from which a list of users will be read. This list is used as the definitive list of "Adobe only" user accounts to be acted upon. One of the `--adobe-only-user-action` directives must also be specified and its action will be applied to user accounts in the list. The `--users` option is disallowed if this option is present: only account removal actions can be processed. |
40-
| `--config-file-encoding` _encoding_name_ | Optional. Specifies the character encoding for the contents of the configuration files themselves. This includes the main configuration file, "user-sync-config.yml" as well as other configuration files it may reference. Default is `utf8` for User Sync 2.2 and later and `ascii` for earlier versions.<br />Character encoding in the user source data (whether csv or ldap) is declared by the connector configurations, and that encoding can be different than the encoding used for the configuration files (e.g., you could have a latin-1 configuration file but a CSV source file that uses utf-8 encoding).<br />The available encodings are dependent on the Python version used; see the documentation [here](https://docs.python.org/2.7/library/codecs.html#standard-encodings) for more information. |
40+
| `--config-file-encoding` _encoding_name_ | Optional. Specifies the character encoding for the contents of the configuration files themselves. This includes the main configuration file, "user-sync-config.yml" as well as other configuration files it may reference. Default is `utf8` for User Sync 2.2 and later and `ascii` for earlier versions.<br />Character encoding in the user source data (whether csv or ldap) is declared by the connector configurations, and that encoding can be different than the encoding used for the configuration files (e.g., you could have a latin-1 configuration file but a CSV source file that uses utf-8 encoding).<br />The available encodings are dependent on the Python version used; see the documentation [here for Python 2.7](https://docs.python.org/2.7/library/codecs.html#standard-encodings) or [here for Python 3.6](https://docs.python.org/3.6/library/codecs.html#standard-encodings) for more information. |
4141
| `--strategy sync`<br />`--strategy push` | Available in release 2.2 and later. Optional. Default operating mode is `--strategy sync`. Controls whether User Sync reads user information from Adobe and compares to the directory information and then issues updates to Adobe, or simply pushes the directory input to Adobe without considering the existing user information on Adobe. `sync` is the default and the subject of the description of most of this documentation. `push` is useful when there is a large number of users on the Adobe side (>30,000) and known additions or changes to a small number of users are desired, and the list of those users is available in a csv file or a specific directory group.<br />If `--strategy push` is specified, `--adobe-only-user-action` cannot be specified as the determination of adobe-only users is not made.<br/>`--strategy push` will create new users, modify their group memberships for mapped groups only (if `--process-groups` is present), update user information (if `--update-user-info` is present), and will not remove users from the organization or delete their accounts. See [Handling Push Notifications](usage_scenarios.md#handling-push-notifications) for information on how to remove users via push notifications. |
4242
| `--connector ldap`<br />`--connector okta`<br />`--connector csv` _filename_ | Available in release 2.3 and later. Optional. Specifies the directory connector to be used (defaults to LDAP). If you specify the use of a CSV input file with this argument, then you cannot also specify one with `--users`, but you can then specify other `--users` options (such as `mapped` or `group`) for use with the CSV file. (The Okta connector does not support `--users all`, so you must specify a `--users` option of `mapped` or `group` if you use the Okta connector.)
4343
{: .bordertablestyle }

docs/en/user-manual/setup_and_installation.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,8 @@ source archives).
159159
(the `.tar.gz` file). Builds for Windows, OSX, Centos, and Ubuntu are
160160
available. (If you are building from source, you can download the
161161
Source Code package that corresponds to the release, or use the
162-
latest source off the master branch.) Python 3 builds may also
163-
be available for later releases of User Sync.
162+
latest source off the master branch.) Python 3 builds are also
163+
available for later releases of User Sync.
164164

165165
3. Locate the Python executable file (`user-sync` or
166166
`user-sync.pex` for Windows) and place it in your User Sync
@@ -183,7 +183,7 @@ need to work around a Windows-only Python execution issue:
183183
The Windows operating system enforces a file path length limit of
184184
260 characters. When executing a Python PEX file, it creates a
185185
temporary location to extract the contents of the package. If the
186-
path to that location exceeds 260 characters, the script does not
186+
path to that location exceeds 260 characters, the script will not
187187
execute properly.
188188

189189
By default, the temporary cache is in your home folder, which may
@@ -193,6 +193,14 @@ the path to C:\\pex. The OS uses this variable for
193193
the cache location, which prevents the path from exceeding the
194194
260 character limit.
195195

196+
This step may not be necessary if:
197+
198+
- You are running Windows 10
199+
- You are running Python 3.6 or later, 64 bit version (also called X86-64, for AMD64), and
200+
- You have enabled the long pathname support in Windows 10 as described in the Maximum Path Length Limitation section of this [Microsoft Dev Note](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx?#maxpath). You can also enable long pathname support by pressing the button in the Python Windows executable installer (in the final dialog box, when installation finishes) that performs this action.
201+
202+
If these conditions are met, you can run without setting PEX\_ROOT.
203+
196204
6. To run the User Sync tool, run the Python executable file,
197205
`user-sync` (or execute `python user-sync.pex` on Windows).
198206

0 commit comments

Comments
 (0)