Hello all!
I have started to get acquainted with a m2doc and discovered couple of interesting services.
Thy are documented in the m2doc page section prompt services.AP
One can add this functions inside of m: statement and that will raise non-modal prompt dialog awaiting user input. ( similar to JS prompt())
I found this prompt services very useful especially when debugging some parts of {m: ... } constructs because of strange behavior
Another use is to actually use the input ain a let statements to define variables.
Result of the prompt can be String, Integer,Double, or even an EObject
Imn case of latter one prompts user with a selection dialog with all available resources in current Medini project.
Examples:
Using 'STR'.promptString()
----
'Please state your name\n\tThank you!'.promptString()
m:let promptOutput='Please define values separated by space \n\t[Anything outside of < 1 or > 10 will be disregarded]'.promptString()+''
m:if promptOutput <> ''
'convert ot integer but before use regexp to allow only 0-9 characters, filter content ot keep only unique records and then covert string to integer
'Finally limit the values to a 1..10 only and sort the values in descending order
m:let myValues = promptOutput.tokenize(' ')
->select(e|e.matches('[0-9]+'))->asSet().toInteger()->intersection(OrderedSet{1,2,3,4,5,6,7,8,9,10})
->asSequence()->sortedBy(e|e)->reverse()
------sanity check
m:if myValues->size() > 0
....... Do some magic .....
m:endif
m:endlet
m:endif
m:endlet
m:endlet

And also some example with 'Some text'.promptEObject()
---This did not work well , shown were all meta objects in project but cannot confirm the select as a valid type
m:let myobj='Please Select an FMEA FailureEntry: (FMEA::FailureEntry) '.promptEObject(FMEA::FailureEntry)
---This worked , allowing select and confirm any EObject
m:let myobj='Please Select an FMEA FailureEntry: (ecore::EObject)'.promptEObject(ecore::EObject)
--USing kernel::MediniObject allowed to confirm only objects such as Failure rate catalog,Mission profile, Traces objects
m:let myobj='Please Select an FMEA FailureEntry: (kernel::MediniObject)'.promptEObject(kernel::MediniObject)
---This did not work well , shown were all meta objects in project but cannot confirm the select as a valid type
m:let myobj='Please Select an FMEA FailureEntry: (FMEA::FailureEntry) '.promptEObject(FMEA::FailureEntry)
---This worked , allowing select and confirm any EObject
m:let myobj='Please Select an FMEA FailureEntry: (ecore::EObject)'.promptEObject(ecore::EObject)
--USing kernel::MediniObject allowed to confirm only objects such as Failure rate catalog,Mission profile, Traces objects
m:let myobj='Please Select an FMEA FailureEntry: (kernel::MediniObject)'.promptEObject(kernel::MediniObject)
However here it I encountered little bit of problem. I was able able to see and select all the object however the only way I was able to confirm selected object was if I used ecore::EObject or kernel::MediniObject. Maybe I could consider to some of the UI.js utilities such as SelectElement() instead of this

PS: You ma have notice I also used M2DOC interpreter view However I did not found an easy way how to create or at least locate pre-generated genconf file that I could use to see all the resources inside of particular project as it was in case when m2doc was triggered from a word template

Happy reporting
Marian