Changes for page SMB - Dynamically Manipulate Settings
Last modified by Erik Bakker on 2024/09/03 09:17
From version 24.1
edited by Erik Bakker
on 2024/06/21 14:48
on 2024/06/21 14:48
Change comment:
There is no comment for this version
To version 22.1
edited by Erik Bakker
on 2024/06/21 12:52
on 2024/06/21 12:52
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,9 +1,9 @@ 1 1 {{container}}{{container layoutStyle="columns"}}((( 2 -In a previous [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.File based connectivity.intermediate-file-based-connectivity-smb-connectivity.WebHome||target="blank"]] on this subject ,we discussed how to configure the various variants of SMB connectivity.We already mentioned that more dynamic options, such as automatically creating a "multi-level" directory (i.e.,/root/sub),are complex to configure and require a different approach.2 +In a previous [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.File based connectivity.intermediate-file-based-connectivity-smb-connectivity.WebHome||target="blank"]] on this subject we discussed how to configure the various variants of SMB connectivity. In there we already mentioned that more dynamic options, such as automatically creating a "multi-level" directory (i.e. /root/sub) are complex to configure and require a different approach. 3 3 4 -In this microlearning ,we willexaminehowtomanipulate all settings on the SMB Session Factory to create dynamic values that are injected into the component when a message is processed by the flow.4 +In this microlearning we will look into how we can manipulate all settings on the SMB Session Factory to create dynamic values that are injected into the component when a message is processed by the flow. 5 5 6 - Ifyou have any questions, don't hesitate tocontact [[academy@emagiz.com>>mailto:academy@emagiz.com]].6 +Should you have any questions, don't hesitate to get in touch with [[academy@emagiz.com>>mailto:academy@emagiz.com]]. 7 7 8 8 == 1. Prerequisites == 9 9 ... ... @@ -13,11 +13,11 @@ 13 13 14 14 This microlearning centers around dynamically manipulating settings on the SMB Session Factory. 15 15 16 -* This optionis the correctapproach whenyouneed to create a directorydynamicallyor have multiple hosts that host file shares.16 +* When you dynamically need to create a directory or have multiple hosts that hosts file shares this option is the correct approach. 17 17 18 18 == 3. Dynamically manipulate SMB Session Settings == 19 19 20 -In a previous [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.File based connectivity.intermediate-file-based-connectivity-smb-connectivity.WebHome||target="blank"]] we learned that we need an SMB Session Factory to set ,five main settings are relevant.20 +In a previous [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.File based connectivity.intermediate-file-based-connectivity-smb-connectivity.WebHome||target="blank"]] we learned that we need an SMB Session Factory to setup the initial connection to the SMB drive. In this component there are five main settings that are of relevance. 21 21 22 22 * Host 23 23 * Port ... ... @@ -25,37 +25,36 @@ 25 25 * Password 26 26 * Share and directory 27 27 28 -In theory ,each of these settings can be overwritten every,we see two main use cases that are relevant to mention in this microlearning as we see them currently being applied in our community.28 +In theory each of these settings can be overwritten everytime a message is consumed and processed by the flow. In practice we see two main use cases that are relevant to mention in this microlearning as we see them currently being applied in our community. 29 29 30 30 === 3.1 Dynamic Host === 31 31 32 - Suppose you have a multitude of SMB directories (i.e.,shares) span acrossmanydifferent host servers.Inthat case,youneed a solution tomanipulate pre-existing information on the SMB session factorydynamically. In other words, you need to be able to override the default host configuration in the component with one that is determined based on information in the headers or message.32 +In case you have a multitude of SMB directories (i.e. shares) that span across a multitude of different host servers you are in need for a solution that can dynamically manipulate pre-existing information on the SMB session factory. In other words, you need to be able to override the default host configuration in the component with one that is determined based on information in the headers or message. 33 33 34 -To do so ,we need to add a component to the flow that will override the host setting. This component is called the "Standard service activator."34 +To do so we need to add an additional component to the flow that will override the host setting. This component is called the "Standard service activator". 35 35 36 36 [[image:Main.Images.Microlearning.WebHome@advanced-file-connectivity-dynamically-manipulate-smb-settings--standard-service-activator.png]] 37 37 38 - Here,wemust define an expression toset the host based on a supplied value. Important in this expression is that we correctly reference the complete name of the SMB Session Factory support object in the flow and that once the host is set,the actual message is passed along. An example of such an expression is {{code}}@'smb.gtwydynm.exit.support.smb-session'.setHost(headers.server) ?: #root{{/code}}. This expression will set the host based on the value in the header called "server" and,once done,will pass the full message to the output channel.38 +In here we need to define an expression that will set the host based on a supplied value. Important in this expression is that we correctly reference the complete name of the SMB Session Factory support object in the flow and that once the host is set the actual message is passed along. An example of such an expression is {{code}}@'smb.gtwydynm.exit.support.smb-session'.setHost(headers.server) ?: #root{{/code}}. This expression will set the host based on the value in the header called "server" and once done will pass the full message to the output channel. 39 39 40 40 [[image:Main.Images.Microlearning.WebHome@advanced-file-connectivity-dynamically-manipulate-smb-settings--standard-service-activator-filled-in.png]] 41 41 42 42 === 3.2 Dynamic Share and Directory === 43 +In eMagiz, all errors are raised when a process fails, and you want to have some form of logging end up in the Manage phase of eMagiz. The Manage phase of eMagiz is primarily accessible to support employees, employees working on the project, and in some cases, even more, people have at least view rights. You can imagine that when many people have access to potentially sensitive data, you should consider countermeasures. This way, you can reduce the chances of sensitive data ending up in the wrong hands. Some of the potential countermeasures are available within the platform. Some of them are procedural in nature. In this microlearning, we will learn what you can do to keep your data safe within eMagiz. 43 43 44 -If you have a "multi-level" path that eMagiz needs to create automatically, you must dynamically set the Share and Directory settings on the SMB Session Factory support object. 45 - 46 -To do so, we need to add a component to the flow that will override the host setting. This component is called the "Standard service activator." 45 +In eMagiz, we value the security of your data. A detailed overview of how your data is secured within the platform and when data is exchanged can be found in our [[Security Guide>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-security-guide||target="blank"]]. One of the additional measures you could take on our data models is to indicate whether the information stored in those attributes is confidential. More information on how that works exactly can be found in this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Defining message structures.intermediate-defining-your-message-structures-data-model-attribute-confidentiality||target="blank"]]. 47 47 48 -[[ image:Main.Images.Microlearning.WebHome@advanced-file-connectivity-dynamically-manipulate-smb-settings--standard-service-activator.png]]47 +Building on that, we have a [[store component>>doc:Main.eMagiz Store.Accelerators.Mask Values.WebHome||target="blank"]] available in the store with which you can replace the values in these attributes (in case the original payload is XML) with ~*~*~*. The error message is still shown for an RCA to be performed, but the sensitive data is not accessible to the user. 49 49 50 - Here, we must defineanexpression to set the host based on a supplied value.portant in thisexpression is that wecorrectly reference the complete name of the SMB Session Factory support objectintheflowandthat oncethehostis set, theactual message is passedalong. Anexampleof suchexpressions {{code}}@'smb.gtwydynm.exit.support.smb-session'.setShareAndDir(headers.share) ?: #root{{/code}}. This expressionwill set the host based onhe value in the headercalled "server"and, once done, will pass the full message to the output channel.49 +[[image:Main.Images.Microlearning.WebHome@advanced-understanding-error-handling-in-emagiz--store-component-gdpr-error-handling.png]] 51 51 52 - [[image:Main.Images.Microlearning.WebHome@advanced-file-connectivity-dynamically-manipulate-smb-settings--standard-service-activator-filled-in-share-and-dir.png]]51 +In terms of process, you should know which data is sensitive in terms of GDPR and **not** store that information in external tools such as Postman and SOAP UI. Furthermore, it would be best to consider how you want to shape the notifications to prevent sensitive information from being willingly distributed to the eMail boxes of recipients. 53 53 54 -{{warning}}Note that you can combine multiple dynamic settings into one expression to keep the number of components efficient. In that case the code will look something as follows {{code}}@'smb.gtwydynm.exit.support.smb-session'.setShareAndDir(headers.share) ?: @'smb.gtwydynm.exit.support.smb-session'.setHost(headers.server) ?: #root{{/code}}{{/warning}} 55 - 56 56 == 4. Key takeaways == 57 57 58 -* This option is the correct approach when you need to create a directory dynamically or have multiple hosts that host file shares. 55 +* The GDPR is a European privacy regulation. It ensures the careful processing of personal data by businesses and organizations. 56 +* eMagiz has various security measures in place to keep your data safe 57 +* You also have a responsibility as a user how you use the data of the customer 59 59 60 60 == 5. Suggested Additional Readings == 61 61