You want to log, every outputs in csession like in cterm in windows, or just want to log every output for concrete command/routine ?
- Log in to post comments
You want to log, every outputs in csession like in cterm in windows, or just want to log every output for concrete command/routine ?
Unfortunately not so many information could be found in documentation, yet. But what I know, when ordinary class/classmethod or clientmethod defined in %Dictionary.MethodDefinition, systemmethod defined in %Dictionary.SystemMethodDefinition (link to localhost:57772). Defintion for systemmethod is quite close to method, but with much less parameters.
Hi Luca,
Will there any academic sessions at global summit with Docker ?
I think it should be, it will be very helpful, to understand how it works with Cache, how possible to deploy applications. I like docker, and think about it, but still do not understand how it can be used with our applications, and how to make container for it, and connect to Cache's container.
Thanks, it's much better :)
Yes, it is so. And yes, I'm already have enough rep for editing. But I'm not sure in stackoverflow rules, is it available for such changes? And I'm not sure in my english, that's maybe main reason, why I have not done it yet.
You can see my example at code.intersystems.com.
and with this code, you do such query
select * EnsUtil.Message_fetch()
or
select count(*) EnsUtil.Message_fetch('namespace1,namespace2')
And even if you don't extend any classes, it any case will be hidden extend with %Library.Base. and %systemInclude still be included.
I'm very agree, with advertising stackoverflow tags, it is a very good platform for questions. But unfortunately just a few people use it, some more at different google groups , and as I think much more at russian forum sql.ru. But I see that stackoverflow, much better that any others. Unfortunately here as we already know, it is quite difficult to recognize a question in new posts. And very bad that this site still does not have any RSS, i can't wait when it happen. And too difficult to catch any new posts via email subscriptions, which is so ugly yet.
You mentioned tag objectscript at stackoverflow, but I don't understand why so many people choose it as relevant to intersystems technologies. It does not, it looks odd, even every last question marked with this tag, depends only with caché. And it looks we should change description for this tag, which will be relevant to Caché.
Is it your account on github ?
Looks like you already know how to create repository and work with github.
Just create another repository, and create some readme (in english), license file. Most of projects on InterSystems technologies uses MIT license.
In your porject more then one class, so better to export each file separately. Easy to do it with Studio hooks, for example with this project. It can help to export project files automaticaly after compile.
And then after publish your project, Evgeny or somebody else who manage intersystems account, will fork it.
Final method or not it checks only in a compile time. Much helpier would be if you show an error which you get.
In Cache uses typeless language. So in some cases such as in command IF
if varName write "true" else write "false"
or any other logical operations any non zero values will be as true values.
and '1 will give a 0
I guess that you writing an function for rule. And your class where you do it extends
And if you want to call it by terminal, it should be so:
What do you mean by environment ? In Cache we dont have such term.
Maybe you mean System Mode on page "Memory and Startup" Page. If so, that value only stores in global here
Well, with this example, I just changed that block, which works for all rest pages in a group except the first one.
<document width="8.5in" height="11in" marginLeft="1.25in"
marginRight="1.25in" marginTop="1.0in"
marginBottom="1.0in" headerHeight="1.0in">
</document>
<pageheader>
<table orient="col" layout="fixed" width="6in">
<item style="text-align:left" value="Sales Report" />
<item field="@name" width="2in"></item>
<item style="text-align:right" special="page-number-of-with-xpath" field="@name" />
</table>
</pageheader>
</masterreference>
And it shows Sale rep in a header where page counter was shown before, for example
Sales Report Jack 2 of 5
Sales Report Jen 3 of 5
You can see my result here. A changed only first section.
Hi Steve, are you have seen class ZENReports.PageLayouts in SAMPLES namespace? It shows a lot possiblities for ZEN Reports. Page headers as well. And with sample is not so difficult to make a groupped report with a value on ech page at header. For more control on page header in reports, you should look at page pagemaster, masterreference, pageheader
And every time for any cases, it add only 1 point. And even every view of page, unique or not also give you points.
Templates in ZEN, is a quite simple as I think. When you doing template page just add <pane paneName="MainContent"/>. And then in a children, you should add XData with the same name "MainContent", which starting with tag <pane>.
{
<pane xmlns="http://www.intersystems.com/zen">
</pane>
}
You should not rewrite Contects XData in children pages, and such subpanes could in the same class, or in children.
Yes, here form is required, data could tied with model only via dataController, and form or dataGrid
In this case, in a table you just add a new column with link
so, now, we got an contact's ID in every row.
and then in a ViewContact page, we should add a dataController, to our Model, and define an modelId, from url
modelClass="ZenTutorial.ContactModel"
modelId="#(%url.ID)#" />
You can set modelId with URI Parameters as weel, after adding a property:
modelId="#(%page.ContactID)#"
and finally form, wich connected with previously added controllerId, and it shows two fields, read only, yet. But it is not so diffucult to add editng.
<text label="ID:" id="ID" name="ID"
dataBinding="%id" size="5"
readOnly="true"/>
<text label="Name:" id="Name" name="Name"
dataBinding="Name" size="30"
labelClass="required" required="true"/>
</form>
It is just a simple working example. But for reali life, it could be in some class. And flexible it will be with good UI, storage anyway for such task is quite simple. How well will be your UI, for organize that tree, so flexible it will be. Here is an example of complete UI, for creatingand running Decision trees. I think you could try to connect this project with Cache. And I think it is possible to find more web-libraries, which could help you.
do init()
set result=$$ask(0)
write !!,"Result: ",result
}
init() {
kill ^DECISIONTREE
set ^DECISIONTREE(0)="Smoker"
set ^DECISIONTREE(0,"Yes")=1
set ^DECISIONTREE(0,"No")=2
#; Smoker -> Yes
set ^DECISIONTREE(1)="Age"
set ^DECISIONTREE(1,"<30")=3
set ^DECISIONTREE(1,">30")=4
#; Smoker -> No
set ^DECISIONTREE(2)="Diet"
set ^DECISIONTREE(2,"Good")=3
set ^DECISIONTREE(2,"Poor")=4
#; Smoker -> Yes|Age -> <30
set ^DECISIONTREE(3)="Less risk"
#; Smoker -> Yes|Age -> >30
set ^DECISIONTREE(4)="More risk"
#; Smoker -> No|Diet -> Good
set ^DECISIONTREE(5)="Less risk"
#; Smoker -> No|Diet -> Poor
set ^DECISIONTREE(6)="More risk"
}
ask(id) {
set text=(^DECISIONTREE(id))
quit:$data(^DECISIONTREE(id))=1 text
write !,text
set answer=""
for i=1:1 {
set answer=$order(^DECISIONTREE(id,answer),1,nextId)
quit:answer=""
set answer(i)=nextId
write !,$justify(i,3),") ",answer
}
set nextId=$$read(.answer)
quit:nextId="" ""
quit $$ask(nextId)
}
read(&answers) {
write !
do {
write $char(13),"Option? "
read res#1
quit:$zconvert(res,"L")="q"
} while (res="")||('$data(answers(res)))
write !
quit $get(answers(res))
}
USER>d start^tree()
Smoker
1) No
2) Yes
Option? 2
Age
1) <30
2) >30
Option? 1
Result: Less risk
I now working on backporting this project to versions less then 2016.1. (2014.1 or 2015.1). But unfortunately can't test test it yet. Unfortunately, I don't have an access to any versions except FieldTest. When I will get such version I'll test my project on it.
Maybe if need not just import sources from xml, but some more actions. And anyway one more interesting way to deploy your code, is using Installer Manifest. With this manifest, you can just import your code to any namespace, or before it, create namespace, csp-applications, do some configurations for your application. For further information see documentation.
In our project we use manifest for build project, and for deploy on a new servers.
First problem is with Work Queue Manager, that it does not work in CSP processes. In my project CacheBlocksExplorer, I tried to use it for async scan of database blocks. Here you can find my source, where I use it with WebSocket. Another problem is It does not work as well, if you just have only one core.
So, you can force set how many jobs use:
Set ^||%ISC.WorkQueueMgr("ForceJobs")=2
Timur already wrote about it some time before. It is works, but not shows any response, before you update the page.
Sorry, I forgot to mention it. It works only with versions where added native JSON, so, 2015.3FT and 2016.1FT