Primary Site/Master Site – called TCL proc

Clovertech Forums Cloverleaf Primary Site/Master Site – called TCL proc

  • Creator
    Topic
  • #120971
    Peter Heggie
    Participant

      Where there is a Site A which specifies that Site B is it’s Primary Site, can a TCL proc in Site A call a TCL proc in Site B?

      I know configurations in Site A, such as a pre-translate UPOC or an outbound UPOC, can execute procs that are stored in Site B.

      But what about a pre-translate UPOC in Site A that is configured to call TCL proc XYZ, also in Site A, but the XYZ proc invokes another proc JKL, and that other proc JKL is in Site B? I have tried this and it fails to find the proc JKL. Maybe I am configuring it wrong.

      I have not found a detailed explanation of this in the documentation or here on Clovertech. If this is possible, what must be done to get it to work?

      Peter Heggie

    Viewing 12 reply threads
    • Author
      Replies
      • #120972
        Jim Kosloskey
        Participant

          Peter,

          I am sure you thought of this but perhaps worth mentioning. I place any procs that are designed to be invoked by other procs resident in any site in the Master Site tclprocs directory.

          So, I don’t have the answer to specifically what you ask, but I suspect it has something to do with your path for tclprocs (probably does not include any other site – for good reason). Perhaps something could be done by editing the tclIndex file. I am sure Charlie has an answer.

          Personally, I would use the Master Site.

          email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

        • #120973
          Peter Heggie
          Participant

            I am encouraged that you got it to work. I tried putting the called proc ProcB in the Primary Site and the calling proc ProcA is in the current site. When the proc ProcA tries to invoke ProcB, it does not find it.

            When you talk about a path for tcl procs, are you talking about physical directory?

            I thought I tried every variation of recycling, after moving the called proc ProcB into the Primary Site. First I updated the Site Options of Site A to specify a site (SiteB) as it’s Primary Site. I recycled the host server and then I was able to see the SiteB objects in the SiteA NetConfig and other designers. Then I recycled the process in SiteA which contained the parent proc ProcA.

            The invocation of ProcB from ProcA failed due to an unknown command. Maybe there is something else that has to be recycled?

            Peter Heggie

          • #120974
            Jim Kosloskey
            Participant

              Peter,

              Is what you are calling the Primary Site defined as your Master site in the Root Preferences General Tab under the Options menu Option?

              if you would like to take this discussion off line, email me.

               

              • This reply was modified 1 year, 1 month ago by Jim Kosloskey. Reason: tab not tap

              email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

            • #120976
              Peter Heggie
              Participant

                This is the newer option where you can also define something like a Master site, called a Primary Site, differently for each normal / interface site. So we want to just have one site be the Primary Site for all the interface sites (I know this is just like Master Site. The reason we want to look at using Primary Sites is because we tried using a Master site before but there was a conflict when failing over with HACMP).

                My understanding is that Primary Sites function exactly the same as Master Sites, but you don’t set that site at the root level, you set it for each normal site, in the site options.

                Peter Heggie

              • #120979
                Jim Kosloskey
                Participant

                  Oh, OK I have never used that so I am afraid I cannot be of any assistance other than doing some research which I will do now that you have my interest piqued.

                  email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

                • #120980
                  Peter Heggie
                  Participant

                    🙂

                    I really want this to work. We have a few common “subroutine” procs called in multiple sites, just tripped over one this morning, and would really like to end up with one of each..

                    Peter Heggie

                  • #120981

                    When you use the Site Preferences option to choose a different site as the master site, it overrides the root master site. The hierarchy will still be local site –> master site –> root. When making a change to Site Preferences, the entire site should be restarted including both daemons and all processes. You do not need to restart the hostserver.

                     

                    C:\cloverleaf\cis2022.09\integrator\site_test>setsite site_demo

                    C:\cloverleaf\cis2022.09\integrator\site_test>showroot
                    HCI root is C:\cloverleaf\cis2022.09\integrator
                    HCI master site is site_master
                    HCI site is site_demo

                    C:\cloverleaf\cis2022.09\integrator\site_test>setsite site_test

                    C:\cloverleaf\cis2022.09\integrator\site_test>showroot
                    HCI root is C:\cloverleaf\cis2022.09\integrator
                    HCI master site is site_epic
                    HCI site is site_test

                     

                     

                    -- Max Drown (Infor)

                  • #120982
                    Jim Kosloskey
                    Participant

                      So I am following, let’s say Sita A has  a proc (proc1) that wants to reference another proc (proc2) in Site B. Then in Site A in the ‘Options’  Menu item, ‘Site Preferences’ selection, ‘General’ Tab, you specified Site B.

                      Is the above correct?

                      Jim

                       

                      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

                    • #120983
                      Peter Heggie
                      Participant

                        yes exactly.

                        I will try Max’s instructions – hopefully I missed something before.

                        Peter Heggie

                      • #120984
                        Jim Kosloskey
                        Participant

                          Ahh, does this mean then if I specify a Master at the site level (site preferences) the Master at the Root Preferences is not in the hierarchy? So, if I have a mix of procs I want to reference the bulk of which are in a Root Master Site but there are some in another site, I cannot reference both?

                          email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

                        • #120985

                          A site can only have one master site. The root level is still available.

                          The heircharchy is always local site –> master site (either set at the root level or site level) –> root

                          -- Max Drown (Infor)

                        • #120986
                          Jim Kosloskey
                          Participant

                            Gotcha. My preference, at this point, is to design an architecture around the concept of one Master site where common routines go.

                            I think it would be more useful if the Site Preference Master simply gets placed in the hierarchy like: local–> Site Master –> Root Master –> Root with check to make sure no hierarchical pattern gets into a deadly embrace. Just my .02.

                            email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

                          • #120987
                            Peter Heggie
                            Participant

                              I was unable to get that to work. I am on cis2022.09.01, on AIX 7.2

                              On the local site I restarted all processes and the two daemons, and I executed the Refresh Objects command. On the Primary site I ran mktclindex and also edited the TCL proc in the GUI to force the update of the .upocindex file. I ran Refresh Objects there also and I restarted both daemons. I’m still getting the error. I went back to the local site and ran mktclindex but that did not fix the problem.

                              tcl :out :INFO/0: to_email:11/09/2023 10:33:00] sourceFilter /hci/cis2022.09/integrator/soabattst/tclprocs/email_smtp_mime.tcl: Failed to source filtered file: couldn’t read file “/hci/cis2022.09/integrator/soabattst/tclprocs/email_smtp_mime.tcl”: no such file or directory
                              [sms :sms :ERR /0: to_email:11/09/2023 10:33:00] Tcl error:
                              [sms :sms :ERR /0: to_email:–/–/—- –:–:–] msgId = message0
                              [sms :sms :ERR /0: to_email:–/–/—- –:–:–] proc = ‘extracts_email_send’
                              [sms :sms :ERR /0: to_email:–/–/—- –:–:–] args = ”
                              [sms :sms :ERR /0: to_email:–/–/—- –:–:–] result = ”
                              [sms :sms :ERR /0: to_email:–/–/—- –:–:–] errorInfo: ‘
                              [sms :sms :ERR /0: to_email:–/–/—- –:–:–] invalid command name “email_smtp_mime”

                              Just to be clear, the above folder name: /hci/cis2022.09/integrator/soabattst is a link, and all the local sites are in a different file system, with links to them stored in the integrator folder. Our master site is in a sub-folder in the integrator folder (/hci/cis2022.09/integrator/clovertest/<site content>); our local sites are in a different file system (/test/cis2022.09/soabattst/<site content>). Does that make a difference?

                               

                              Now that I have gone through all that and documented the error messages, it just started to work. The only thing I changed was to update the calling proc, in the local site. I don’t know why this made a difference. I looked in the .upocindex file and the tclindex file, in both the local site and Primary Site, and while these were updated at the same time, I don’t actually see the called proc, in the Primary Site, listed in the local site’s upocindex/tclindex files. But the update to the calling proc and the subsequent recycle of that one process which invokes the parent proc seems to have closed the loop. I did not see this activity documented anywhere as required. But nothing else changed.

                              Peter Heggie

                          Viewing 12 reply threads
                          • You must be logged in to reply to this topic.