Skip to Main Content
HCL Domino Ideas Portal

Welcome to the #dominoforever Product Ideas Forum! The place where you can submit product ideas and enhancement request. We encourage you to participate by voting on, commenting on, and creating new ideas. All new ideas will be evaluated by HCL Product Management & Engineering teams, and the next steps will be communicated. While not all submitted ideas will be executed upon, community feedback will play a key role in influencing which ideas are and when they will be implemented.

For more information and upcoming events around #dominoforever, please visit our Destination Domino Page

Status Needs Clarification
Workspace Domino
Categories Administration
Created by Guest
Created on Feb 15, 2023

Allow servers to run agents on foreign servers

In Domino it is not possible to have ServerA start an agent on ServerB. This will generate "Error 4184 Cannot access foreign servers when running on a server". The workaround is to call the agent through an http-call which present a lot of other overhead work.

Solution 1: Let servers listed as Trusted servers in the servdocument of the target server run agents as well.

Solution 2: Add a new field in the server document where it is possible to list server allowed to run agents on the current server.

  • Attach files
  • Guest
    Reply
    |
    Sep 7, 2024

    But using a web agent will make the design futile since now you are exposing the second server to the web.

  • Guest
    Reply
    |
    Sep 7, 2024

    Just ran into this issue. We have agents running on one server that is exposed to the outside world, but the data and the business logic is on a different server. In order to get it working, we have to call an agent on a different server that basically runs as a run agent that then called the runonserver agent which create significant overhead. The approach that has been request here allows the data and business logic to be stored in separate servers. This can also be done using web agents but again it create more overhead.


  • Guest
    Reply
    |
    Sep 23, 2023

    Why isn't solution 1 working for you?

  • Guest
    Reply
    |
    Feb 27, 2023

    Example 1:

    When scaling an application by running it on multiple servers, that is when an application consisting of multiple databases (in our case 100s) is spread on multiple servers to improve performance. In this case the need arises to have Agent1 on Server1 start Agent2 on Server2.

    Example 2:

    Webb applications, APIDatabase1 on APIServer1 is http-enabled and public. APIDatabase1 needs to start one or more agents in backend databases on Server1, Server2, etc, which for security reasons are not public and therefore not on APIServer1.

  • Guest
    Reply
    |
    Feb 27, 2023

    we have a customized flow engine,which have rules to run when flow case be submitted.the Rule is one document contains lotus script to be execute.usually,the script will have "use xxx" declare statement in head,to import script libraries from current database(where flow document based).

    when an agent want to make a flow document which in other database to be submit,it must call an agent in target database with "RunOnServer",otherwise,it will encounter erros when import libraries for the rules.

    I do not want to call the "working" agent via http because it's not safe,and i want the whole thing to be execute like an integrated process.

    so,when the caller agent is on a server diffrent with the one which flow document located,calling agents on foreign servers with "RunOnServer" is crucial.

  • Admin
    Thomas Hampel
    Reply
    |
    Feb 17, 2023
    Can you describe why you‘d like to do that?
    Especially the business need for why one agent starting another agent on another server is unclear.