You can convert Doc/PDF into plaintext using LibreOffice and read that from Cache. Here's an article on working with LibreOffice from Cache.
- Log in to post comments
You can convert Doc/PDF into plaintext using LibreOffice and read that from Cache. Here's an article on working with LibreOffice from Cache.
No. Seems like it's XML-only qualifier.
Yes, to skip exporting storage you need to specify compilation flag:
/skipstorage=1
Description
Name: /skipstorage Description: In class Export, if true do not export storage definition. Type: logical Default Value: 0
You can set it:

System and namespace defaults could be set via:
Set sc = $System.OBJ.SetQualifiers(qualifiers, system)
Use double quotes?
SELECT "ACCESSION_DATE" FROM Table
If you want to enable/disable/modify several ensemble hosts, it's better to update them without updating production first and after that update production. Maybe your error is caused by racing production updates. Also add longer timeout on production update.
set sc = ##class(Ens.Director).EnableConfigItem("Item1", 1, 0)
write:'sc $System.Status.GetErrorText(sc)
set sc = ##class(Ens.Director).EnableConfigItem("Item2", 1, 0)
write:'sc $System.Status.GetErrorText(sc)
set sc = ##class(Ens.Director).UpdateProduction(60)
write:'sc $System.Status.GetErrorText(sc)Definitely, try Stay Connected = 5 so the connection would drop five seconds after data transfer.
Hello. Mount remote drive as a folder on your local disk (C or D).
UPD. Please stop spamming the same question in multiple comments. If you want discussion, you can start ask a new question and @mention users.
Have you tried "&"? IIRC Ensemble does escaping.
Code/data sample?
$translate would be better here
write $translate("12 500", " ")To remove everything except numbers use $zstrip:
write $zstrip("12 500", "*E'N")kill ^ISCSOAP
But check ^ISCSOAP("LogFile") first and delete that file too.
If you want to compare two in-memory objects, you can use method generators, there are several related articles and discussions on that:
Simple comparator on GiitHib - note that it's a runtime comparator, therefore slow. Better solution would be method generators.
If you're comparing objects of different classes you need to find their common ancestor class and compare using that.
If you're comparing stored objects you can calculate hashes and compare that.
All in all it's a very complex topic and you need to determine what requirements do you have:
And design your comparator based on that.
Here's a simple hasher on GitHub.
What about discussion?
In my practice issues often include:
Issues help to collect all this information and make it available later.
That works only for CSP context and CSP pages. You can write a wrapper I suppose, but I think it would be easier to just write your own querybuilder code:
ClassMethod Link(server = "www.example.com")
{
try {
set cspContext = $data(%request)
if 'cspContext {
set %request = {} // ##class(%CSP.Request).%New()
set %response = ##class(%CSP.Response).%New()
set %session = {} //##class(%CSP.Session).%New(-1,0)
}
set query("param") = 1
set page = "/abcd.csp"
set url = ##class(%CSP.Page).Link(page,.query)
set url = $replace(url, page, server)
write url
kill:'cspContext %request,%response,%session
} catch {
kill:'$g(cspContext) %request,%response,%session
}
}With querybuilder:
ClassMethod Link(server = "www.example.com")
{
set query("param") = 1
set data = ""
set param = $order(query(""),1,value)
while (param'="") {
set data=data _ $lb($$$URLENCODE(param)_"="_$$$URLENCODE(value))
set param = $order(query(param),1,value)
}
write server _ "?" _ $lts(data, "&")
}You're doing two separate operations:
They can both be system tasks with one task dependent on other or even one task altogether.
If you're using persistent objects to store data you can specify DSTIME:
Parameter DSTIME = "AUTO";
and ^OBJ.DSTIME would be maintained automatically.
UPD. Read your other comment. DSTIME is relevant only for syncing. It does not affect full build behaviour.
You can change user password in System Management Portal -> Menu -> Users.
Note that if you installed Cache under minimal security it may be easier just reinstall Cache with Normal/Locked Down security.
Thank you! Fixed.
Post your file BO?
For higher performance it's better to keep the data in InterSystems platform and sync it with remote db periodically.
To download the data via xDBC you have two main approaches:
Interoperability approach is better as it solves most problems and user should just enter the query, etc. "Raw" can be faster and allows for fine-tuning.
Now, to keep data synced there are several approaches available:
If you can modify source database - add UpdatedOn field, it's the best6 solution.
Linked tables allow you not to store data permanently, but the cube would be rebuilt each time. With other approaches syncing cube is enough.
Also check this guide on DeepSee Data Connectors.
We're using Custom Login pages and they don't show other page on fail - just User/pass incorrect message. @Sergei Sarkisian? There's also this discussion.
Basic authorization also works - it's used in DeepSeeWeb. OP has a problem with CORS and maybe roles.
Failed to load http://server:port/csp/xxx/
login: Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.
Add Access-Control-Allow-Headers header to OPTIONS response?
I have no real answer to the logon issue
What about custom login pages?
<html>
<head>
<title>cUSTOM LOGIN PAGE</title>
</head>
<body>
<div style="">
<form name="loginForm" class="form-signin" method="post" action="#("./index.csp")#">
<p id="caption">Registration system</p>
<input name="CacheLogin" value="1" type="hidden">
<input id="CacheUserName" type="text" class="input-block-level" name="CacheUserName" placeholder="Login" value="_SYSTEM">
<input type="password" class="input-block-level" name="CachePassword" placeholder="Password" value="SYS">
<button class="btn btn-small btn-primary" type="submit" style="font-size: 1em;">Login</button>
</form>
</div>
</body>
</html>If you're using WYSWIG editor you can specify a cut - part of text that's seen as a post preview:

Here's how it looks:

How to do that in Markdown?
BTW, advice: don't switch MD article into WYSWIG, you'll lose the formatting.
How do I add a cut to my post?
When you're using Import, one record that imports - is it correct (corresponds to one string in csv)?
Depends on a language. C# example.
Use parameters instead of building the query manually. Everything would be escaped automatically.
You're importing
jitPod.Api.toServer.logonand that's whats imported. I think you skipped step 5, where you replace all reference to Apiwith api.