{"latest_posts":[{"id":22296,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-17T03:37:41.339Z","cooked":"<p>You're welcome <img src=\"https://community.easymorph.com/images/emoji/twitter/slight_smile.png?v=15\" title=\":slight_smile:\" class=\"emoji\" alt=\":slight_smile:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>","post_number":10,"post_type":1,"posts_count":10,"updated_at":"2026-06-17T03:37:41.339Z","reply_count":0,"reply_to_post_number":9,"quote_count":0,"incoming_link_count":0,"reads":5,"readers_count":4,"score":1.0,"yours":false,"topic_id":2047,"topic_slug":"if-null-leave-blank","topic_title":"IF NULL leave blank","topic_html_title":"IF NULL leave blank","category_id":1,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"reply_to_user":{"id":1111,"username":"keewee70","name":"","avatar_template":"/letter_avatar_proxy/v4/letter/k/839c29/{size}.png"},"bookmarked":false,"raw":"You're welcome :slight_smile:","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"You&#39;re welcome :slight_smile:","truncated":true,"post_url":"/t/if-null-leave-blank/2047/10","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22295,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-16T15:49:14.494Z","cooked":"<p><a class=\"mention\" href=\"/u/michael_stonacek\">@Michael_Stonacek</a>, thank you for the detailed report. Please send the screen recording along with the debug logs (located by default at \"C:\\Users&lt;username&gt;\\AppData\\Local\\EasyMorph\\Debug Logs\") to <a href=\"mailto:support@easymorph.com\">support@easymorph.com</a>.</p>","post_number":2,"post_type":1,"posts_count":2,"updated_at":"2026-06-16T15:49:14.494Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":8,"readers_count":7,"score":1.4,"yours":false,"topic_id":6696,"topic_slug":"menu-icon-clicking-bug-when-using-windows-app-remote-desktop","topic_title":"Menu icon clicking bug when using Windows App (remote desktop)","topic_html_title":"Menu icon clicking bug when using Windows App (remote desktop)","category_id":3,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"@Michael_Stonacek, thank you for the detailed report. Please send the screen recording along with the debug logs (located by default at \"C:\\Users\\<username>\\AppData\\Local\\EasyMorph\\Debug Logs\\\") to support@easymorph.com.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a class=\"mention\" href=\"/u/michael_stonacek\">@Michael_Stonacek</a>, thank you for the detailed report. Please send the screen recording along with the debug logs (located by default at &quot;C:\\Users&lt;username&gt;\\AppData\\Local\\EasyMorph\\Debug Logs&quot;) to <a href=\"mailto:support@easymorph.com\">support@easymorph.com</a>.","truncated":true,"post_url":"/t/menu-icon-clicking-bug-when-using-windows-app-remote-desktop/6696/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22294,"name":"Michael Stonacek","username":"Michael_Stonacek","avatar_template":"/user_avatar/community.easymorph.com/michael_stonacek/{size}/1380_2.png","created_at":"2026-06-16T14:23:39.902Z","cooked":"<p>I run EasyMorph Desktop 5.9.8.17 on a Windows Server 2016 VM and access it from a Mac Studio using Windows App (formerly Microsoft Remote Desktop).</p>\n<p>For the past few months (I’m not sure exactly when it started), I’ve encountered an issue when EasyMorph Desktop has multiple projects open for an extended period (days or weeks). Certain menu items stop responding to clicks, specifically those under <strong>Main</strong>, <strong>Project</strong>, <strong>Design</strong>, and <strong>Report</strong>. For example, actions such as <strong>Undo</strong> and <strong>Run All Actions</strong> no longer work.</p>\n<p>The UI still appears responsive:</p>\n<ul>\n<li>Menu items highlight on hover.</li>\n<li>The darker click highlight appears when selected.</li>\n<li>However, the menu commands do not execute.</li>\n</ul>\n<p>At the same time, other areas of the application continue to function normally, including:</p>\n<ul>\n<li>Add Data</li>\n<li>Start menu items</li>\n<li>About menu items</li>\n<li>Critically - all items in the main tables view still work - I can right click to run actions, copy tables, rename, minimize, etc.</li>\n</ul>\n<p>The Windows App client is fully up to date on the Mac. Disconnecting and reconnecting to the VM, or quitting and reopening Windows App, does not resolve the issue.</p>\n<p>The only workaround I’ve found is to close all open projects in EasyMorph Desktop and then reopen them. I do not need to quit EasyMorph Launcher—only EasyMorph Desktop.</p>\n<p>I have a screen recording that demonstrates the issue. The recording contains actual project data, so I would prefer not to post it publicly. If a member of the EasyMorph team would like to review it, I’d be happy to send it directly via email.</p>","post_number":1,"post_type":1,"posts_count":2,"updated_at":"2026-06-16T14:23:39.902Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":2,"reads":10,"readers_count":9,"score":11.8,"yours":false,"topic_id":6696,"topic_slug":"menu-icon-clicking-bug-when-using-windows-app-remote-desktop","topic_title":"Menu icon clicking bug when using Windows App (remote desktop)","topic_html_title":"Menu icon clicking bug when using Windows App (remote desktop)","category_id":3,"display_username":"Michael Stonacek","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"I run EasyMorph Desktop 5.9.8.17 on a Windows Server 2016 VM and access it from a Mac Studio using Windows App (formerly Microsoft Remote Desktop).\n\nFor the past few months (I’m not sure exactly when it started), I’ve encountered an issue when EasyMorph Desktop has multiple projects open for an extended period (days or weeks). Certain menu items stop responding to clicks, specifically those under **Main**, **Project**, **Design**, and **Report**. For example, actions such as **Undo** and **Run All Actions** no longer work.\n\nThe UI still appears responsive:\n\n* Menu items highlight on hover.\n* The darker click highlight appears when selected.\n* However, the menu commands do not execute.\n\nAt the same time, other areas of the application continue to function normally, including:\n\n* Add Data\n* Start menu items\n* About menu items\n* Critically - all items in the main tables view still work - I can right click to run actions, copy tables, rename, minimize, etc.\n\nThe Windows App client is fully up to date on the Mac. Disconnecting and reconnecting to the VM, or quitting and reopening Windows App, does not resolve the issue.\n\nThe only workaround I’ve found is to close all open projects in EasyMorph Desktop and then reopen them. I do not need to quit EasyMorph Launcher—only EasyMorph Desktop.\n\nI have a screen recording that demonstrates the issue. The recording contains actual project data, so I would prefer not to post it publicly. If a member of the EasyMorph team would like to review it, I’d be happy to send it directly via email.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":187,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"I run EasyMorph Desktop 5.9.8.17 on a Windows Server 2016 VM and access it from a Mac Studio using Windows App (formerly Microsoft Remote Desktop). \nFor the past few months (I’m not sure exactly when it started), I’ve encountered an issue when EasyMorph Desktop has multiple projects open for an exte&hellip;","truncated":true,"post_url":"/t/menu-icon-clicking-bug-when-using-windows-app-remote-desktop/6696/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":22293,"name":"","username":"keewee70","avatar_template":"/letter_avatar_proxy/v4/letter/k/839c29/{size}.png","created_at":"2026-06-16T12:27:44.880Z","cooked":"<p>Thank you so much - it worked!!!!</p>","post_number":9,"post_type":1,"posts_count":10,"updated_at":"2026-06-16T12:27:44.880Z","reply_count":1,"reply_to_post_number":8,"quote_count":0,"incoming_link_count":0,"reads":9,"readers_count":8,"score":6.8,"yours":false,"topic_id":2047,"topic_slug":"if-null-leave-blank","topic_title":"IF NULL leave blank","topic_html_title":"IF NULL leave blank","category_id":1,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"reply_to_user":{"id":1,"username":"dgudkov","name":"Dmitry Gudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png"},"bookmarked":false,"raw":"Thank you so much - it worked!!!!","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1111,"hidden":false,"trust_level":0,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Thank you so much - it worked!!!!","truncated":true,"post_url":"/t/if-null-leave-blank/2047/9","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22292,"name":"romain.jourdan","username":"RJO","avatar_template":"/user_avatar/community.easymorph.com/rjo/{size}/4084_2.png","created_at":"2026-06-16T06:08:39.642Z","cooked":"<p>If a part of the connectors is official where details can't be seen, and another part is on the hand of the users, why not. I guess that's the current behaviour with shared + embedded connectors. I understand that classic database connectors would not have login + password, M365 connectors would not be authenticated etc. Because if one user authenticate a M365 connector and share it, that would be a major security issue.</p>","post_number":5,"post_type":1,"posts_count":5,"updated_at":"2026-06-16T06:08:39.642Z","reply_count":0,"reply_to_post_number":4,"quote_count":0,"incoming_link_count":0,"reads":10,"readers_count":9,"score":1.6,"yours":false,"topic_id":6695,"topic_slug":"merge-file-repository-and-server-space-connectors","topic_title":"Merge File repository and Server space connectors","topic_html_title":"Merge File repository and Server space connectors","category_id":5,"display_username":"romain.jourdan","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"reply_to_user":{"id":1,"username":"dgudkov","name":"Dmitry Gudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png"},"bookmarked":false,"raw":"If a part of the connectors is official where details can't be seen, and another part is on the hand of the users, why not. I guess that's the current behaviour with shared + embedded connectors. I understand that classic database connectors would not have login + password, M365 connectors would not be authenticated etc. Because if one user authenticate a M365 connector and share it, that would be a major security issue.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":92,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"If a part of the connectors is official where details can&#39;t be seen, and another part is on the hand of the users, why not. I guess that&#39;s the current behaviour with shared + embedded connectors. I understand that classic database connectors would not have login + password, M365 connectors would not&hellip;","truncated":true,"post_url":"/t/merge-file-repository-and-server-space-connectors/6695/5","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22291,"name":"","username":"Steeefan","avatar_template":"/user_avatar/community.easymorph.com/steeefan/{size}/7771_2.png","created_at":"2026-06-16T05:52:50.600Z","cooked":"<p>Hi,</p>\n<p>Has this been deemed worthy to be added to one of the upcoming releases? I still consider it a useful feature.</p>\n<p>Take care<br>\n-Stefan</p>","post_number":2,"post_type":1,"posts_count":2,"updated_at":"2026-06-16T05:52:50.600Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":8,"readers_count":7,"score":1.4,"yours":false,"topic_id":6527,"topic_slug":"csviewer-settings-when-exporting-files","topic_title":"CSViewer: Settings when exporting files","topic_html_title":"CSViewer: Settings when exporting files","category_id":5,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hi,\n\nHas this been deemed worthy to be added to one of the upcoming releases? I still consider it a useful feature.\n\nTake care\n-Stefan","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1300,"hidden":false,"trust_level":0,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi, \nHas this been deemed worthy to be added to one of the upcoming releases? I still consider it a useful feature. \nTake care \n-Stefan","truncated":true,"post_url":"/t/csviewer-settings-when-exporting-files/6527/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22290,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-16T01:06:27.198Z","cooked":"<p>In the next release (6.1), we're going to introduce user-scoped connectors. Connectors of this type should be authenticated by each user, so credentials aren't shared even if the connector is shared. Users will be able to use connectors and, if permissions allow, create them, but not share credentials. As I understand, they create connectors anyway, they just store them in a local repository. In case of user-scoped connectors, all of them will be stored in a Hub (Server) repository which has the additional benefit of governance, so because Hub admins can see what connectors users create and use.</p>\n<p>Do you think this improvement would work for the cases you described?</p>","post_number":4,"post_type":1,"posts_count":5,"updated_at":"2026-06-16T01:06:27.198Z","reply_count":1,"reply_to_post_number":3,"quote_count":0,"incoming_link_count":1,"reads":10,"readers_count":9,"score":11.6,"yours":false,"topic_id":6695,"topic_slug":"merge-file-repository-and-server-space-connectors","topic_title":"Merge File repository and Server space connectors","topic_html_title":"Merge File repository and Server space connectors","category_id":5,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"reply_to_user":{"id":92,"username":"RJO","name":"romain.jourdan","avatar_template":"/user_avatar/community.easymorph.com/rjo/{size}/4084_2.png"},"bookmarked":false,"raw":"In the next release (6.1), we're going to introduce user-scoped connectors. Connectors of this type should be authenticated by each user, so credentials aren't shared even if the connector is shared. Users will be able to use connectors and, if permissions allow, create them, but not share credentials. As I understand, they create connectors anyway, they just store them in a local repository. In case of user-scoped connectors, all of them will be stored in a Hub (Server) repository which has the additional benefit of governance, so because Hub admins can see what connectors users create and use.\n\nDo you think this improvement would work for the cases you described?","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"In the next release (6.1), we&#39;re going to introduce user-scoped connectors. Connectors of this type should be authenticated by each user, so credentials aren&#39;t shared even if the connector is shared. Users will be able to use connectors and, if permissions allow, create them, but not share credentia&hellip;","truncated":true,"post_url":"/t/merge-file-repository-and-server-space-connectors/6695/4","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22289,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-15T21:38:09.509Z","cooked":"<p>Hi Keeley and welcome to the Community!</p>\n<p>You can suppress the errors like this:</p>\n<pre><code> iferror(format([Column], \"MM/dd/yyyy\"), empty())\n</code></pre>\n<p>Alternatively, use the IF operator:</p>\n<pre><code>IF not isempty([COLUMN_NAME]) THEN format([COLUMN_NAME], \"MM/dd/yyyy\")\n</code></pre>","post_number":8,"post_type":1,"posts_count":10,"updated_at":"2026-06-15T21:38:09.509Z","reply_count":1,"reply_to_post_number":7,"quote_count":0,"incoming_link_count":1,"reads":9,"readers_count":8,"score":11.8,"yours":false,"topic_id":2047,"topic_slug":"if-null-leave-blank","topic_title":"IF NULL leave blank","topic_html_title":"IF NULL leave blank","category_id":1,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"reply_to_user":{"id":1111,"username":"keewee70","name":"","avatar_template":"/letter_avatar_proxy/v4/letter/k/839c29/{size}.png"},"bookmarked":false,"raw":"Hi Keeley and welcome to the Community!\n\nYou can suppress the errors like this:\n\n     iferror(format([Column], \"MM/dd/yyyy\"), empty())\n\nAlternatively, use the IF operator:\n\n    IF not isempty([COLUMN_NAME]) THEN format([COLUMN_NAME], \"MM/dd/yyyy\")","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi Keeley and welcome to the Community! \nYou can suppress the errors like this: \n iferror(format([Column], &quot;MM/dd/yyyy&quot;), empty())\n\nAlternatively, use the IF operator: \nIF not isempty([COLUMN_NAME]) THEN format([COLUMN_NAME], &quot;MM/dd/yyyy&quot;)","truncated":true,"post_url":"/t/if-null-leave-blank/2047/8","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22288,"name":"","username":"keewee70","avatar_template":"/letter_avatar_proxy/v4/letter/k/839c29/{size}.png","created_at":"2026-06-15T18:06:34.648Z","cooked":"<p>Hi, Dmitry and crew -</p>\n<p>I am using the Modify column action to change the date format using an expression format([COLUMN_NAME], \"MM/dd/yyyy\"), however, I have fields that are empty and result with an error in the field. I have tried ifempty and isempty and I cannot get the expression right,. Can you help? Many thanks!</p>","post_number":7,"post_type":1,"posts_count":10,"updated_at":"2026-06-15T18:06:34.648Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":9,"readers_count":8,"score":11.8,"yours":false,"topic_id":2047,"topic_slug":"if-null-leave-blank","topic_title":"IF NULL leave blank","topic_html_title":"IF NULL leave blank","category_id":1,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hi, Dmitry and crew -\n\nI am using the Modify column action to change the date format using an expression format(\\[COLUMN_NAME\\], \"MM/dd/yyyy\"), however, I have fields that are empty and result with an error in the field. I have tried ifempty and isempty and I cannot get the expression right,. Can you help? Many thanks!","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1111,"hidden":false,"trust_level":0,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi, Dmitry and crew - \nI am using the Modify column action to change the date format using an expression format([COLUMN_NAME], &quot;MM/dd/yyyy&quot;), however, I have fields that are empty and result with an error in the field. I have tried ifempty and isempty and I cannot get the expression right,. Can you &hellip;","truncated":true,"post_url":"/t/if-null-leave-blank/2047/7","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22287,"name":"Felippe Costa","username":"Felippe.Costa","avatar_template":"/letter_avatar_proxy/v4/letter/f/34f0e0/{size}.png","created_at":"2026-06-15T12:37:57.603Z","cooked":"<p>Hello <a class=\"mention\" href=\"/u/andrew.rybka\">@andrew.rybka</a> !<br>\nHope all is well.</p>\n<p>First of all, thanks for answering <img src=\"https://community.easymorph.com/images/emoji/twitter/heart.png?v=15\" title=\":heart:\" class=\"emoji\" alt=\":heart:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>\n<p>[echo %TNS_ADMIN%] captures the TNS_ADMIN environ-variable defined at user level, which is nice!</p>\n<p>With that in mind, did some tests and here are my findings (hope it helps):</p>\n<p>(1) I copied the network tnsnames.ora to my PC, to C:\\Users\\myUserName\\Desktop\\<strong>tnsnames</strong> directory;<br>\n(2) I re-set the TNS_ADMIN environ-variable to my account (user level) to the above directory;<br>\n(3) Tried to connect to the intended alias and... as before... no success</p>\n<p>(4) removed from my local tnsnames.ora file all other aliases other than the one I want to connect;<br>\n(5) retried to connect and ... this time... it worked</p>\n<p>Strangely enough, the original tnsnames.ora is used in SQL Developer without issues <img src=\"https://community.easymorph.com/images/emoji/twitter/frowning.png?v=15\" title=\":frowning:\" class=\"emoji\" alt=\":frowning:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>\n<p>That then made me consider: Could be related in how the original file is interpreted by/parsed to Easymorph?<br>\nLike, Easymoph reads a tnsnames.ora that isn't effectively what's supposed to be due to some parsing issues.<br>\nI've looped through it and couldn't find any special characters that could possibly justify this behavior though <img src=\"https://community.easymorph.com/images/emoji/twitter/frowning.png?v=15\" title=\":frowning:\" class=\"emoji\" alt=\":frowning:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>\n<p>Is there a way of \"retrieving\" the tnsnames.ora Easymorph 'is seeing/reading' somehow?</p>\n<p>Thanks for the support Andrew.<br>\nKindly, Felippe Costa</p>","post_number":3,"post_type":1,"posts_count":3,"updated_at":"2026-06-15T12:37:57.603Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":6,"readers_count":5,"score":1.2,"yours":false,"topic_id":6690,"topic_slug":"oracle-tns-connector-vs-environment-variables-tns-admin","topic_title":"ORACLE TNS connector vs. environment variables [TNS_ADMIN]","topic_html_title":"ORACLE TNS connector vs. environment variables [TNS_ADMIN]","category_id":1,"display_username":"Felippe Costa","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hello @andrew.rybka !\nHope all is well.\n\nFirst of all, thanks for answering ❤️\n\n\\[echo %TNS_ADMIN%\\] captures the TNS_ADMIN environ-variable defined at user level, which is nice!\n\nWith that in mind, did some tests and here are my findings (hope it helps):\n\n(1) I copied the network tnsnames.ora to my PC, to C:\\\\Users\\\\myUserName\\\\Desktop\\\\**tnsnames** directory;\n(2) I re-set the TNS_ADMIN environ-variable to my account (user level) to the above directory;\n(3) Tried to connect to the intended alias and... as before... no success\n\n(4) removed from my local tnsnames.ora file all other aliases other than the one I want to connect;\n(5) retried to connect and ... this time... it worked\n\nStrangely enough, the original tnsnames.ora is used in SQL Developer without issues :frowning: \n\nThat then made me consider: Could be related in how the original file is interpreted by/parsed to Easymorph?\nLike, Easymoph reads a tnsnames.ora that isn't effectively what's supposed to be due to some parsing issues.\nI've looped through it and couldn't find any special characters that could possibly justify this behavior though :frowning: \n\nIs there a way of \"retrieving\" the tnsnames.ora Easymorph 'is seeing/reading' somehow?\n\nThanks for the support Andrew.\nKindly, Felippe Costa","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1023,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hello <a class=\"mention\" href=\"/u/andrew.rybka\">@andrew.rybka</a> ! \nHope all is well. \nFirst of all, thanks for answering :heart: \n[echo %TNS_ADMIN%] captures the TNS_ADMIN environ-variable defined at user level, which is nice! \nWith that in mind, did some tests and here are my findings (hope it helps): \n(1) I copied the network tnsnames.ora t&hellip;","truncated":true,"post_url":"/t/oracle-tns-connector-vs-environment-variables-tns-admin/6690/3","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22286,"name":"Laurens","username":"Sir-McNeil","avatar_template":"/letter_avatar_proxy/v4/letter/s/57b2e6/{size}.png","created_at":"2026-06-13T16:53:53.595Z","cooked":"<p>Hi <a class=\"mention\" href=\"/u/dgudkov\">@dgudkov</a>,</p>\n<p>Thanks. I had indeed patched it by creating a small \"table-wide replace\" module using the iterate columns action :).</p>\n<p>I do disagree that this is a case of \"trying to accommodate all possible scenarios\". Column data 0000 is interpreted as text. User input 0000 in the table-wide replace is treated as number. It's the <em>divergence</em> that leads to the behavior being unexpected for me.</p>\n<p>Cheers,<br>\nLaurens</p>","post_number":7,"post_type":1,"posts_count":7,"updated_at":"2026-06-13T16:54:37.531Z","reply_count":0,"reply_to_post_number":5,"quote_count":0,"incoming_link_count":0,"reads":11,"readers_count":10,"score":0.8,"yours":false,"topic_id":6693,"topic_slug":"minor-bug-in-table-wide-replace","topic_title":"Minor Bug in Table-wide replace","topic_html_title":"Minor Bug in Table-wide replace","category_id":3,"display_username":"Laurens","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"reply_to_user":{"id":1,"username":"dgudkov","name":"Dmitry Gudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png"},"bookmarked":false,"raw":"Hi @dgudkov,\n\nThanks. I had indeed patched it by creating a small \"table-wide replace\" module using the iterate columns action :).\n\nI do disagree that this is a case of \"trying to accommodate all possible scenarios\". Column data 0000 is interpreted as text. User input 0000 in the table-wide replace is treated as number. It's the *divergence* that leads to the behavior being unexpected for me.\n\nCheers,\nLaurens","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":1302,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi <a class=\"mention\" href=\"/u/dgudkov\">@dgudkov</a>, \nThanks. I had indeed patched it by creating a small &quot;table-wide replace&quot; module using the iterate columns action :). \nI do disagree that this is a case of &quot;trying to accommodate all possible scenarios&quot;. Column data 0000 is interpreted as text. User input 0000 in the table-wide replace &hellip;","truncated":true,"post_url":"/t/minor-bug-in-table-wide-replace/6693/7","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22285,"name":"Laurens","username":"Sir-McNeil","avatar_template":"/letter_avatar_proxy/v4/letter/s/57b2e6/{size}.png","created_at":"2026-06-13T16:47:50.059Z","cooked":"<p>Thank you for the pointer. I relied on the app Update feature to keep me up to date, but apparently it didn't pick up major version upgrades (I'm on Version 5.9.8.7 and the Check for Updates said \"You're using the latest greatest version.\" even though I had it set to \"Notify me about updates with new features or bug fixes (happens more often)\").</p>\n<p>After updating to version 6.0.1, \"table-wide\" finds the action.</p>","post_number":6,"post_type":1,"posts_count":7,"updated_at":"2026-06-13T16:47:50.059Z","reply_count":0,"reply_to_post_number":3,"quote_count":0,"incoming_link_count":1,"reads":10,"readers_count":9,"score":0.8,"yours":false,"topic_id":6693,"topic_slug":"minor-bug-in-table-wide-replace","topic_title":"Minor Bug in Table-wide replace","topic_html_title":"Minor Bug in Table-wide replace","category_id":3,"display_username":"Laurens","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"reply_to_user":{"id":2,"username":"andrew.rybka","name":"Andrew Rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png"},"bookmarked":false,"raw":"Thank you for the pointer. I relied on the app Update feature to keep me up to date, but apparently it didn't pick up major version upgrades (I'm on Version 5.9.8.7 and the Check for Updates said \"You're using the latest greatest version.\" even though I had it set to \"Notify me about updates with new features or bug fixes (happens more often)\").\n\nAfter updating to version 6.0.1, \"table-wide\" finds the action.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1302,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Thank you for the pointer. I relied on the app Update feature to keep me up to date, but apparently it didn&#39;t pick up major version upgrades (I&#39;m on Version 5.9.8.7 and the Check for Updates said &quot;You&#39;re using the latest greatest version.&quot; even though I had it set to &quot;Notify me about updates with ne&hellip;","truncated":true,"post_url":"/t/minor-bug-in-table-wide-replace/6693/6","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22284,"name":"romain.jourdan","username":"RJO","avatar_template":"/user_avatar/community.easymorph.com/rjo/{size}/4084_2.png","created_at":"2026-06-12T13:55:52.810Z","cooked":"<p>There can be various reasons to have local repo. 2 Examples :</p>\n<ul>\n<li>admin have no time to add this connector</li>\n<li>connector to a \"POC\" database</li>\n</ul>\n<p>We do not allow end users to add their own connectors on server side. One big reason : it's more an IT thing to provide access to a ressource like a database. We prefer to keep the ownership on this (it's highly technical and there are passwords there).</p>","post_number":3,"post_type":1,"posts_count":5,"updated_at":"2026-06-12T13:56:08.070Z","reply_count":1,"reply_to_post_number":2,"quote_count":0,"incoming_link_count":0,"reads":12,"readers_count":11,"score":7.0,"yours":false,"topic_id":6695,"topic_slug":"merge-file-repository-and-server-space-connectors","topic_title":"Merge File repository and Server space connectors","topic_html_title":"Merge File repository and Server space connectors","category_id":5,"display_username":"romain.jourdan","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"reply_to_user":{"id":1,"username":"dgudkov","name":"Dmitry Gudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png"},"bookmarked":false,"raw":"There can be various reasons to have local repo. 2 Examples :\n\n* admin have no time to add this connector\n* connector to a \"POC\" database\n\nWe do not allow end users to add their own connectors on server side. One big reason : it's more an IT thing to provide access to a ressource like a database. We prefer to keep the ownership on this (it's highly technical and there are passwords there).","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":92,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"There can be various reasons to have local repo. 2 Examples : \n\nadmin have no time to add this connector\nconnector to a &quot;POC&quot; database\n\nWe do not allow end users to add their own connectors on server side. One big reason : it&#39;s more an IT thing to provide access to a ressource like a database. We pr&hellip;","truncated":true,"post_url":"/t/merge-file-repository-and-server-space-connectors/6695/3","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22283,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-12T13:19:55.326Z","cooked":"<p><a class=\"mention\" href=\"/u/sir-mcneil\">@Sir-McNeil</a></p>\n<p>Your observation is correct. The \"Table-wide replace\" action distinguishes text and numbers and has different functionality in both cases.</p>\n<p>While this has clear limitations, such as the case you demonstrated, trying to accommodate all possible replacement scenarios in one action might lead to overcomplicating it.</p>\n<p>Luckily, EasyMorph has a plenty of tools to design a workflow that does exactly what you need, even if one particular action doesn't do it out of the box.</p>\n<p>Here is your example reworked using the \"Iterate columns\" action. While it's more elaborate, it implements exactly the behavior you're looking for (if I understood it correctly).</p>\n<p><a class=\"attachment\" href=\"/uploads/short-url/6aPgRwD1Gf8YCHrFf6yhV47PYuW.morph\">table-wide replace with iteration.morph</a> (5.4 KB)</p>\n<p>Note about the example: if you're new to the \"Input\" action, press the \"Populate automatically\" button in the action settings to retrieve the first column as a sample.</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/c/c551af3f07f6b71ee7e9bc3f583579f9ac9f1f97.png\" data-download-href=\"https://community.easymorph.com/uploads/default/c551af3f07f6b71ee7e9bc3f583579f9ac9f1f97\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/c/c551af3f07f6b71ee7e9bc3f583579f9ac9f1f97.png\" alt=\"image\" data-base62-sha1=\"s9z4lctL5s3v1tKLXYv4U8FVZ7F\" width=\"352\" height=\"314\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">352×314 6.51 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>","post_number":5,"post_type":1,"posts_count":7,"updated_at":"2026-06-12T13:19:55.326Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":13,"readers_count":12,"score":6.4,"yours":false,"topic_id":6693,"topic_slug":"minor-bug-in-table-wide-replace","topic_title":"Minor Bug in Table-wide replace","topic_html_title":"Minor Bug in Table-wide replace","category_id":3,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"bookmarked":false,"raw":"@Sir-McNeil \n\nYour observation is correct. The \"Table-wide replace\" action distinguishes text and numbers and has different functionality in both cases.\n\nWhile this has clear limitations, such as the case you demonstrated, trying to accommodate all possible replacement scenarios in one action might lead to overcomplicating it.\n\nLuckily, EasyMorph has a plenty of tools to design a workflow that does exactly what you need, even if one particular action doesn't do it out of the box.\n\nHere is your example reworked using the \"Iterate columns\" action. While it's more elaborate, it implements exactly the behavior you're looking for (if I understood it correctly).\n\n[table-wide replace with iteration.morph|attachment](upload://6aPgRwD1Gf8YCHrFf6yhV47PYuW.morph) (5.4 KB)\n\nNote about the example: if you're new to the \"Input\" action, press the \"Populate automatically\" button in the action settings to retrieve the first column as a sample.\n\n![image|352x314](upload://s9z4lctL5s3v1tKLXYv4U8FVZ7F.png)","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a class=\"mention\" href=\"/u/sir-mcneil\">@Sir-McNeil</a> \nYour observation is correct. The &quot;Table-wide replace&quot; action distinguishes text and numbers and has different functionality in both cases. \nWhile this has clear limitations, such as the case you demonstrated, trying to accommodate all possible replacement scenarios in one action might l&hellip;","truncated":true,"post_url":"/t/minor-bug-in-table-wide-replace/6693/5","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":true,"topic_accepted_answer":true},{"id":22282,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-12T12:58:41.898Z","cooked":"<p>Hi Romain,</p>\n<p>For me to understand the case better:</p>\n<ul>\n<li>Why do users need to have local (file-based) repositories?</li>\n<li>What prevents them from creating connectors in the shared (Server-hosted) repository and use them in local workflows?</li>\n</ul>","post_number":2,"post_type":1,"posts_count":5,"updated_at":"2026-06-12T12:59:08.321Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":12,"readers_count":11,"score":12.0,"yours":false,"topic_id":6695,"topic_slug":"merge-file-repository-and-server-space-connectors","topic_title":"Merge File repository and Server space connectors","topic_html_title":"Merge File repository and Server space connectors","category_id":5,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"bookmarked":false,"raw":"Hi Romain,\n\nFor me to understand the case better:\n- Why do users need to have local (file-based) repositories? \n- What prevents them from creating connectors in the shared (Server-hosted) repository and use them in local workflows?","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi Romain, \nFor me to understand the case better: \n\nWhy do users need to have local (file-based) repositories?\nWhat prevents them from creating connectors in the shared (Server-hosted) repository and use them in local workflows?","truncated":true,"post_url":"/t/merge-file-repository-and-server-space-connectors/6695/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22281,"name":"romain.jourdan","username":"RJO","avatar_template":"/user_avatar/community.easymorph.com/rjo/{size}/4084_2.png","created_at":"2026-06-12T12:45:56.635Z","cooked":"<p>Hi,</p>\n<p>We have a kind of frustration about this. The file repository connectors can be created by end users using a network folder, and the server space connectors are generally created by an admin of the server. But when you are an end user, you would like to use both file repo and server space connectors inside one project. I don't think it's possible today : you have to choose one option.</p>\n<p>The behaviour would be similar to embedded connectors. Today Easymorph desktop merge embedded connectors and either server space or file repo connectors. Why not merge the 3 sources of connectors ? When I say \"merge\" I mean that if you use an action that requires a connector, you can select among connectors from one shared source and among embedded connectors.</p>","post_number":1,"post_type":1,"posts_count":5,"updated_at":"2026-06-12T12:47:34.535Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":2,"reads":12,"readers_count":11,"score":12.0,"yours":false,"topic_id":6695,"topic_slug":"merge-file-repository-and-server-space-connectors","topic_title":"Merge File repository and Server space connectors","topic_html_title":"Merge File repository and Server space connectors","category_id":5,"display_username":"romain.jourdan","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"bookmarked":false,"raw":"Hi,\n\nWe have a kind of frustration about this. The file repository connectors can be created by end users using a network folder, and the server space connectors are generally created by an admin of the server. But when you are an end user, you would like to use both file repo and server space connectors inside one project. I don't think it's possible today : you have to choose one option.\n\nThe behaviour would be similar to embedded connectors. Today Easymorph desktop merge embedded connectors and either server space or file repo connectors. Why not merge the 3 sources of connectors ? When I say \"merge\" I mean that if you use an action that requires a connector, you can select among connectors from one shared source and among embedded connectors.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":92,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi, \nWe have a kind of frustration about this. The file repository connectors can be created by end users using a network folder, and the server space connectors are generally created by an admin of the server. But when you are an end user, you would like to use both file repo and server space conne&hellip;","truncated":true,"post_url":"/t/merge-file-repository-and-server-space-connectors/6695/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":22280,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-11T14:04:35.265Z","cooked":"<p><a class=\"mention\" href=\"/u/nicktagz\">@nicktagz</a>, we were able to replicate the issue. Thank you for reporting it!</p>","post_number":2,"post_type":1,"posts_count":2,"updated_at":"2026-06-11T14:04:35.265Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":16,"readers_count":15,"score":17.4,"yours":false,"topic_id":6694,"topic_slug":"server-gateway-incorrect-description","topic_title":"Server Gateway Incorrect Description","topic_html_title":"Server Gateway Incorrect Description","category_id":3,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"@nicktagz, we were able to replicate the issue. Thank you for reporting it!","actions_summary":[{"id":2,"count":1}],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a class=\"mention\" href=\"/u/nicktagz\">@nicktagz</a>, we were able to replicate the issue. Thank you for reporting it!","truncated":true,"post_url":"/t/server-gateway-incorrect-description/6694/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22279,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-11T14:03:24.994Z","cooked":"<p>Hi <a class=\"mention\" href=\"/u/sir-mcneil\">@Sir-McNeil</a>,</p>\n<aside class=\"quote no-group\" data-username=\"Sir-McNeil\" data-post=\"1\" data-topic=\"6693\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://community.easymorph.com/letter_avatar_proxy/v4/letter/s/57b2e6/48.png\" class=\"avatar\"> Sir-McNeil:</div>\n<blockquote>\n<p>When I configure Table-wide replace to replace a text string that looks like a number, it replaces numbers, not text strings, e.g.</p>\n</blockquote>\n</aside>\n<p>This behavior of the \"Table-wide replace\" action is by design. We will discuss internally if we should change it.</p>","post_number":4,"post_type":1,"posts_count":7,"updated_at":"2026-06-11T14:03:24.994Z","reply_count":0,"reply_to_post_number":null,"quote_count":1,"incoming_link_count":0,"reads":15,"readers_count":14,"score":2.4,"yours":false,"topic_id":6693,"topic_slug":"minor-bug-in-table-wide-replace","topic_title":"Minor Bug in Table-wide replace","topic_html_title":"Minor Bug in Table-wide replace","category_id":3,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hi @Sir-McNeil,\n\n[quote=\"Sir-McNeil, post:1, topic:6693\"]\nWhen I configure Table-wide replace to replace a text string that looks like a number, it replaces numbers, not text strings, e.g.\n[/quote]\n\nThis behavior of the \"Table-wide replace\" action is by design. We will discuss internally if we should change it.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi <a class=\"mention\" href=\"/u/sir-mcneil\">@Sir-McNeil</a>, \n\nThis behavior of the &quot;Table-wide replace&quot; action is by design. We will discuss internally if we should change it.","truncated":true,"post_url":"/t/minor-bug-in-table-wide-replace/6693/4","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22278,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-11T13:57:43.509Z","cooked":"<p>Hi <a class=\"mention\" href=\"/u/sir-mcneil\">@Sir-McNeil</a>,</p>\n<aside class=\"quote no-group\" data-username=\"Sir-McNeil\" data-post=\"2\" data-topic=\"6693\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://community.easymorph.com/letter_avatar_proxy/v4/letter/s/57b2e6/48.png\" class=\"avatar\"> Sir-McNeil:</div>\n<blockquote>\n<p>I just noticed another, unrelated bug: the \"Find action\" search doesn't show the Table-wide replace action when I type \"Table-wide\":</p>\n</blockquote>\n</aside>\n<p>Which EasyMorph Desktop version are you using?</p>\n<p>I can confirm that searching for \"Table-wide\" doesn't work in version 5.9.8.18, but both \"Table\" and \"wide\" do work. Also, in version 6.0+, all the three cases work as expected.</p>","post_number":3,"post_type":1,"posts_count":7,"updated_at":"2026-06-11T13:57:43.509Z","reply_count":1,"reply_to_post_number":2,"quote_count":1,"incoming_link_count":1,"reads":15,"readers_count":14,"score":12.4,"yours":false,"topic_id":6693,"topic_slug":"minor-bug-in-table-wide-replace","topic_title":"Minor Bug in Table-wide replace","topic_html_title":"Minor Bug in Table-wide replace","category_id":3,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hi @Sir-McNeil,\n\n[quote=\"Sir-McNeil, post:2, topic:6693\"]\nI just noticed another, unrelated bug: the \"Find action\" search doesn't show the Table-wide replace action when I type \"Table-wide\":\n[/quote]\n\nWhich EasyMorph Desktop version are you using?\n\nI can confirm that searching for \"Table-wide\" doesn't work in version 5.9.8.18, but both \"Table\" and \"wide\" do work. Also, in version 6.0+, all the three cases work as expected.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi <a class=\"mention\" href=\"/u/sir-mcneil\">@Sir-McNeil</a>, \n\nWhich EasyMorph Desktop version are you using? \nI can confirm that searching for &quot;Table-wide&quot; doesn&#39;t work in version 5.9.8.18, but both &quot;Table&quot; and &quot;wide&quot; do work. Also, in version 6.0+, all the three cases work as expected.","truncated":true,"post_url":"/t/minor-bug-in-table-wide-replace/6693/3","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22277,"name":"Nick Tagz","username":"nicktagz","avatar_template":"/user_avatar/community.easymorph.com/nicktagz/{size}/5816_2.png","created_at":"2026-06-11T13:20:47.723Z","cooked":"<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/c/c2b4e12ed7f19c9f60e48a0bede277ea5362f61c.png\" data-download-href=\"https://community.easymorph.com/uploads/default/c2b4e12ed7f19c9f60e48a0bede277ea5362f61c\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/c/c2b4e12ed7f19c9f60e48a0bede277ea5362f61c.png\" alt=\"image\" data-base62-sha1=\"rMsa2Zjta60iFtys1b3m3OLcLSY\" width=\"690\" height=\"124\" data-dominant-color=\"EDECD5\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">866×156 9.32 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<p>Just an FYI.  I think this description is in the wrong spot on the most recent version of EM server.</p>","post_number":1,"post_type":1,"posts_count":2,"updated_at":"2026-06-11T13:20:47.723Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":5,"reads":17,"readers_count":16,"score":27.6,"yours":false,"topic_id":6694,"topic_slug":"server-gateway-incorrect-description","topic_title":"Server Gateway Incorrect Description","topic_html_title":"Server Gateway Incorrect Description","category_id":3,"display_username":"Nick Tagz","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"bookmarked":false,"raw":"![image|690x124](upload://rMsa2Zjta60iFtys1b3m3OLcLSY.png)\n\nJust an FYI.  I think this description is in the wrong spot on the most recent version of EM server.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":558,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/c/c2b4e12ed7f19c9f60e48a0bede277ea5362f61c.png\" data-download-href=\"https://community.easymorph.com/uploads/default/c2b4e12ed7f19c9f60e48a0bede277ea5362f61c\" title=\"image\">[image]</a> \nJust an FYI.  I think this description is in the wrong spot on the most recent version of EM server.","truncated":true,"post_url":"/t/server-gateway-incorrect-description/6694/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":22276,"name":"Laurens","username":"Sir-McNeil","avatar_template":"/letter_avatar_proxy/v4/letter/s/57b2e6/{size}.png","created_at":"2026-06-11T06:32:15.208Z","cooked":"<p>I just noticed another, unrelated bug: the \"Find action\" search doesn't show the Table-wide replace action when I type \"Table-wide\":</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/1/168903adc03e3977071182eac8e409d446755870.png\" data-download-href=\"https://community.easymorph.com/uploads/default/168903adc03e3977071182eac8e409d446755870\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/1/168903adc03e3977071182eac8e409d446755870.png\" alt=\"image\" data-base62-sha1=\"3dm3ulZ2O2CzrLViRqqd2rfJbxu\" width=\"487\" height=\"166\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">487×166 2.98 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<p>It does show up for \"Table\", \"wide\" and \"replace\". Apparently the hyphenation gets processed as a single term <em>by the search bar</em>, but not <em>by the index being searched</em>.</p>\n<p>In that sense, it's a very similar bug to the one in this post: both are cases where the user entry field gets processed subtly differently from the underlying data (the columns of the dataset, the action metadata).</p>","post_number":2,"post_type":1,"posts_count":7,"updated_at":"2026-06-11T06:32:15.208Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":4,"reads":17,"readers_count":16,"score":27.8,"yours":false,"topic_id":6693,"topic_slug":"minor-bug-in-table-wide-replace","topic_title":"Minor Bug in Table-wide replace","topic_html_title":"Minor Bug in Table-wide replace","category_id":3,"display_username":"Laurens","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"I just noticed another, unrelated bug: the \"Find action\" search doesn't show the Table-wide replace action when I type \"Table-wide\":\n\n![image|487x166](upload://3dm3ulZ2O2CzrLViRqqd2rfJbxu.png)\n\nIt does show up for \"Table\", \"wide\" and \"replace\". Apparently the hyphenation gets processed as a single term *by the search bar*, but not *by the index being searched*.\n\nIn that sense, it's a very similar bug to the one in this post: both are cases where the user entry field gets processed subtly differently from the underlying data (the columns of the dataset, the action metadata).","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1302,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"I just noticed another, unrelated bug: the &quot;Find action&quot; search doesn&#39;t show the Table-wide replace action when I type &quot;Table-wide&quot;: \n <a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/1/168903adc03e3977071182eac8e409d446755870.png\" data-download-href=\"https://community.easymorph.com/uploads/default/168903adc03e3977071182eac8e409d446755870\" title=\"image\">[image]</a> \nIt does show up for &quot;Table&quot;, &quot;wide&quot; and &quot;replace&quot;. Apparently the hyphenation gets processed as a single term by the search bar, but not by the index being &hellip;","truncated":true,"post_url":"/t/minor-bug-in-table-wide-replace/6693/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22275,"name":"Laurens","username":"Sir-McNeil","avatar_template":"/letter_avatar_proxy/v4/letter/s/57b2e6/{size}.png","created_at":"2026-06-11T06:27:25.774Z","cooked":"<p>When I configure Table-wide replace to replace a text string that looks like a number, it replaces numbers, not text strings, e.g.</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/9/9de14a30d79a3d5ce17069419a9d41e98071046f.png\" data-download-href=\"https://community.easymorph.com/uploads/default/9de14a30d79a3d5ce17069419a9d41e98071046f\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/9/9de14a30d79a3d5ce17069419a9d41e98071046f.png\" alt=\"image\" data-base62-sha1=\"mwFDVIz2rkkSMttyFoJmEiZLBMz\" width=\"484\" height=\"363\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">484×363 8.88 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<p>The image already shows that the user input is being interpreted as a number: the \"where it's\" options, which apply only to text replacements, are greyed out.</p>\n<p>Here's a minimal failing example:<br>\n<a class=\"attachment\" href=\"/uploads/short-url/zf5KHDSasZRCBGM0GiF0sGwjJnE.morph\">table-wide replace bug.morph</a> (2.3 KB)</p>","post_number":1,"post_type":1,"posts_count":7,"updated_at":"2026-06-11T06:48:15.871Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":5,"reads":17,"readers_count":16,"score":22.8,"yours":false,"topic_id":6693,"topic_slug":"minor-bug-in-table-wide-replace","topic_title":"Minor Bug in Table-wide replace","topic_html_title":"Minor Bug in Table-wide replace","category_id":3,"display_username":"Laurens","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":2,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"When I configure Table-wide replace to replace a text string that looks like a number, it replaces numbers, not text strings, e.g.\n\n![image|484x363](upload://mwFDVIz2rkkSMttyFoJmEiZLBMz.png)\n\nThe image already shows that the user input is being interpreted as a number: the \"where it's\" options, which apply only to text replacements, are greyed out.\n\nHere's a minimal failing example: \n[table-wide replace bug.morph|attachment](upload://zf5KHDSasZRCBGM0GiF0sGwjJnE.morph) (2.3 KB)","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1302,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"When I configure Table-wide replace to replace a text string that looks like a number, it replaces numbers, not text strings, e.g. \n <a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/9/9de14a30d79a3d5ce17069419a9d41e98071046f.png\" data-download-href=\"https://community.easymorph.com/uploads/default/9de14a30d79a3d5ce17069419a9d41e98071046f\" title=\"image\">[image]</a> \nThe image already shows that the user input is being interpreted as a number: the &quot;where it&#39;s&quot; options, which apply only to text replacements, are greyed out. &hellip;","truncated":true,"post_url":"/t/minor-bug-in-table-wide-replace/6693/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true,"can_vote":false},{"id":22274,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-10T16:40:04.307Z","cooked":"<p>Hello <a class=\"mention\" href=\"/u/felippe.costa\">@Felippe.Costa</a>,</p>\n<p>Native Oracle connector in EasyMorph uses <a href=\"http://ODP.NET\">ODP.NET</a> Managed Driver internally. And that driver takes TNS_ADMIN environment variables into account. A user variable should take precedence over a system variable with the same name. You can check it by executing the \"Run program\" action with the \"Arguments: Text\" option set to <code>echo %TNS_ADMIN%</code> and the \"Capture output\" option checked.</p>\n<p>Please note that <a href=\"http://ODP.NET\">ODP.NET</a> supports several ways to define TNS_ADIMN, and some of them will take over environment variables. For example, you can specify TNS_ADMIN in a connection string via the \"Custom properties\" tab in the connector settings. And the driver will use that value to search for the <code>tnsnames.ora</code> file.</p>\n<p>You can check the precedence order of different ways to set TNS_ADMIN value here: <a href=\"https://docs.oracle.com/en/database/oracle/oracle-database/21/odpnt/InstallConfig.html#GUID-FB680A9A-1182-4C06-874D-56E44B7857B5\" class=\"inline-onebox\">Configuring Oracle Data Provider for .NET</a></p>\n<p>But please note that Oracle's documentation on <a href=\"http://ODP.NET\">ODP.NET</a> sometimes doesn't match the actual behavior.</p>","post_number":2,"post_type":1,"posts_count":3,"updated_at":"2026-06-10T16:40:04.307Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":9,"readers_count":8,"score":1.8,"yours":false,"topic_id":6690,"topic_slug":"oracle-tns-connector-vs-environment-variables-tns-admin","topic_title":"ORACLE TNS connector vs. environment variables [TNS_ADMIN]","topic_html_title":"ORACLE TNS connector vs. environment variables [TNS_ADMIN]","category_id":1,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hello @Felippe.Costa,\n\nNative Oracle connector in EasyMorph uses ODP.NET Managed Driver internally. And that driver takes TNS_ADMIN environment variables into account. A user variable should take precedence over a system variable with the same name. You can check it by executing the \"Run program\" action with the \"Arguments: Text\" option set to `echo %TNS_ADMIN%` and the \"Capture output\" option checked.\n\nPlease note that ODP.NET supports several ways to define TNS_ADIMN, and some of them will take over environment variables. For example, you can specify TNS_ADMIN in a connection string via the \"Custom properties\" tab in the connector settings. And the driver will use that value to search for the `tnsnames.ora` file.\n\nYou can check the precedence order of different ways to set TNS_ADMIN value here: https://docs.oracle.com/en/database/oracle/oracle-database/21/odpnt/InstallConfig.html#GUID-FB680A9A-1182-4C06-874D-56E44B7857B5\n\nBut please note that Oracle's documentation on ODP.NET sometimes doesn't match the actual behavior.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hello <a class=\"mention\" href=\"/u/felippe.costa\">@Felippe.Costa</a>, \nNative Oracle connector in EasyMorph uses <a href=\"http://ODP.NET\">ODP.NET</a> Managed Driver internally. And that driver takes TNS_ADMIN environment variables into account. A user variable should take precedence over a system variable with the same name. You can check it by executing the &quot;Run program&quot; ac&hellip;","truncated":true,"post_url":"/t/oracle-tns-connector-vs-environment-variables-tns-admin/6690/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22273,"name":"David Turner","username":"DTurner","avatar_template":"/letter_avatar_proxy/v4/letter/d/90ced4/{size}.png","created_at":"2026-06-10T14:51:54.619Z","cooked":"<p>If anyone is interested, I've attached the project. The idea is that you can pass in a pipe delimited list of databases and local folders to test a connection too. Also SharePoint, but you only need one folder as the SharePoint connector requires full access to your SharePoint site. I've delimited the list of folders already, and my idea is that the applicable database connector names will be put in a pick list type parameter. This EasyMorph should exist as an project that is external to the one you are needing validated. Just drop the the tables from the last module into your project and configure just one step, \"Call another project\" action, by assigning the matching parameters and you're good to go. Check the annotation and don't change the Local folder(s) assignment.</p>\n<p><a class=\"attachment\" href=\"/uploads/short-url/z4jahATqQFsnMTCcqu1ZYMxVJA7.morph\">Universal Connection Validator.morph</a> (21.2 KB)</p>","post_number":6,"post_type":1,"posts_count":6,"updated_at":"2026-06-10T14:57:37.823Z","reply_count":0,"reply_to_post_number":5,"quote_count":0,"incoming_link_count":1,"reads":10,"readers_count":9,"score":6.2,"yours":false,"topic_id":6691,"topic_slug":"project-metadata-action-doesnt-grab-server-parameters","topic_title":"Project metadata action doesn't grab server parameters","topic_html_title":"Project metadata action doesn&rsquo;t grab server parameters","category_id":8,"display_username":"David Turner","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":2,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"reply_to_user":{"id":1374,"username":"DTurner","name":"David Turner","avatar_template":"/letter_avatar_proxy/v4/letter/d/90ced4/{size}.png"},"bookmarked":false,"raw":"If anyone is interested, I've attached the project. The idea is that you can pass in a pipe delimited list of databases and local folders to test a connection too. Also SharePoint, but you only need one folder as the SharePoint connector requires full access to your SharePoint site. I've delimited the list of folders already, and my idea is that the applicable database connector names will be put in a pick list type parameter. This EasyMorph should exist as an project that is external to the one you are needing validated. Just drop the the tables from the last module into your project and configure just one step, \"Call another project\" action, by assigning the matching parameters and you're good to go. Check the annotation and don't change the Local folder(s) assignment.\n\n[Universal Connection Validator.morph|attachment](upload://z4jahATqQFsnMTCcqu1ZYMxVJA7.morph) (21.2 KB)","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1374,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"If anyone is interested, I&#39;ve attached the project. The idea is that you can pass in a pipe delimited list of databases and local folders to test a connection too. Also SharePoint, but you only need one folder as the SharePoint connector requires full access to your SharePoint site. I&#39;ve delimited t&hellip;","truncated":true,"post_url":"/t/project-metadata-action-doesnt-grab-server-parameters/6691/6","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22272,"name":"David Turner","username":"DTurner","avatar_template":"/letter_avatar_proxy/v4/letter/d/90ced4/{size}.png","created_at":"2026-06-10T14:38:12.586Z","cooked":"<p>The xml solution is difficult because the user running the task may not have access to the folder where that xml exists. But I was able to work around the problem of grabbing task parameters values by type by filtering the parameter name by type from the project metadata action and then adding the parameter name, via lookup action, from the Parameter table action. The resulting column is then concatenated and feed into the Universal Validator.</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/7/7113e973b706e7fc10a92d9c1dd6b0d0a6d09e23.png\" data-download-href=\"https://community.easymorph.com/uploads/default/7113e973b706e7fc10a92d9c1dd6b0d0a6d09e23\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/7/7113e973b706e7fc10a92d9c1dd6b0d0a6d09e23.png\" alt=\"image\" data-base62-sha1=\"g8kC92TOcZfeR6NfdBjNT4KJsuT\" width=\"271\" height=\"170\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">271×170 4.21 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>","post_number":5,"post_type":1,"posts_count":6,"updated_at":"2026-06-10T14:39:46.913Z","reply_count":1,"reply_to_post_number":3,"quote_count":0,"incoming_link_count":0,"reads":10,"readers_count":9,"score":6.2,"yours":false,"topic_id":6691,"topic_slug":"project-metadata-action-doesnt-grab-server-parameters","topic_title":"Project metadata action doesn't grab server parameters","topic_html_title":"Project metadata action doesn&rsquo;t grab server parameters","category_id":8,"display_username":"David Turner","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"reply_to_user":{"id":1,"username":"dgudkov","name":"Dmitry Gudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png"},"bookmarked":false,"raw":"The xml solution is difficult because the user running the task may not have access to the folder where that xml exists. But I was able to work around the problem of grabbing task parameters values by type by filtering the parameter name by type from the project metadata action and then adding the parameter name, via lookup action, from the Parameter table action. The resulting column is then concatenated and feed into the Universal Validator.\n\n![image|271x170](upload://g8kC92TOcZfeR6NfdBjNT4KJsuT.png)","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1374,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"The xml solution is difficult because the user running the task may not have access to the folder where that xml exists. But I was able to work around the problem of grabbing task parameters values by type by filtering the parameter name by type from the project metadata action and then adding the p&hellip;","truncated":true,"post_url":"/t/project-metadata-action-doesnt-grab-server-parameters/6691/5","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":true,"topic_accepted_answer":true},{"id":22271,"name":"David Turner","username":"DTurner","avatar_template":"/letter_avatar_proxy/v4/letter/d/90ced4/{size}.png","created_at":"2026-06-10T13:34:52.303Z","cooked":"<p>The challenge here is that I need to dynamically filter the parameter values by parameter type (file folder path in this case), and I don't think the parameter table action will allow me to do that. I'll look into the xml to find a work around.</p>\n<p>I'm also exploring using the project metadata to grab the parameters names of the proper parameter type and then using the parameter table to grab the respective values.</p>","post_number":4,"post_type":1,"posts_count":6,"updated_at":"2026-06-10T13:48:05.069Z","reply_count":0,"reply_to_post_number":2,"quote_count":0,"incoming_link_count":0,"reads":11,"readers_count":10,"score":1.4,"yours":false,"topic_id":6691,"topic_slug":"project-metadata-action-doesnt-grab-server-parameters","topic_title":"Project metadata action doesn't grab server parameters","topic_html_title":"Project metadata action doesn&rsquo;t grab server parameters","category_id":8,"display_username":"David Turner","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":2,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"reply_to_user":{"id":2,"username":"andrew.rybka","name":"Andrew Rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png"},"bookmarked":false,"raw":"The challenge here is that I need to dynamically filter the parameter values by parameter type (file folder path in this case), and I don't think the parameter table action will allow me to do that. I'll look into the xml to find a work around.\n\nI'm also exploring using the project metadata to grab the parameters names of the proper parameter type and then using the parameter table to grab the respective values.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1374,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"The challenge here is that I need to dynamically filter the parameter values by parameter type (file folder path in this case), and I don&#39;t think the parameter table action will allow me to do that. I&#39;ll look into the xml to find a work around. \nI&#39;m also exploring using the project metadata to grab &hellip;","truncated":true,"post_url":"/t/project-metadata-action-doesnt-grab-server-parameters/6691/4","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22270,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-10T00:18:11.863Z","cooked":"<p>To add to <a class=\"mention\" href=\"/u/andrew.rybka\">@andrew.rybka</a> answer, the \"Parameter table\" action works for the cases when you need to capture task parameters <strong>within</strong> the workflow at runtime.</p>\n<p>Obtaining task parameters from task configurations is currently not supported out of the box. However, since task configurations are just XML files, you can try extracting them by parsing XML. In this topic, there is a sample workflow that does it: <a href=\"https://community.easymorph.com/t/easymorph-server-command-list-servertask-parametervalues/5717/4\" class=\"inline-onebox\">Easymorph Server Command (List ServerTask Parametervalues) - #4 by rebmanna</a></p>","post_number":3,"post_type":1,"posts_count":6,"updated_at":"2026-06-10T00:18:11.863Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":12,"readers_count":11,"score":36.8,"yours":false,"topic_id":6691,"topic_slug":"project-metadata-action-doesnt-grab-server-parameters","topic_title":"Project metadata action doesn't grab server parameters","topic_html_title":"Project metadata action doesn&rsquo;t grab server parameters","category_id":8,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"bookmarked":false,"raw":"To add to @andrew.rybka answer, the \"Parameter table\" action works for the cases when you need to capture task parameters **within** the workflow at runtime.\n\nObtaining task parameters from task configurations is currently not supported out of the box. However, since task configurations are just XML files, you can try extracting them by parsing XML. In this topic, there is a sample workflow that does it: https://community.easymorph.com/t/easymorph-server-command-list-servertask-parametervalues/5717/4?u=dgudkov","actions_summary":[{"id":2,"count":2}],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"To add to <a class=\"mention\" href=\"/u/andrew.rybka\">@andrew.rybka</a> answer, the &quot;Parameter table&quot; action works for the cases when you need to capture task parameters within the workflow at runtime. \nObtaining task parameters from task configurations is currently not supported out of the box. However, since task configurations are just XML fil&hellip;","truncated":true,"post_url":"/t/project-metadata-action-doesnt-grab-server-parameters/6691/3","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22269,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-10T00:10:58.868Z","cooked":"<p>Thanks, <a class=\"mention\" href=\"/u/albertfabritius\">@AlbertFabritius</a>. That clarifies the case a lot, very informative.</p>\n<p>We will discuss internally what we can do about it.</p>","post_number":7,"post_type":1,"posts_count":7,"updated_at":"2026-06-10T00:10:58.868Z","reply_count":0,"reply_to_post_number":6,"quote_count":0,"incoming_link_count":0,"reads":8,"readers_count":7,"score":1.6,"yours":false,"topic_id":6683,"topic_slug":"expose-jdbc-fetch-size-defaultrowprefetch-for-the-oracle-connector","topic_title":"Expose JDBC fetch size (defaultRowPrefetch) for the Oracle connector","topic_html_title":"Expose JDBC fetch size (defaultRowPrefetch) for the Oracle connector","category_id":1,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"reply_to_user":{"id":941,"username":"AlbertFabritius","name":"AlbertFabritius","avatar_template":"/user_avatar/community.easymorph.com/albertfabritius/{size}/4998_2.png"},"bookmarked":false,"raw":"Thanks, @AlbertFabritius. That clarifies the case a lot, very informative.\n\nWe will discuss internally what we can do about it.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Thanks, <a class=\"mention\" href=\"/u/albertfabritius\">@AlbertFabritius</a>. That clarifies the case a lot, very informative. \nWe will discuss internally what we can do about it.","truncated":true,"post_url":"/t/expose-jdbc-fetch-size-defaultrowprefetch-for-the-oracle-connector/6683/7","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22268,"name":"AlbertFabritius","username":"AlbertFabritius","avatar_template":"/user_avatar/community.easymorph.com/albertfabritius/{size}/4998_2.png","created_at":"2026-06-09T22:01:12.476Z","cooked":"<p>Hi Andrew, Dmitry,</p>\n<p>Thanks for digging into this. That clears it up: since the native connector uses <a href=\"http://ODP.NET\" rel=\"noopener nofollow ugc\">ODP.NET</a> Managed and the fetch size can only be set in code (not via the connection string), there was no way to tune it from the connector config — which matches what I was seeing.</p>\n<p>To close the loop on my end, I solved it by moving the extract to a small Python script using <code>python-oracledb</code>, where the fetch size is a direct cursor setting. The part that matters:</p>\n<p>python</p>\n<pre><code class=\"lang-auto\">import oracledb\n\n# LOBs excluded so the fetch limits actually apply to the rows\noracledb.defaults.fetch_lobs = False\n\ndsn = oracledb.makedsn(\"host\", 1521, sid=\"opera\")\nconn = oracledb.connect(user=..., password=..., dsn=dsn)\n\ncur = conn.cursor()\ncur.arraysize = 10000       # rows the driver pulls from Oracle per round-trip\ncur.prefetchrows = 10000    # driver prefetch\n\ncur.execute('SELECT * FROM \"RESERVATION_DAILY_ELEMENT_NAME\"')\nwhile True:\n    rows = cur.fetchmany(100000)   # chunk size for the load into Snowflake\n    if not rows:\n        break\n    # load chunk into Snowflake\n</code></pre>\n<p>Raising those from the defaults took the extract from hours (and the dropped ORA-03135 connection) to completing comfortably within any timeout window.</p>\n<p>To be precise about the request: this isn't an Oracle limitation — the server wasn't specially configured and serves the rows fine. Fetch/prefetch size is a client-side setting, and the low default is just the driver's standard out-of-the-box behavior (tuned for OLTP, not bulk extracts), so anyone pulling large Oracle tables would hit it. It's not an <a href=\"http://ODP.NET\" rel=\"noopener nofollow ugc\">ODP.NET</a> limitation either, since the driver supports raising it in code — the connector just doesn't expose that setting. A \"Fetch size\" field in the connector config (Option 1) would let users handle large tables without dropping out to a separate tool.</p>\n<p>I've got the Python path working as a fallback, so this isn't blocking me anymore — but I think the feature would help anyone moving large Oracle tables through EasyMorph. Happy to test a build if useful.</p>\n<p>Albert</p>","post_number":6,"post_type":1,"posts_count":7,"updated_at":"2026-06-09T22:01:12.476Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":8,"readers_count":7,"score":51.6,"yours":false,"topic_id":6683,"topic_slug":"expose-jdbc-fetch-size-defaultrowprefetch-for-the-oracle-connector","topic_title":"Expose JDBC fetch size (defaultRowPrefetch) for the Oracle connector","topic_html_title":"Expose JDBC fetch size (defaultRowPrefetch) for the Oracle connector","category_id":1,"display_username":"AlbertFabritius","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","bookmarked":false,"raw":"Hi Andrew, Dmitry,\n\nThanks for digging into this. That clears it up: since the native connector uses ODP.NET Managed and the fetch size can only be set in code (not via the connection string), there was no way to tune it from the connector config — which matches what I was seeing.\n\nTo close the loop on my end, I solved it by moving the extract to a small Python script using `python-oracledb`, where the fetch size is a direct cursor setting. The part that matters:\n\npython\n\n```\nimport oracledb\n\n# LOBs excluded so the fetch limits actually apply to the rows\noracledb.defaults.fetch_lobs = False\n\ndsn = oracledb.makedsn(\"host\", 1521, sid=\"opera\")\nconn = oracledb.connect(user=..., password=..., dsn=dsn)\n\ncur = conn.cursor()\ncur.arraysize = 10000       # rows the driver pulls from Oracle per round-trip\ncur.prefetchrows = 10000    # driver prefetch\n\ncur.execute('SELECT * FROM \"RESERVATION_DAILY_ELEMENT_NAME\"')\nwhile True:\n    rows = cur.fetchmany(100000)   # chunk size for the load into Snowflake\n    if not rows:\n        break\n    # load chunk into Snowflake\n```\n\nRaising those from the defaults took the extract from hours (and the dropped ORA-03135 connection) to completing comfortably within any timeout window.\n\nTo be precise about the request: this isn't an Oracle limitation — the server wasn't specially configured and serves the rows fine. Fetch/prefetch size is a client-side setting, and the low default is just the driver's standard out-of-the-box behavior (tuned for OLTP, not bulk extracts), so anyone pulling large Oracle tables would hit it. It's not an ODP.NET limitation either, since the driver supports raising it in code — the connector just doesn't expose that setting. A \"Fetch size\" field in the connector config (Option 1) would let users handle large tables without dropping out to a separate tool.\n\nI've got the Python path working as a fallback, so this isn't blocking me anymore — but I think the feature would help anyone moving large Oracle tables through EasyMorph. Happy to test a build if useful.\n\nAlbert","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":941,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi Andrew, Dmitry, \nThanks for digging into this. That clears it up: since the native connector uses <a href=\"http://ODP.NET\" rel=\"noopener nofollow ugc\">ODP.NET</a> Managed and the fetch size can only be set in code (not via the connection string), there was no way to tune it from the connector config — which matches what I was seeing. \nTo close the loop&hellip;","truncated":true,"post_url":"/t/expose-jdbc-fetch-size-defaultrowprefetch-for-the-oracle-connector/6683/6","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22267,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-09T21:35:12.903Z","cooked":"<p><a class=\"mention\" href=\"/u/dturner\">@DTurner</a>, you can use the \"<a href=\"https://help.easymorph.com/doku.php?id=transformations:parametertable\">Parameter table</a>\" action to get the parameter values that the project was executed with.</p>","post_number":2,"post_type":1,"posts_count":6,"updated_at":"2026-06-09T21:35:12.903Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":13,"readers_count":12,"score":7.0,"yours":false,"topic_id":6691,"topic_slug":"project-metadata-action-doesnt-grab-server-parameters","topic_title":"Project metadata action doesn't grab server parameters","topic_html_title":"Project metadata action doesn&rsquo;t grab server parameters","category_id":8,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"@DTurner, you can use the \"[Parameter table](https://help.easymorph.com/doku.php?id=transformations:parametertable)\" action to get the parameter values that the project was executed with.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a class=\"mention\" href=\"/u/dturner\">@DTurner</a>, you can use the &quot;<a href=\"https://help.easymorph.com/doku.php?id=transformations:parametertable\">Parameter table</a>&quot; action to get the parameter values that the project was executed with.","truncated":true,"post_url":"/t/project-metadata-action-doesnt-grab-server-parameters/6691/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22266,"name":"Oleksandr Lysak","username":"olysak","avatar_template":"/letter_avatar_proxy/v4/letter/o/aeb1de/{size}.png","created_at":"2026-06-09T17:27:50.649Z","cooked":"<p>In previous versions, EasyMorph Hub used the Windows HTTP.sys stack for Windows/AD sign-in. In many environments this made Kerberos work implicitly through the server machine account, especially when Hub was accessed by the machine's own domain name.</p>\n<p>Starting with Hub v6, Windows/AD sign-in is handled by the new .NET hosting stack. This is more modern and flexible, but it also means Kerberos configuration must be correct for the account that runs the EasyMorph Hub service and for the exact DNS name users open in the browser.</p>\n<p>For most installations, no change is required. However, if your Hub uses Windows/AD sign-in and is accessed through a custom DNS name, alias, or domain service account, we recommend checking the Kerberos/SPN configuration before or immediately after updating to Hub v6.</p>\n<p>If Kerberos is not configured correctly, Windows may silently fall back to NTLM. NTLM is more fragile over modern HTTP connections, proxies, and browser connection reuse. The typical symptoms are:</p>\n<ul>\n<li>Browser sign-in fails with \"An anonymous request was received in between authentication handshake requests\".</li>\n<li>EasyMorph Desktop sign-in fails with \"Unauthorized\".</li>\n<li>The AD \"Test connection\" in Hub settings is green, but actual Windows sign-in still fails.</li>\n</ul>\n<p>The last point is important: the AD Test connection checks whether Hub can connect to Active Directory over LDAP. It does not prove that a browser or Desktop client can authenticate to the Hub URL with Kerberos.</p>\n<h2><a name=\"p-22266-do-i-need-to-do-anything-1\" class=\"anchor\" href=\"#p-22266-do-i-need-to-do-anything-1\" aria-label=\"Heading link\"></a>Do I need to do anything?</h2>\n<p>First of all, if you don't use Windows/AD sign-in in EasyMorph Hub - no action is required.</p>\n<p>If users access Hub by the server's own domain name and the Hub service runs under one of the built-in Windows service accounts, Kerberos may already work without any explicit SPN configuration.<br>\nIf users access Hub by a friendly DNS name, alias, load-balanced name, or public intranet name - for example:</p>\n<pre><code class=\"lang-auto\">https://hub.company.com\n</code></pre>\n<p>then Kerberos should be checked.</p>\n<p>If the EasyMorph Hub service runs under a domain service account, for example:</p>\n<pre><code class=\"lang-auto\">COMPANY\\svc-easymorph-hub\n</code></pre>\n<p>then the HTTP SPN must be registered on that domain service account.</p>\n<h2><a name=\"p-22266-recommended-configuration-2\" class=\"anchor\" href=\"#p-22266-recommended-configuration-2\" aria-label=\"Heading link\"></a>Recommended configuration</h2>\n<p>The safest configuration is:</p>\n<ul>\n<li>Use an <code>A</code> record for the Hub DNS name - not a <code>CNAME</code>.</li>\n<li>Register an HTTP SPN for the exact Hub host name.</li>\n<li>Register that SPN on the account that runs the EasyMorph Hub service.</li>\n<li>Verify Kerberos from a client machine.</li>\n</ul>\n<p>For example, if users open Hub at:</p>\n<pre><code class=\"lang-auto\">https://hub.company.com\n</code></pre>\n<p>and the Hub service runs as:</p>\n<pre><code class=\"lang-auto\">COMPANY\\svc-easymorph-hub\n</code></pre>\n<p>then the SPN should be:</p>\n<pre><code class=\"lang-auto\">HTTP/hub.company.com\n</code></pre>\n<p>registered on:</p>\n<pre><code class=\"lang-auto\">COMPANY\\svc-easymorph-hub\n</code></pre>\n<h2><a name=\"p-22266-why-cname-aliases-can-be-a-problem-3\" class=\"anchor\" href=\"#p-22266-why-cname-aliases-can-be-a-problem-3\" aria-label=\"Heading link\"></a>Why CNAME aliases can be a problem</h2>\n<p>Kerberos is very sensitive to the server name, and a DNS alias is not always treated as the name typed into the browser.</p>\n<p>For example, consider such DNS record:</p>\n<pre><code class=\"lang-auto\">hub.company.com  CNAME  server123.company.local\n</code></pre>\n<p>In this case, Windows clients may request a Kerberos ticket for the canonical target name:</p>\n<pre><code class=\"lang-auto\">HTTP/server123.company.local\n</code></pre>\n<p>instead of the alias:</p>\n<pre><code class=\"lang-auto\">HTTP/hub.company.com\n</code></pre>\n<p>If the EasyMorph Hub service runs as a domain service account, this can fail even if you registered <code>HTTP/hub.company.com</code>, because the client may not request <em>that</em> SPN at all.<br>\nFor this reason, we recommend using an A record for the Hub URL where possible:</p>\n<pre><code class=\"lang-auto\">hub.company.com  A  10.20.30.40\n</code></pre>\n<p>Then clients request the SPN for the name users actually type:</p>\n<pre><code class=\"lang-auto\">HTTP/hub.company.com\n</code></pre>\n<p>and that SPN can be registered on the Hub service account.</p>\n<h2><a name=\"p-22266-kerberos-setup-steps-4\" class=\"anchor\" href=\"#p-22266-kerberos-setup-steps-4\" aria-label=\"Heading link\"></a>Kerberos setup steps</h2>\n<p>Note: these steps can be performed by your <strong>Active Directory administrator</strong> only, being local admin is not enough.</p>\n<h3><a name=\"p-22266-h-1-identify-the-hub-url-5\" class=\"anchor\" href=\"#p-22266-h-1-identify-the-hub-url-5\" aria-label=\"Heading link\"></a>1. Identify the Hub URL</h3>\n<p>Write down the exact host name users use to open EasyMorph Hub.</p>\n<p>For example:</p>\n<pre><code class=\"lang-auto\">https://hub.company.com\n</code></pre>\n<p>The Kerberos SPN uses only the host name, not the protocol, port, or path:</p>\n<pre><code class=\"lang-auto\">HTTP/hub.company.com\n</code></pre>\n<h3><a name=\"p-22266-h-2-check-whether-the-name-is-a-cname-6\" class=\"anchor\" href=\"#p-22266-h-2-check-whether-the-name-is-a-cname-6\" aria-label=\"Heading link\"></a>2. Check whether the name is a CNAME</h3>\n<p>For example, from a client machine, run:</p>\n<pre><code class=\"lang-auto\">nslookup hub.company.com\n</code></pre>\n<p>If the result shows that <code>hub.company.com</code> is an alias for another name, consider changing it to an A record.<br>\nThis is not always strictly required, but it avoids Kerberos problem where Windows requests a ticket for the DNS target name instead of the friendly name.</p>\n<h3><a name=\"p-22266-h-3-identify-the-windows-account-running-the-easymorph-hub-service-7\" class=\"anchor\" href=\"#p-22266-h-3-identify-the-windows-account-running-the-easymorph-hub-service-7\" aria-label=\"Heading link\"></a>3. Identify the Windows account running the EasyMorph Hub service</h3>\n<p>On the Hub server, open Windows Services and check the \"Log On As\" account for the EasyMorph Hub service.</p>\n<p>Alternatively, run:</p>\n<pre><code class=\"lang-auto\">sc qc EasyMorphServer\n</code></pre>\n<p>Look at</p>\n<pre><code class=\"lang-auto\">SERVICE_START_NAME : .....\n</code></pre>\n<p>If this is a domain account such as <code>COMPANY\\svc-easymorph-hub</code>, then the SPN must be registered on <em>that</em> account.</p>\n<h3><a name=\"p-22266-h-4-check-for-an-existing-spn-8\" class=\"anchor\" href=\"#p-22266-h-4-check-for-an-existing-spn-8\" aria-label=\"Heading link\"></a>4. Check for an existing SPN</h3>\n<p>Ask your AD administrator to run:</p>\n<pre><code class=\"lang-auto\">setspn -Q HTTP/hub.company.com\n</code></pre>\n<p>If the SPN is already registered on another account, do not add a duplicate. Kerberos does not work reliably with duplicate SPNs. You can also check for duplicates with <code>setspn -X</code>.</p>\n<h3><a name=\"p-22266-h-5-register-the-spn-9\" class=\"anchor\" href=\"#p-22266-h-5-register-the-spn-9\" aria-label=\"Heading link\"></a>5. Register the SPN</h3>\n<p>Register the SPN on the Hub service account:</p>\n<pre><code class=\"lang-auto\">setspn -S HTTP/hub.company.com COMPANY\\svc-easymorph-hub\n</code></pre>\n<p>Use <code>-S</code>, not <code>-A</code>. The <code>-S</code> option checks for duplicates before adding the SPN.</p>\n<p>Again, this is an Active Directory write operation, local administrator rights on the Hub server are not enough.<br>\nThe command must be run by a domain administrator or by an account that has been delegated permission to write SPNs for the service account.</p>\n<h3><a name=\"p-22266-h-6-verify-from-a-client-machine-10\" class=\"anchor\" href=\"#p-22266-h-6-verify-from-a-client-machine-10\" aria-label=\"Heading link\"></a>6. Verify from a client machine</h3>\n<p>On a client machine, run:</p>\n<pre><code class=\"lang-auto\">klist purge\nklist get HTTP/hub.company.com\n</code></pre>\n<p>If Kerberos is configured correctly, the second command should obtain a ticket for <code>HTTP/hub.company.com</code>.<br>\nThen open EasyMorph Hub in the browser and try Windows/AD sign-in again.</p>","post_number":1,"post_type":1,"posts_count":1,"updated_at":"2026-06-09T17:27:50.649Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":3,"reads":13,"readers_count":12,"score":17.4,"yours":false,"topic_id":6692,"topic_slug":"transitioning-to-v6-x-x-from-v5-x-x-hub-active-directotry-and-kerberos","topic_title":"Transitioning to v6.x.x from v5.x.x Hub: Active Directotry and Kerberos","topic_html_title":"Transitioning to v6.x.x from v5.x.x Hub: Active Directotry and Kerberos","category_id":9,"display_username":"Oleksandr Lysak","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"","bookmarked":false,"raw":"In previous versions, EasyMorph Hub used the Windows HTTP.sys stack for Windows/AD sign-in. In many environments this made Kerberos work implicitly through the server machine account, especially when Hub was accessed by the machine's own domain name.\n\nStarting with Hub v6, Windows/AD sign-in is handled by the new .NET hosting stack. This is more modern and flexible, but it also means Kerberos configuration must be correct for the account that runs the EasyMorph Hub service and for the exact DNS name users open in the browser.\n\nFor most installations, no change is required. However, if your Hub uses Windows/AD sign-in and is accessed through a custom DNS name, alias, or domain service account, we recommend checking the Kerberos/SPN configuration before or immediately after updating to Hub v6.\n\nIf Kerberos is not configured correctly, Windows may silently fall back to NTLM. NTLM is more fragile over modern HTTP connections, proxies, and browser connection reuse. The typical symptoms are:\n\n* Browser sign-in fails with \"An anonymous request was received in between authentication handshake requests\".\n* EasyMorph Desktop sign-in fails with \"Unauthorized\".\n* The AD \"Test connection\" in Hub settings is green, but actual Windows sign-in still fails.\n\nThe last point is important: the AD Test connection checks whether Hub can connect to Active Directory over LDAP. It does not prove that a browser or Desktop client can authenticate to the Hub URL with Kerberos.\n\n## Do I need to do anything?\n\nFirst of all, if you don't use Windows/AD sign-in in EasyMorph Hub - no action is required.\n\nIf users access Hub by the server's own domain name and the Hub service runs under one of the built-in Windows service accounts, Kerberos may already work without any explicit SPN configuration.\nIf users access Hub by a friendly DNS name, alias, load-balanced name, or public intranet name - for example:\n```\nhttps://hub.company.com\n```\nthen Kerberos should be checked.\n\nIf the EasyMorph Hub service runs under a domain service account, for example:\n```\nCOMPANY\\svc-easymorph-hub\n```\nthen the HTTP SPN must be registered on that domain service account.\n\n## Recommended configuration\n\nThe safest configuration is:\n\n* Use an `A` record for the Hub DNS name - not a `CNAME`.\n* Register an HTTP SPN for the exact Hub host name.\n* Register that SPN on the account that runs the EasyMorph Hub service.\n* Verify Kerberos from a client machine.\n\nFor example, if users open Hub at:\n```\nhttps://hub.company.com\n```\nand the Hub service runs as:\n```\nCOMPANY\\svc-easymorph-hub\n```\nthen the SPN should be:\n```\nHTTP/hub.company.com\n```\nregistered on:\n```\nCOMPANY\\svc-easymorph-hub\n```\n\n## Why CNAME aliases can be a problem\n\nKerberos is very sensitive to the server name, and a DNS alias is not always treated as the name typed into the browser.\n\nFor example, consider such DNS record:\n```\nhub.company.com  CNAME  server123.company.local\n```\nIn this case, Windows clients may request a Kerberos ticket for the canonical target name:\n```\nHTTP/server123.company.local\n```\ninstead of the alias:\n```\nHTTP/hub.company.com\n```\n\nIf the EasyMorph Hub service runs as a domain service account, this can fail even if you registered `HTTP/hub.company.com`, because the client may not request *that* SPN at all.\nFor this reason, we recommend using an A record for the Hub URL where possible:\n```\nhub.company.com  A  10.20.30.40\n```\nThen clients request the SPN for the name users actually type:\n```\nHTTP/hub.company.com\n```\nand that SPN can be registered on the Hub service account.\n\n## Kerberos setup steps\n\nNote: these steps can be performed by your **Active Directory administrator** only, being local admin is not enough.\n\n### 1. Identify the Hub URL\n\nWrite down the exact host name users use to open EasyMorph Hub.\n\nFor example:\n\n```\nhttps://hub.company.com\n```\nThe Kerberos SPN uses only the host name, not the protocol, port, or path:\n```\nHTTP/hub.company.com\n```\n\n### 2. Check whether the name is a CNAME\n\nFor example, from a client machine, run:\n```\nnslookup hub.company.com\n```\nIf the result shows that `hub.company.com` is an alias for another name, consider changing it to an A record.\nThis is not always strictly required, but it avoids Kerberos problem where Windows requests a ticket for the DNS target name instead of the friendly name.\n\n### 3. Identify the Windows account running the EasyMorph Hub service\n\nOn the Hub server, open Windows Services and check the \"Log On As\" account for the EasyMorph Hub service.\n\nAlternatively, run:\n```\nsc qc EasyMorphServer\n```\nLook at\n```\nSERVICE_START_NAME : .....\n```\nIf this is a domain account such as `COMPANY\\svc-easymorph-hub`, then the SPN must be registered on *that* account.\n\n### 4. Check for an existing SPN\n\nAsk your AD administrator to run:\n\n```\nsetspn -Q HTTP/hub.company.com\n```\n\nIf the SPN is already registered on another account, do not add a duplicate. Kerberos does not work reliably with duplicate SPNs. You can also check for duplicates with `setspn -X`.\n\n### 5. Register the SPN\n\nRegister the SPN on the Hub service account:\n\n```\nsetspn -S HTTP/hub.company.com COMPANY\\svc-easymorph-hub\n```\n\nUse `-S`, not `-A`. The `-S` option checks for duplicates before adding the SPN.\n\nAgain, this is an Active Directory write operation, local administrator rights on the Hub server are not enough. \nThe command must be run by a domain administrator or by an account that has been delegated permission to write SPNs for the service account.\n\n### 6. Verify from a client machine\n\nOn a client machine, run:\n\n```\nklist purge\nklist get HTTP/hub.company.com\n```\n\nIf Kerberos is configured correctly, the second command should obtain a ticket for `HTTP/hub.company.com`. \nThen open EasyMorph Hub in the browser and try Windows/AD sign-in again.","actions_summary":[],"moderator":true,"admin":false,"staff":true,"user_id":514,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"In previous versions, EasyMorph Hub used the Windows HTTP.sys stack for Windows/AD sign-in. In many environments this made Kerberos work implicitly through the server machine account, especially when Hub was accessed by the machine&#39;s own domain name. \nStarting with Hub v6, Windows/AD sign-in is hand&hellip;","truncated":true,"post_url":"/t/transitioning-to-v6-x-x-from-v5-x-x-hub-active-directotry-and-kerberos/6692/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":22265,"name":"David Turner","username":"DTurner","avatar_template":"/letter_avatar_proxy/v4/letter/d/90ced4/{size}.png","created_at":"2026-06-09T16:02:39.460Z","cooked":"<p>EasyMorph Server v5.9.8.9<br>\nEasyMorph Desktop v5.9.8.11</p>\n<p>I've building a universal connection validator. It will validate the connection to local folders,  SharePoint, and all databases listed as parameters. The local folder connections in the parameters are grabbed with the Project metadata action and concatenated into a delimited list before being sent to the validator.</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/5/5a353c3161d374ffe8e9d8d377e70437cdccadc5.png\" data-download-href=\"https://community.easymorph.com/uploads/default/5a353c3161d374ffe8e9d8d377e70437cdccadc5\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/5/5a353c3161d374ffe8e9d8d377e70437cdccadc5.png\" alt=\"image\" data-base62-sha1=\"cS11JVABssAkkGPJauQ3KsegMWp\" width=\"518\" height=\"121\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">518×121 4.35 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div><br>\n<img src=\"https://community.easymorph.com/uploads/default/original/2X/e/ecf67e1c87170f50579ce319134809c272f8031a.png\" alt=\"image\" data-base62-sha1=\"xOgN2JIIbmx2L6bdcgjyVyArt58\" width=\"152\" height=\"82\"></p>\n<p>This is working on my local machine. Then I upload to our VM from my local machine via the EasyMorph Server. I create a new task and configure the parameters on the EasyMorph Server.</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/b/b0209b72ae7772962349b9f1ec89ebccaedbfce0.png\" data-download-href=\"https://community.easymorph.com/uploads/default/b0209b72ae7772962349b9f1ec89ebccaedbfce0\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/optimized/2X/b/b0209b72ae7772962349b9f1ec89ebccaedbfce0_2_690x421.png\" alt=\"image\" data-base62-sha1=\"p85Tw55FvrjQTfVy6utNv2o195e\" width=\"690\" height=\"421\" srcset=\"https://community.easymorph.com/uploads/default/optimized/2X/b/b0209b72ae7772962349b9f1ec89ebccaedbfce0_2_690x421.png, https://community.easymorph.com/uploads/default/optimized/2X/b/b0209b72ae7772962349b9f1ec89ebccaedbfce0_2_1035x631.png 1.5x, https://community.easymorph.com/uploads/default/original/2X/b/b0209b72ae7772962349b9f1ec89ebccaedbfce0.png 2x\" data-dominant-color=\"FAFAFA\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">1155×706 18.4 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<p>Upon running the project ad hoc from the task menu I get an error file back from my validator.</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/0/0154d2b34c9fc3e748a45f03f77049243fd214de.png\" data-download-href=\"https://community.easymorph.com/uploads/default/0154d2b34c9fc3e748a45f03f77049243fd214de\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/0/0154d2b34c9fc3e748a45f03f77049243fd214de.png\" alt=\"image\" data-base62-sha1=\"bMd1i5NPIghGpgQFso9eBdB8fk\" width=\"690\" height=\"209\" data-dominant-color=\"EDEAEC\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">1008×306 19 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<p>You can see that the Project metadata action are pulling values from the saved parameters in the easymorph and not the parameters designated in the server task.</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/a/ad56e263002dfaedccc96c99ab4e5f424f5098b2.png\" data-download-href=\"https://community.easymorph.com/uploads/default/ad56e263002dfaedccc96c99ab4e5f424f5098b2\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/optimized/2X/a/ad56e263002dfaedccc96c99ab4e5f424f5098b2_2_690x271.png\" alt=\"image\" data-base62-sha1=\"oJqKzzXMoTXVlVKQii1oSVxhOFk\" width=\"690\" height=\"271\" srcset=\"https://community.easymorph.com/uploads/default/optimized/2X/a/ad56e263002dfaedccc96c99ab4e5f424f5098b2_2_690x271.png, https://community.easymorph.com/uploads/default/optimized/2X/a/ad56e263002dfaedccc96c99ab4e5f424f5098b2_2_1035x406.png 1.5x, https://community.easymorph.com/uploads/default/original/2X/a/ad56e263002dfaedccc96c99ab4e5f424f5098b2.png 2x\" data-dominant-color=\"FBFBFB\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">1203×473 16.7 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<p>I understand that I can log into the VM and change and save the folder parameters, but the goal is for the developers to never have to do additional configuration to the project after uploading to the server that would require a VM login. Is there a way to grab the server parameters and not the saved project parameters?</p>","post_number":1,"post_type":1,"posts_count":6,"updated_at":"2026-06-09T16:02:39.460Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":2,"reads":15,"readers_count":14,"score":12.4,"yours":false,"topic_id":6691,"topic_slug":"project-metadata-action-doesnt-grab-server-parameters","topic_title":"Project metadata action doesn't grab server parameters","topic_html_title":"Project metadata action doesn&rsquo;t grab server parameters","category_id":8,"display_username":"David Turner","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"EasyMorph Server v5.9.8.9\nEasyMorph Desktop v5.9.8.11\n\nI've building a universal connection validator. It will validate the connection to local folders,  SharePoint, and all databases listed as parameters. The local folder connections in the parameters are grabbed with the Project metadata action and concatenated into a delimited list before being sent to the validator.\n\n![image|518x121](upload://cS11JVABssAkkGPJauQ3KsegMWp.png)\n![image|152x82](upload://xOgN2JIIbmx2L6bdcgjyVyArt58.png)\n\n\nThis is working on my local machine. Then I upload to our VM from my local machine via the EasyMorph Server. I create a new task and configure the parameters on the EasyMorph Server.\n\n![image|690x421](upload://p85Tw55FvrjQTfVy6utNv2o195e.png)\n\nUpon running the project ad hoc from the task menu I get an error file back from my validator.\n\n![image|690x209](upload://bMd1i5NPIghGpgQFso9eBdB8fk.png)\n\nYou can see that the Project metadata action are pulling values from the saved parameters in the easymorph and not the parameters designated in the server task.\n\n![image|690x271](upload://oJqKzzXMoTXVlVKQii1oSVxhOFk.png)\n\nI understand that I can log into the VM and change and save the folder parameters, but the goal is for the developers to never have to do additional configuration to the project after uploading to the server that would require a VM login. Is there a way to grab the server parameters and not the saved project parameters?","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1374,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"EasyMorph Server v5.9.8.9 \nEasyMorph Desktop v5.9.8.11 \nI&#39;ve building a universal connection validator. It will validate the connection to local folders,  SharePoint, and all databases listed as parameters. The local folder connections in the parameters are grabbed with the Project metadata action a&hellip;","truncated":true,"post_url":"/t/project-metadata-action-doesnt-grab-server-parameters/6691/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true,"can_vote":false},{"id":22264,"name":"Felippe Costa","username":"Felippe.Costa","avatar_template":"/letter_avatar_proxy/v4/letter/f/34f0e0/{size}.png","created_at":"2026-06-09T12:11:33.113Z","cooked":"<p>Hello Team! Hope everyone is doing alright.</p>\n<p>I followed the steps provided in this topic [<a href=\"https://community.easymorph.com/t/connecting-to-oracle-database/530\" class=\"inline-onebox\">Connecting to oracle database</a>] and I was indeed able to make a TNS connection to work. Nice</p>\n<p>However, I have a couple of questions for when we have TNS_ADMIN environment USER-only variable set.</p>\n<p>Consider the snapshot:</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/c/ceaaba17dcae8848f7b5f3441e1c427e80b2574a.png\" data-download-href=\"https://community.easymorph.com/uploads/default/ceaaba17dcae8848f7b5f3441e1c427e80b2574a\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/c/ceaaba17dcae8848f7b5f3441e1c427e80b2574a.png\" alt=\"image\" data-base62-sha1=\"tug8ESgIoIcxa7JydMCzllc2IQO\" width=\"529\" height=\"500\" data-dominant-color=\"E2E5E8\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">603×569 17.6 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<p>From it, we can see that there are two TNS_ADMIN environment variables defined:<br>\n• one is USER-only variable, and it points to a network path. Said path contains the Company's DATA_SOURCES' connections definition (a tnsnames.ora file), which is maintained by the relevant Team;<br>\n• the other is a SYSTEM variable, and it points to a local path. Said path can only be reached/accessed by admin users - which us, regular users, are not.<br>\n-- That said, I am unsure if there is or there is not a tnsnames.ora file there, nor contents of it. Not even replace the existing file (if any) by the one that exists on that good network path.<br>\n-- Hence we create a TNS_ADMIN user-only variable.</p>\n<p>Questions:<br>\n(1) Can I make use this USER-only TNS_ADMIN environment variable when setting up ORACLE TNS connectors on EasyMorph?<br>\n(2) Does EasyMorph looks into environment variable at all when assessing TNS connection types?</p>\n<p>Context:<br>\nThe questions arise because when I try to setup an ORACLE TNS connector, it only works if a DATA SOURCE variable is added, as suggested by that post (the link above)</p>\n<p>In another words, using the same credentials (user and pass) and NETWORK_ALIAS, I can only successfully connect if I have the DATA SOURCE variable set on EasyMoprh, even if the DATA SOURCE variable content is a direct  CTRL+C&gt;CTRL+V from the tnsnames.ora file that the user-only TNS_ADMIN variable points to.</p>","post_number":1,"post_type":1,"posts_count":3,"updated_at":"2026-06-10T16:04:33.254Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":3,"reads":10,"readers_count":9,"score":17.0,"yours":false,"topic_id":6690,"topic_slug":"oracle-tns-connector-vs-environment-variables-tns-admin","topic_title":"ORACLE TNS connector vs. environment variables [TNS_ADMIN]","topic_html_title":"ORACLE TNS connector vs. environment variables [TNS_ADMIN]","category_id":1,"display_username":"Felippe Costa","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":2,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Hello Team! Hope everyone is doing alright.\n\nI followed the steps provided in this topic [https://community.easymorph.com/t/connecting-to-oracle-database/530] and I was indeed able to make a TNS connection to work. Nice\n\nHowever, I have a couple of questions for when we have TNS_ADMIN environment USER-only variable set. \n\nConsider the snapshot:\n\n![image|529x500](upload://tug8ESgIoIcxa7JydMCzllc2IQO.png)\n\n\nFrom it, we can see that there are two TNS_ADMIN environment variables defined:\n• one is USER-only variable, and it points to a network path. Said path contains the Company's DATA_SOURCES' connections definition (a tnsnames.ora file), which is maintained by the relevant Team; \n• the other is a SYSTEM variable, and it points to a local path. Said path can only be reached/accessed by admin users - which us, regular users, are not.\n    -- That said, I am unsure if there is or there is not a tnsnames.ora file there, nor contents of it. Not even replace the existing file (if any) by the one that exists on that good network path. \n    -- Hence we create a TNS_ADMIN user-only variable.\n\nQuestions: \n(1) Can I make use this USER-only TNS_ADMIN environment variable when setting up ORACLE TNS connectors on EasyMorph? \n(2) Does EasyMorph looks into environment variable at all when assessing TNS connection types?\n\nContext:\nThe questions arise because when I try to setup an ORACLE TNS connector, it only works if a DATA SOURCE variable is added, as suggested by that post (the link above)\n\nIn another words, using the same credentials (user and pass) and NETWORK_ALIAS, I can only successfully connect if I have the DATA SOURCE variable set on EasyMoprh, even if the DATA SOURCE variable content is a direct  CTRL+C>CTRL+V from the tnsnames.ora file that the user-only TNS_ADMIN variable points to.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1023,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hello Team! Hope everyone is doing alright. \nI followed the steps provided in this topic [<a href=\"https://community.easymorph.com/t/connecting-to-oracle-database/530\" class=\"inline-onebox\">Connecting to oracle database</a>] and I was indeed able to make a TNS connection to work. Nice \nHowever, I have a couple of questions for when we have TNS_ADMIN environment USER-only variable set. \nConsider the sn&hellip;","truncated":true,"post_url":"/t/oracle-tns-connector-vs-environment-variables-tns-admin/6690/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":22263,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-09T12:07:30.472Z","cooked":"<p><a class=\"mention\" href=\"/u/albertfabritius\">@AlbertFabritius</a> why do you think the problem is with the default prefetch size? Did you try pulling data from the database with another prefetch size? I wonder if the database is just slow by the way it's designed - or it can be a not materialized dynamic data view.</p>","post_number":5,"post_type":1,"posts_count":7,"updated_at":"2026-06-09T12:07:30.472Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":9,"readers_count":8,"score":1.8,"yours":false,"topic_id":6683,"topic_slug":"expose-jdbc-fetch-size-defaultrowprefetch-for-the-oracle-connector","topic_title":"Expose JDBC fetch size (defaultRowPrefetch) for the Oracle connector","topic_html_title":"Expose JDBC fetch size (defaultRowPrefetch) for the Oracle connector","category_id":1,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"bookmarked":false,"raw":"@AlbertFabritius why do you think the problem is with the default prefetch size? Did you try pulling data from the database with another prefetch size? I wonder if the database is just slow by the way it's designed - or it can be a not materialized dynamic data view.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a class=\"mention\" href=\"/u/albertfabritius\">@AlbertFabritius</a> why do you think the problem is with the default prefetch size? Did you try pulling data from the database with another prefetch size? I wonder if the database is just slow by the way it&#39;s designed - or it can be a not materialized dynamic data view.","truncated":true,"post_url":"/t/expose-jdbc-fetch-size-defaultrowprefetch-for-the-oracle-connector/6683/5","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22262,"name":"Nick Tagz","username":"nicktagz","avatar_template":"/user_avatar/community.easymorph.com/nicktagz/{size}/5816_2.png","created_at":"2026-06-09T11:31:31.679Z","cooked":"<p>It's working again.  Thank you!</p>","post_number":4,"post_type":1,"posts_count":4,"updated_at":"2026-06-09T11:31:31.679Z","reply_count":0,"reply_to_post_number":3,"quote_count":0,"incoming_link_count":0,"reads":16,"readers_count":15,"score":48.0,"yours":false,"topic_id":6687,"topic_slug":"open-module-on-error-broken-in-6-0-1-1","topic_title":"Open Module on Error Broken in 6.0.1.1","topic_html_title":"Open Module on Error Broken in 6.0.1.1","category_id":3,"display_username":"Nick Tagz","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"reply_to_user":{"id":2,"username":"andrew.rybka","name":"Andrew Rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png"},"bookmarked":false,"raw":"It's working again.  Thank you!","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":558,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"It&#39;s working again.  Thank you!","truncated":true,"post_url":"/t/open-module-on-error-broken-in-6-0-1-1/6687/4","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22260,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-08T20:43:48.308Z","cooked":"<p>Hi Albert,</p>\n<p>Had to research this topic a little bit.</p>\n<p>Looks like there is no way to set fetch size or something like that through custom properties (i.e., connection string). But there is a way to specify either the number of bytes or the number of rows to fetch per round trip in the code. And those limits don't take the content of large object, user defined type, and XMLType columns into account.</p>\n<p>We will have to discuss internally if it's feasible for us to expose those options for EasyMorph users. For now, please let us know if this looks like something that will meet your needs.</p>","post_number":4,"post_type":1,"posts_count":7,"updated_at":"2026-06-08T20:43:48.308Z","reply_count":0,"reply_to_post_number":3,"quote_count":0,"incoming_link_count":0,"reads":12,"readers_count":11,"score":2.4,"yours":false,"topic_id":6683,"topic_slug":"expose-jdbc-fetch-size-defaultrowprefetch-for-the-oracle-connector","topic_title":"Expose JDBC fetch size (defaultRowPrefetch) for the Oracle connector","topic_html_title":"Expose JDBC fetch size (defaultRowPrefetch) for the Oracle connector","category_id":1,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"reply_to_user":{"id":941,"username":"AlbertFabritius","name":"AlbertFabritius","avatar_template":"/user_avatar/community.easymorph.com/albertfabritius/{size}/4998_2.png"},"bookmarked":false,"raw":"Hi Albert,\n\nHad to research this topic a little bit.\n\nLooks like there is no way to set fetch size or something like that through custom properties (i.e., connection string). But there is a way to specify either the number of bytes or the number of rows to fetch per round trip in the code. And those limits don't take the content of large object, user defined type, and XMLType columns into account.\n\nWe will have to discuss internally if it's feasible for us to expose those options for EasyMorph users. For now, please let us know if this looks like something that will meet your needs.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Hi Albert, \nHad to research this topic a little bit. \nLooks like there is no way to set fetch size or something like that through custom properties (i.e., connection string). But there is a way to specify either the number of bytes or the number of rows to fetch per round trip in the code. And those&hellip;","truncated":true,"post_url":"/t/expose-jdbc-fetch-size-defaultrowprefetch-for-the-oracle-connector/6683/4","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22259,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-08T20:36:00.840Z","cooked":"<p><a class=\"mention\" href=\"/u/nicktagz\">@nicktagz</a>, the issue has been fixed. You can get the updated Desktop version on our download page.</p>","post_number":3,"post_type":1,"posts_count":4,"updated_at":"2026-06-08T20:36:00.840Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":18,"readers_count":17,"score":23.4,"yours":false,"topic_id":6687,"topic_slug":"open-module-on-error-broken-in-6-0-1-1","topic_title":"Open Module on Error Broken in 6.0.1.1","topic_html_title":"Open Module on Error Broken in 6.0.1.1","category_id":3,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"@nicktagz, the issue has been fixed. You can get the updated Desktop version on our download page.","actions_summary":[{"id":2,"count":1}],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"<a class=\"mention\" href=\"/u/nicktagz\">@nicktagz</a>, the issue has been fixed. You can get the updated Desktop version on our download page.","truncated":true,"post_url":"/t/open-module-on-error-broken-in-6-0-1-1/6687/3","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":true,"topic_accepted_answer":true},{"id":22258,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-05T20:35:06.441Z","cooked":"<p>Looking into this.</p>","post_number":2,"post_type":1,"posts_count":4,"updated_at":"2026-06-05T20:35:06.441Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":20,"readers_count":19,"score":18.8,"yours":false,"topic_id":6687,"topic_slug":"open-module-on-error-broken-in-6-0-1-1","topic_title":"Open Module on Error Broken in 6.0.1.1","topic_html_title":"Open Module on Error Broken in 6.0.1.1","category_id":3,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"bookmarked":false,"raw":"Looking into this.","actions_summary":[{"id":2,"count":1}],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Looking into this.","truncated":true,"post_url":"/t/open-module-on-error-broken-in-6-0-1-1/6687/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22257,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-05T20:34:29.952Z","cooked":"<aside class=\"quote no-group\" data-username=\"nicktagz\" data-post=\"1\" data-topic=\"6688\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img alt=\"\" width=\"24\" height=\"24\" src=\"https://community.easymorph.com/user_avatar/community.easymorph.com/nicktagz/48/5816_2.png\" class=\"avatar\"> nicktagz:</div>\n<blockquote>\n<ol start=\"3\">\n<li>The undo action is also dangerously close to the apply button. If anything, can we add a confirmation to that action as I've clicked it accidentally a few times already?</li>\n</ol>\n</blockquote>\n</aside>\n<p>It's not Undo, it's Revert. We should make it more clear.</p>","post_number":2,"post_type":1,"posts_count":2,"updated_at":"2026-06-05T20:34:29.952Z","reply_count":0,"reply_to_post_number":null,"quote_count":1,"incoming_link_count":0,"reads":22,"readers_count":21,"score":19.0,"yours":false,"topic_id":6688,"topic_slug":"items-removed-in-v6-to-bring-back","topic_title":"Items removed in V6 to bring back","topic_html_title":"Items removed in V6 to bring back","category_id":5,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"bookmarked":false,"raw":"[quote=\"nicktagz, post:1, topic:6688\"]\n3. The undo action is also dangerously close to the apply button. If anything, can we add a confirmation to that action as I've clicked it accidentally a few times already?\n[/quote]\n\nIt's not Undo, it's Revert. We should make it more clear.","actions_summary":[{"id":2,"count":1}],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"It&#39;s not Undo, it&#39;s Revert. We should make it more clear.","truncated":true,"post_url":"/t/items-removed-in-v6-to-bring-back/6688/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22256,"name":"Nick Tagz","username":"nicktagz","avatar_template":"/user_avatar/community.easymorph.com/nicktagz/{size}/5816_2.png","created_at":"2026-06-05T20:19:39.416Z","cooked":"<ol>\n<li>Can you please bring back the exit application that used to be here?</li>\n</ol>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/a/a37256dd27222674852454f5b5889ddd1b8bcb94.png\" data-download-href=\"https://community.easymorph.com/uploads/default/a37256dd27222674852454f5b5889ddd1b8bcb94\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/a/a37256dd27222674852454f5b5889ddd1b8bcb94.png\" alt=\"image\" data-base62-sha1=\"njUNvxUWVDjhzkAqLvr0wk9qwsc\" width=\"317\" height=\"116\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">317×116 3.12 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>\n<ol start=\"2\">\n<li>Also on the server, can you please put a link to <a href=\"http://easymorph.com\" rel=\"noopener nofollow ugc\">easymorph.com</a> somewhere?</li>\n<li>The undo action is also dangerously close to the apply button.  If anything, can we add a confirmation to that action as I've clicked it accidentally a few times already?</li>\n</ol>\n<p><img src=\"https://community.easymorph.com/uploads/default/original/2X/3/3d4e39f99227b633694efe1e99d4412a48ffd16a.png\" alt=\"image\" data-base62-sha1=\"8KkIXnrUkREo55xDYBleMf4IS6u\" width=\"151\" height=\"79\"></p>","post_number":1,"post_type":1,"posts_count":2,"updated_at":"2026-06-05T20:19:39.416Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":3,"reads":22,"readers_count":21,"score":24.0,"yours":false,"topic_id":6688,"topic_slug":"items-removed-in-v6-to-bring-back","topic_title":"Items removed in V6 to bring back","topic_html_title":"Items removed in V6 to bring back","category_id":5,"display_username":"Nick Tagz","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"bookmarked":false,"raw":"1.  Can you please bring back the exit application that used to be here?\n\n![image|317x116](upload://njUNvxUWVDjhzkAqLvr0wk9qwsc.png)\n\n2.  Also on the server, can you please put a link to easymorph.com somewhere?\n3. The undo action is also dangerously close to the apply button.  If anything, can we add a confirmation to that action as I've clicked it accidentally a few times already?\n\n![image|151x79](upload://8KkIXnrUkREo55xDYBleMf4IS6u.png)","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":558,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Can you please bring back the exit application that used to be here?\n\n <a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/a/a37256dd27222674852454f5b5889ddd1b8bcb94.png\" data-download-href=\"https://community.easymorph.com/uploads/default/a37256dd27222674852454f5b5889ddd1b8bcb94\" title=\"image\">[image]</a> \n\nAlso on the server, can you please put a link to <a href=\"http://easymorph.com\" rel=\"noopener nofollow ugc\">easymorph.com</a> somewhere?\nThe undo action is also dangerously close to the apply button.  If anything, can we add a confirmation to that action as I&#39;ve clicked it acciden&hellip;","truncated":true,"post_url":"/t/items-removed-in-v6-to-bring-back/6688/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":false},{"id":22255,"name":"Nick Tagz","username":"nicktagz","avatar_template":"/user_avatar/community.easymorph.com/nicktagz/{size}/5816_2.png","created_at":"2026-06-05T20:11:52.817Z","cooked":"<p>Clicking on this no longer brings you to the module that failed.</p>\n<p><a class=\"attachment\" href=\"/uploads/short-url/9H7u6IZ06L6Y9nbev85W7QfjDfs.morph\">Open Module Fail.morph</a> (4.0 KB)</p>\n<p><div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/e/ef052215116b3b7d59313c70d3022f96d23974a9.png\" data-download-href=\"https://community.easymorph.com/uploads/default/ef052215116b3b7d59313c70d3022f96d23974a9\" title=\"image\"><img src=\"https://community.easymorph.com/uploads/default/original/2X/e/ef052215116b3b7d59313c70d3022f96d23974a9.png\" alt=\"image\" data-base62-sha1=\"y6t70R7QDKPmJi1j0ba38oAZNgJ\" width=\"486\" height=\"224\"><div class=\"meta\"><svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use href=\"#far-image\"></use></svg><span class=\"filename\">image</span><span class=\"informations\">486×224 7.23 KB</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use href=\"#discourse-expand\"></use></svg></div></a></div></p>","post_number":1,"post_type":1,"posts_count":4,"updated_at":"2026-06-05T20:11:52.817Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":20,"readers_count":19,"score":8.8,"yours":false,"topic_id":6687,"topic_slug":"open-module-on-error-broken-in-6-0-1-1","topic_title":"Open Module on Error Broken in 6.0.1.1","topic_html_title":"Open Module on Error Broken in 6.0.1.1","category_id":3,"display_username":"Nick Tagz","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"bookmarked":false,"raw":"Clicking on this no longer brings you to the module that failed.\n\n[Open Module Fail.morph|attachment](upload://9H7u6IZ06L6Y9nbev85W7QfjDfs.morph) (4.0 KB)\n\n![image|486x224](upload://y6t70R7QDKPmJi1j0ba38oAZNgJ.png)","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":558,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Clicking on this no longer brings you to the module that failed. \n<a class=\"attachment\" href=\"/uploads/short-url/9H7u6IZ06L6Y9nbev85W7QfjDfs.morph\">Open Module Fail.morph</a> (4.0 KB) \n <a class=\"lightbox\" href=\"https://community.easymorph.com/uploads/default/original/2X/e/ef052215116b3b7d59313c70d3022f96d23974a9.png\" data-download-href=\"https://community.easymorph.com/uploads/default/ef052215116b3b7d59313c70d3022f96d23974a9\" title=\"image\">[image]</a>","truncated":true,"post_url":"/t/open-module-on-error-broken-in-6-0-1-1/6687/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true,"can_vote":false},{"id":22254,"name":"Nick Tagz","username":"nicktagz","avatar_template":"/user_avatar/community.easymorph.com/nicktagz/{size}/5816_2.png","created_at":"2026-06-05T18:59:11.591Z","cooked":"<p>Thanks, it's working now.</p>","post_number":5,"post_type":1,"posts_count":5,"updated_at":"2026-06-05T18:59:11.591Z","reply_count":0,"reply_to_post_number":4,"quote_count":0,"incoming_link_count":0,"reads":21,"readers_count":20,"score":64.0,"yours":false,"topic_id":6686,"topic_slug":"merge-action-is-broken-in-6-0-1","topic_title":"Merge action is broken in 6.0.1","topic_html_title":"Merge action is broken in 6.0.1","category_id":3,"display_username":"Nick Tagz","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"reply_to_user":{"id":2,"username":"andrew.rybka","name":"Andrew Rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png"},"bookmarked":false,"raw":"Thanks, it's working now.","actions_summary":[{"id":2,"count":2}],"moderator":false,"admin":false,"staff":false,"user_id":558,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Thanks, it&#39;s working now.","truncated":true,"post_url":"/t/merge-action-is-broken-in-6-0-1/6686/5","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22253,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-05T17:46:47.058Z","cooked":"<p><span class=\"mention\">@nilcktagz</span>, the issue has been fixed. You can get the updated version from our website.</p>","post_number":4,"post_type":1,"posts_count":5,"updated_at":"2026-06-05T17:46:47.058Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":22,"readers_count":21,"score":24.2,"yours":false,"topic_id":6686,"topic_slug":"merge-action-is-broken-in-6-0-1","topic_title":"Merge action is broken in 6.0.1","topic_html_title":"Merge action is broken in 6.0.1","category_id":3,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"@nilcktagz, the issue has been fixed. You can get the updated version from our website.","actions_summary":[{"id":2,"count":1}],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"@nilcktagz, the issue has been fixed. You can get the updated version from our website.","truncated":true,"post_url":"/t/merge-action-is-broken-in-6-0-1/6686/4","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":true,"topic_accepted_answer":true},{"id":22252,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-05T16:09:55.578Z","cooked":"<p>Version 6.0.1 has been released and can be downloaded from our <a href=\"https://easymorph.com/download.html\">website</a>. Multiple improvements for issues, \"State\" assets, boards, and other things.</p>","post_number":9,"post_type":1,"posts_count":9,"updated_at":"2026-06-05T16:09:55.578Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":19,"readers_count":18,"score":23.2,"yours":false,"topic_id":6621,"topic_slug":"version-6-is-here","topic_title":":bulb: Version 6 is here!","topic_html_title":":bulb: Version 6 is here!","category_id":1,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"bookmarked":false,"raw":"Version 6.0.1 has been released and can be downloaded from our [website](https://easymorph.com/download.html). Multiple improvements for issues, \"State\" assets, boards, and other things.","actions_summary":[{"id":2,"count":1}],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Version 6.0.1 has been released and can be downloaded from our <a href=\"https://easymorph.com/download.html\">website</a>. Multiple improvements for issues, &quot;State&quot; assets, boards, and other things.","truncated":true,"post_url":"/t/version-6-is-here/6621/9","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22251,"name":"Nick Tagz","username":"nicktagz","avatar_template":"/user_avatar/community.easymorph.com/nicktagz/{size}/5816_2.png","created_at":"2026-06-05T16:03:30.746Z","cooked":"<p>It actually happens if I start a new model and just click the merge action.</p>\n<p><img src=\"https://community.easymorph.com/uploads/default/original/2X/c/c200bb63df99247a1c57d6fe437f1ef5cb5aa267.gif\" alt=\"Recording2026-06-05115834-ezgif.com-cut\" data-base62-sha1=\"rGecfoHNy9Jl9eNcWklP9mLFcr5\" width=\"667\" height=\"500\" class=\"animated\"></p>","post_number":3,"post_type":1,"posts_count":5,"updated_at":"2026-06-05T16:03:30.746Z","reply_count":0,"reply_to_post_number":2,"quote_count":0,"incoming_link_count":2,"reads":22,"readers_count":21,"score":59.2,"yours":false,"topic_id":6686,"topic_slug":"merge-action-is-broken-in-6-0-1","topic_title":"Merge action is broken in 6.0.1","topic_html_title":"Merge action is broken in 6.0.1","category_id":3,"display_username":"Nick Tagz","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"reply_to_user":{"id":1,"username":"dgudkov","name":"Dmitry Gudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png"},"bookmarked":false,"raw":"It actually happens if I start a new model and just click the merge action.\n\n![Recording2026-06-05115834-ezgif.com-cut|667x500](upload://rGecfoHNy9Jl9eNcWklP9mLFcr5.gif)","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":558,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"It actually happens if I start a new model and just click the merge action. \n[Recording2026-06-05115834-ezgif.com-cut]","truncated":true,"post_url":"/t/merge-action-is-broken-in-6-0-1/6686/3","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22250,"name":"Dmitry Gudkov","username":"dgudkov","avatar_template":"/user_avatar/community.easymorph.com/dgudkov/{size}/5_2.png","created_at":"2026-06-05T15:51:13.927Z","cooked":"<p>Can you please send your workflow to <a href=\"mailto:support@easymorph.com\">support@easymorph.com</a>.</p>","post_number":2,"post_type":1,"posts_count":5,"updated_at":"2026-06-05T15:51:13.927Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":22,"readers_count":21,"score":14.2,"yours":false,"topic_id":6686,"topic_slug":"merge-action-is-broken-in-6-0-1","topic_title":"Merge action is broken in 6.0.1","topic_html_title":"Merge action is broken in 6.0.1","category_id":3,"display_username":"Dmitry Gudkov","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Team EasyMorph","title_is_group":false,"bookmarked":false,"raw":"Can you please send your workflow to support@easymorph.com.","actions_summary":[],"moderator":true,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":4,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Can you please send your workflow to <a href=\"mailto:support@easymorph.com\">support@easymorph.com</a>.","truncated":true,"post_url":"/t/merge-action-is-broken-in-6-0-1/6686/2","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true},{"id":22249,"name":"Nick Tagz","username":"nicktagz","avatar_template":"/user_avatar/community.easymorph.com/nicktagz/{size}/5816_2.png","created_at":"2026-06-05T14:48:24.133Z","cooked":"<p>If I open an existing model and click on any merge action, it force closes with this error.</p>\n<pre><code class=\"lang-auto\">Object reference not set to an instance of an object.\nException type: System.NullReferenceException\nStack trace:\n   at Morph.Actions.ActionContainer.UpdateEnableButton()\n   at Morph.Actions.ActionContainer.UpdateCommands()\n   at Morph.Actions.ActionContainer.InitializeCommands()\n   at Morph.Actions.ActionContainer.control_Loaded(Object sender, RoutedEventArgs e)\n   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)\n   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)\n   at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)\n   at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)\n   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()\n   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)\n   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)\n   at System.Windows.Media.MediaContext.Resize(ICompositionTarget resizedCompositionTarget)\n   at System.Windows.Interop.HwndTarget.OnResize()\n   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)\n   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp; handled)\n   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp; handled)\n   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)\n   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)\n</code></pre>","post_number":1,"post_type":1,"posts_count":5,"updated_at":"2026-06-05T14:49:06.615Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":3,"reads":22,"readers_count":21,"score":34.2,"yours":false,"topic_id":6686,"topic_slug":"merge-action-is-broken-in-6-0-1","topic_title":"Merge action is broken in 6.0.1","topic_html_title":"Merge action is broken in 6.0.1","category_id":3,"display_username":"Nick Tagz","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"bookmarked":false,"raw":"If I open an existing model and click on any merge action, it force closes with this error.\n\n```\nObject reference not set to an instance of an object.\nException type: System.NullReferenceException\nStack trace:\n   at Morph.Actions.ActionContainer.UpdateEnableButton()\n   at Morph.Actions.ActionContainer.UpdateCommands()\n   at Morph.Actions.ActionContainer.InitializeCommands()\n   at Morph.Actions.ActionContainer.control_Loaded(Object sender, RoutedEventArgs e)\n   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)\n   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)\n   at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)\n   at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)\n   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()\n   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)\n   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)\n   at System.Windows.Media.MediaContext.Resize(ICompositionTarget resizedCompositionTarget)\n   at System.Windows.Interop.HwndTarget.OnResize()\n   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)\n   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)\n   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)\n   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)\n   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)\n```","actions_summary":[{"id":2,"count":1}],"moderator":false,"admin":false,"staff":false,"user_id":558,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"If I open an existing model and click on any merge action, it force closes with this error. \nObject reference not set to an instance of an object.\nException type: System.NullReferenceException\nStack trace:\n   at Morph.Actions.ActionContainer.UpdateEnableButton()\n   at Morph.Actions.ActionContainer.U&hellip;","truncated":true,"post_url":"/t/merge-action-is-broken-in-6-0-1/6686/1","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":true,"can_vote":false},{"id":22248,"name":"Nick Tagz","username":"nicktagz","avatar_template":"/user_avatar/community.easymorph.com/nicktagz/{size}/5816_2.png","created_at":"2026-06-05T13:39:59.931Z","cooked":"<p>Clone action is much appreciated.</p>","post_number":8,"post_type":1,"posts_count":9,"updated_at":"2026-06-05T13:39:59.931Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":20,"readers_count":19,"score":8.4,"yours":false,"topic_id":6621,"topic_slug":"version-6-is-here","topic_title":":bulb: Version 6 is here!","topic_html_title":":bulb: Version 6 is here!","category_id":1,"display_username":"Nick Tagz","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":"Expert","title_is_group":false,"bookmarked":false,"raw":"Clone action is much appreciated.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":558,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Clone action is much appreciated.","truncated":true,"post_url":"/t/version-6-is-here/6621/8","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22247,"name":"Andrew Rybka","username":"andrew.rybka","avatar_template":"/user_avatar/community.easymorph.com/andrew.rybka/{size}/13_2.png","created_at":"2026-06-05T09:26:41.712Z","cooked":"<p>Good morning, <a class=\"mention\" href=\"/u/diego.mavilla\">@diego.mavilla</a></p>\n<p>This issue is already fixed. Please update to the latest build of version 5.9.8:<br>\n<a href=\"https://easymorph.com/download/EasyMorph.Setup598.zip\" class=\"onebox\" target=\"_blank\" rel=\"noopener\">https://easymorph.com/download/EasyMorph.Setup598.zip</a></p>","post_number":17,"post_type":1,"posts_count":15,"updated_at":"2026-06-05T09:26:41.712Z","reply_count":0,"reply_to_post_number":16,"quote_count":0,"incoming_link_count":0,"reads":11,"readers_count":10,"score":17.0,"yours":false,"topic_id":5138,"topic_slug":"how-to-send-notifications-to-microsoft-teams-using-teams-bot","topic_title":"How to send notifications to Microsoft Teams using Teams Bot","topic_html_title":"How to send notifications to Microsoft Teams using Teams Bot","category_id":9,"display_username":"Andrew Rybka","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"reply_to_user":{"id":1242,"username":"diego.mavilla","name":"","avatar_template":"/letter_avatar_proxy/v4/letter/d/ea666f/{size}.png"},"bookmarked":false,"raw":"Good morning, @diego.mavilla \n\nThis issue is already fixed. Please update to the latest build of version 5.9.8:\nhttps://easymorph.com/download/EasyMorph.Setup598.zip","actions_summary":[{"id":2,"count":1}],"moderator":true,"admin":true,"staff":true,"user_id":2,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Good morning, <a class=\"mention\" href=\"/u/diego.mavilla\">@diego.mavilla</a> \nThis issue is already fixed. Please update to the latest build of version 5.9.8: \n<a href=\"https://easymorph.com/download/EasyMorph.Setup598.zip\" class=\"onebox\" target=\"_blank\" rel=\"noopener\">https://easymorph.com/download/EasyMorph.Setup598.zip</a>","truncated":true,"post_url":"/t/how-to-send-notifications-to-microsoft-teams-using-teams-bot/5138/17","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":22246,"name":"","username":"diego.mavilla","avatar_template":"/letter_avatar_proxy/v4/letter/d/ea666f/{size}.png","created_at":"2026-06-05T09:01:26.922Z","cooked":"<p>Good morning,</p>\n<p>I'm using the “Teams Bot” action, but when I try to send a message to a Teams channel, I get this error:</p>\n<p>Error: AADSTS7000222: The provided client secret keys for app '04e7f15b-82b6-424c-bda1-d7c71e855208' are expired. Visit the Azure portal to create new keys for your app: <a href=\"https://aka.ms/NewClientSecret\" class=\"inline-onebox\" rel=\"noopener nofollow ugc\">How to register an app in Microsoft Entra ID - Microsoft identity platform | Microsoft Learn</a>, or consider using certificate credentials for added security: <a href=\"https://aka.ms/certCreds\" class=\"inline-onebox\" rel=\"noopener nofollow ugc\">Microsoft identity platform certificate credentials - Microsoft identity platform | Microsoft Learn</a>. Trace ID: 34603112-df9f-475b-b536-9b91827d3800 Correlation ID: 206626a1-45ac-44eb-9161-24cc88bf0cb9 Timestamp: 2026-06-05 09:01:09Z<br>\nSource: action \"Teams Bot\", table \"Table 1\"</p>\n<p>How can I fix this?</p>\n<p>I have version 5.9.8.1 of the Desktop app.</p>","post_number":16,"post_type":1,"posts_count":15,"updated_at":"2026-06-05T09:01:26.922Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":12,"readers_count":11,"score":7.2,"yours":false,"topic_id":5138,"topic_slug":"how-to-send-notifications-to-microsoft-teams-using-teams-bot","topic_title":"How to send notifications to Microsoft Teams using Teams Bot","topic_html_title":"How to send notifications to Microsoft Teams using Teams Bot","category_id":9,"display_username":"","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"user_title":null,"bookmarked":false,"raw":"Good morning,\n\nI'm using the “Teams Bot” action, but when I try to send a message to a Teams channel, I get this error:\n\nError: AADSTS7000222: The provided client secret keys for app '04e7f15b-82b6-424c-bda1-d7c71e855208' are expired. Visit the Azure portal to create new keys for your app: https://aka.ms/NewClientSecret, or consider using certificate credentials for added security: https://aka.ms/certCreds. Trace ID: 34603112-df9f-475b-b536-9b91827d3800 Correlation ID: 206626a1-45ac-44eb-9161-24cc88bf0cb9 Timestamp: 2026-06-05 09:01:09Z\nSource: action \"Teams Bot\", table \"Table 1\"\n\nHow can I fix this?\n\nI have version 5.9.8.1 of the Desktop app.","actions_summary":[],"moderator":false,"admin":false,"staff":false,"user_id":1242,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"excerpt":"Good morning, \nI&#39;m using the “Teams Bot” action, but when I try to send a message to a Teams channel, I get this error: \nError: AADSTS7000222: The provided client secret keys for app &#39;04e7f15b-82b6-424c-bda1-d7c71e855208&#39; are expired. Visit the Azure portal to create new keys for your app: <a href=\"https://aka.ms/NewClientSecret\" class=\"inline-onebox\" rel=\"noopener nofollow ugc\">How to re&hellip;</a>","truncated":true,"post_url":"/t/how-to-send-notifications-to-microsoft-teams-using-teams-bot/5138/16","can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null}]}