You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/README.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,3 +26,13 @@ These steps should help you to build the documentation
26
26
-`npm run doc:install`
27
27
5. Build and open the documentation:
28
28
-`npm run doc:dev`
29
+
30
+
## Best practices
31
+
32
+
When using paramiko to interact with z/OS UNIX System Services (USS), it's important to consider encoding and special character handling.
33
+
Since z/OS uses EBCDIC-based encodings (e.g., IBM-1047, IBM-037, etc.), some commands may return unexpected results when processed in a UTF-8 environment. This is because by default, paramiko reads responses in UTF-8, but z/OS USS may return data in an EBCDIC codepage.
34
+
Certain special characters, such as ööö, 👍, or 🔟, may not be correctly interpreted if the encoding is mismatched.
35
+
If you experience unexpected characters in output, check the terminal's encoding settings (local command on Linux).
36
+
Some commands may alter the terminal's codepage, affecting subsequent outputs.
37
+
For example, switching between ASCII and EBCDIC on mainframes can impact character interpretation.
38
+
If a command affects encoding, reset it after execution.
Copy file name to clipboardExpand all lines: docs/source/packages/files.rst
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,3 +18,27 @@ Reference
18
18
:maxdepth:2
19
19
20
20
../classes/zos_files/index
21
+
22
+
Interaction with USS via z/OSMF
23
+
===============================
24
+
25
+
The Zowe Client Python SDK leverages the z/OS Management Facility (z/OSMF) REST interface to interact with Unix System Services (USS) on z/OS.
26
+
Rather than connecting directly to USS, our implementation uses z/OSMF as a standardized conduit for file operations and other USS functionalities.
27
+
This design offers several benefits:
28
+
29
+
- **Standardization:** z/OSMF provides a consistent REST API for interacting with various z/OS components, including USS.
30
+
- **Security & Maintainability:** By utilizing z/OSMF, we benefit from its built-in authentication, logging, and error-handling mechanisms, making integration more robust.
31
+
- **Simplified Integration:** The REST-based approach reduces the complexity of direct USS interactions, allowing for easier maintenance and future enhancements.
32
+
33
+
In summary, while it might appear that all USS functionality is routed through z/OSMF, this approach is intentional, providing a secure and manageable interface to z/OS USS.
34
+
35
+
Paramiko and Encoding Considerations
36
+
======================================
37
+
38
+
When using Paramiko to interact with z/OS UNIX System Services (USS), it is important to consider encoding and the handling of special characters.
39
+
By default, Paramiko decodes responses using UTF-8, but z/OS USS may return data in an EBCDIC codepage (e.g., IBM-1047, IBM-037, etc.).
40
+
This mismatch can result in unexpected output, particularly with special characters like ``ööö``, ``👍``, or ``🔟``.
41
+
42
+
If you experience unexpected characters in your output, please check your terminal's encoding settings (for example, using ``locale`` on Linux).
43
+
Note that certain commands may change the terminal's codepage, which can affect subsequent outputs.
44
+
In such cases, resetting the terminal's encoding after command execution is recommended.
0 commit comments