Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rumba offers no way to specify Conga's "rootname" property #45

Closed
aplteam opened this issue Jul 19, 2021 · 7 comments
Closed

Rumba offers no way to specify Conga's "rootname" property #45

aplteam opened this issue Jul 19, 2021 · 7 comments

Comments

@aplteam
Copy link
Collaborator

aplteam commented Jul 19, 2021

"rootname" allows to use Conga in the same workspace for two different applications, for example one acting as a web server and one acting as a Tatin client. Different "rootnames" make sure that both applications see only their own Conga "objects".

For the Tatin client this is so important that I had to introduce it, so in my Rumba fork InitConga not only accepts a path pointing to a folder that holds compatible Conga DLLs, it also allows specifying a "rootname", both as optional parameters.

I also removed any calls to InitConga from any of the Rumba functions because my changes require Rumba to be initialized before she can actually use it.

With different "rootnames" one has also to use different versions of the Rumba namespace because internally the result is always assigned to DRC. For Tatin that is not posing a problem since it lives in ⎕SE, but there could be a better solution.

@PaulMansour
Copy link
Contributor

Do you have time to go over this on a call?

@PaulMansour
Copy link
Contributor

Ok, after a little investigation, more questions.

Do we need Rumba to start with a fixed RootName like "Rumba" on the client (and/or the server)? This is easy, and it would allow other apps that use conga to run side by side. (But if this was the case, then the other app could just use its own name, and it would not interfere with Rumba hogging 'DEFAULT'.

If we need Rumba itself to allow clients (and maybe servers) to run sinultaneously on separate instances of Conga, then we need to localize the reference to DRC (the result of Conga.Init).

@PaulMansour
Copy link
Contributor

I think we could just put the reference to DRC inside the Client space and inside the server space. As I think everywhere we refer to ##.DRC, we by definition have a reference in hand of Rumba client or server. This is cleaner than having it global regardless.

@PaulMansour
Copy link
Contributor

What is the use case for having multiple instances of Rumba clients objects using different instances of conga?

@PaulMansour
Copy link
Contributor

The old (current) init function looks like:

InitConga←{
     ⍺←0
     initConga←⍺
     (~initConga)∧9=⎕NC'##.DRC':0
     path←GetCongaDllPath''
     ##.DRC←path ##.Conga.Init ⍵
     ##.Conga.X509Cert.LDRC←##.DRC
     0
 }

The last line is a bit strange. This populates ALL instances of conga with a ref to ##.DRC. Anyone know what this is about?

@aplteam
Copy link
Collaborator Author

aplteam commented Dec 15, 2022

Hm. No idea. I've asked Bjørn and will report back.

PaulMansour added a commit that referenced this issue Feb 8, 2023
@PaulMansour
Copy link
Contributor

Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants