IC4NOTICE: developerWorks Community will be offline May 29-30, 2015 while we upgrade to the latest version of IBM Connections. For more information, read our upgrade FAQ.
5 replies Latest Post - ‏2013-11-05T20:37:33Z by llandale
2956 Posts

Pinned topic Looking for a Word

‏2013-11-04T14:58:54Z |

Looking for the right word to describe this concept.  "Type" and "Invoked" don't seem to cut it.

I want to say "DXL can be invoked in the following XYZs:"

  • Attr-DXL
  • Layout
  • Trigger
  • Batch
  • On-Demand (e.g. pulldown menu)

"Context" isn't right as that conflicts with the notion Object/Module/Folder/Project/Database "Context": some DXL must run in the context of a current Module or Folder etc.


  • pommCannelle
    41 Posts

    Re: Looking for a Word

    ‏2013-11-04T16:01:31Z  in response to llandale

    ( do you really need a word Louie ??

    "DXL can be invoked from:

    • DXL attribute,
    • DXL layout,
    • Trigger,
    • Batch mode,
    • using the DXL edition interface,

    or on demand (e.g pulldown menu ... )"


    • llandale
      2956 Posts

      Re: Looking for a Word

      ‏2013-11-04T17:01:12Z  in response to pommCannelle

      Yes.  Forming a header for my DXL files; Are these "Invoke Types"?  "DXL Types"?  LaunchModes?

  • Mathias Mamsch
    Mathias Mamsch
    1957 Posts

    Re: Looking for a Word

    ‏2013-11-05T01:02:26Z  in response to llandale

    I just realized you are really only looking for a wording ;-) Well I would say something like LaunchMode or DXL Environment or "where was the code started from".

    Anyway the below answer may give the discussion another spin ...

    I see here, that there are really a lot of informations about the execution environment of a DXL script, that can be of interest. The question from where a DXL was started can have a difficult answer, e.g. when you look at the different layout DXL passes or stuff like that. I see that you might want to have Layout DXL that can be used as Attribute DXL and vice versa. But what is the goal for the headers you are forming? That the code knows where it is running? There are some major differences between batch mode and interactive mode, but why would you have code that does stuff differently when running from a trigger or as a layout DXL?

    I can come up with certain ways to find out stuff about the running DXL, maybe it helps:

    1. Check the "Object obj" variable for detecting attribute and layout DXL
    2. Use attrDXLName to differentiate between attribute DXL and layout DXL
    3. use stuff like bool getCalculatingLayoutHeight_ (void) or DBE getCanvas () to get a handle on the different DXL Layout passes
    4. use checkDXL on a previously declared global variable to see if you are on the global DXL context
    5. you could try to use createMenu to check if the code was invoked from module menu creation code (e.g. formal.dxl)
    6. User "current Trigger" code to check for trigger code
    7. Use isBatch to detect batch mode
    8. Use the dxlHere() traceback to check if the first line ist Line:<nr> which says it has been launched interactively (e.g. Edit DXL) - in case of DXL Editor (COM Start with runFile) you will find a file in your temp folder here, which has the directory /DXLEditor/ inside ...

    I found no way yet to get the difference between Tools / Edit DXL  and code that has been run from a Module Menu without bad hacks. However I still do not see the whole point of differentiating between all those kinds. Are you trying to solve an actual problem?

    Regards, Mathias

    Updated on 2013-11-05T01:09:03Z at 2013-11-05T01:09:03Z by Mathias Mamsch
    • sekrbo
      41 Posts

      Re: Looking for a Word

      ‏2013-11-05T09:23:30Z  in response to Mathias Mamsch



      Didn't you just use the word Louie is looking for?

      DXL can be invoked in the following execution environments:


      I liked it!




      Updated on 2013-11-05T09:24:04Z at 2013-11-05T09:24:04Z by sekrbo
    • llandale
      2956 Posts

      Re: Looking for a Word

      ‏2013-11-05T20:37:33Z  in response to Mathias Mamsch

      I'm looking to change "Context" below into some other word, since "Context" has the meaning of Current Object/Module/Folder/Project/Database that the script presumes when it starts.  Scripts run from a Formal menu have a "Formal Module" as Context.

      First I want the DXL code file itself to state what kind of code it is intended to be run as.  If the same file can be a Layout or an Attr-DXL then I want a comment that says so.  "Intended Context" or something like that.

      Having the code determine how it was actually invoked is a different problem solved at run-time.  The file above can run as layout or attr-DXL, but it needs to know which when running.   I wrote the library code attached which does make use of some of your suggestions.    I'll have to think about your TopContext(#4) or whatever your #8 is doing.  batchMode is a special case of On Demand and I use that already to determine if dialog should be displayed or just presumed.