go to post Dmitry Maslennikov · Sep 17, 2016 I managed to work it, I've just extended Cache dialect for Hibernate, and changed GlobalTemporary table which is not support DROP to LocalTemporaryTable. And changed column type for boolean, for supported in Caché data type bit. And looks like, I get working FHIR server which stores all data in Caché. public class CacheDialect extends Cache71Dialect { public CacheDialect() { super(); this.registerColumnType(Types.BOOLEAN, "bit"); } @Override public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() { return new LocalTemporaryTableBulkIdStrategy( new IdTableSupportStandardImpl() { @Override public String generateIdTableName(String baseName) { final String name = super.generateIdTableName( baseName ); return name.length() > 25 ? name.substring( 1, 25 ) : name; } @Override public String getCreateIdTableCommand() { return "create global temporary table"; } }, AfterUseAction.DROP, null ); } }
go to post Dmitry Maslennikov · Sep 17, 2016 Actually there are two causes, of this. First, is a quite simple, installation script looking at previous installation, and can't change if it was already installed in another folder. But next reason, it is just a small typo in installation script, which suit only for silent install. file package/csp_gateway/parameters contains CSPGATEWAY_DIR variable instead of CSPGATEWAYDIR you may just add this line to your installation script, to fix this error. sed -i '' -e 's/CSPGATEWAY_DIR/CSPGATEWAYDIR/g' ./package/csp_gateway/parameters And I think, you should ask WRC to fix this error in all next builds.
go to post Dmitry Maslennikov · Sep 17, 2016 To find way how to compare time, you should remember format for $horolog, which is has two parts separated with comma. First of part it is a date, which is actually numbers of days since 1841 year, so $horolog=1 it is 01/01/1841. Next part is a seconds in a day, no more than 86400, and may have milliseconds after point. Know it, you can easily convert $horolog to seconds and compare them SAMPLES>set date1=$zdth("01/02/2016 10:00") SAMPLES>set date2=$zdth("01/02/2016 20:00") SAMPLES>zwrite date1,date2 date1="63919,36000" date2="63919,72000" SAMPLES>write ($piece(date1,",")*86400+$p(date1,",",2))>($p(date2,",")*86400+$p(date2,",",2)) 0 SAMPLES>write ($piece(date1,",")*86400+$p(date1,",",2))<($p(date2,",")*86400+$p(date2,",",2)) 1 You can also use SQL function DATEDIFF, to see difference in seconds between to dates SAMPLES>write $system.SQL.DATEDIFF("ss",date1,date2) 36000 SAMPLES>write $system.SQL.DATEDIFF("ss",date2,date1) -36000 SAMPLES>write $system.SQL.DATEDIFF("ss",date1,date1) 0
go to post Dmitry Maslennikov · Sep 16, 2016 Why are you so sure in that ?Any examples of code, and application, which you want to call.Looks like you want to start something like notepad or so on, which you expected to see. You just can't see what was launched because it is interactive application, but with $zf(-1) you you should use only command-line applications, just because it is server. And such behavior exists since Windows Vista. As I remember you can change it, you just should allow to interact with desktop, in the settings for Caché service.
go to post Dmitry Maslennikov · Sep 16, 2016 In your question and comment I see two tables iagentbySkillsetStat and iSkillsetStat. Are you sure that you working with right table which contains such property ?
go to post Dmitry Maslennikov · Sep 16, 2016 You can only use array instead of list of exported elements. USER>zw list list("a(1).gbl")="" list("a(3).gbl")="" USER>d $system.OBJ.ExportToStream(.list,.stream) Exporting to XML started on 09/16/2016 11:19:58 Exporting global: ^a(1) Exporting global: ^a(3) Export finished successfully.
go to post Dmitry Maslennikov · Sep 12, 2016 If you have an access to WRC, you can get FieldTest versions, Caché and Ensemble with test license keys. If not I think you may ask for an account by sending email to support@intersystems.com
go to post Dmitry Maslennikov · Sep 10, 2016 For now, I need only Data Model and API to get access, in time when even do not have any data model. Yes, I know, that we are already have documented api, and will be easier to implement, but I still need some time.Ok, maybe someone know some testing tool for API, some unit test which can get my base url, and test all functions in that API and says that everything works by standard?
go to post Dmitry Maslennikov · Sep 10, 2016 Whats the strange question?Are you know meaning for two of this words ?Caché - it's an InterSystems database, platform which you are working onand cache - which is just a technology, it is a bunch of ways hardware and software how to return previously accessed data more quickly
go to post Dmitry Maslennikov · Sep 8, 2016 As I see it's like an emulator x86 on ARM. Ok, then it would be possible, but any way running Caché directly on ARM would be better, and will be a bit easier to find and solve some possible incompatibilities
go to post Dmitry Maslennikov · Sep 8, 2016 So, you have to modify some entries in AD by data on Caché side.In first, I have not been done such work before, I'm just trying to suggest what may help you.Better way to understand what you have to achieve your needs, it's look at classes. Like EnsLib.LDAP.OutboundAdapter which you've already found and %SYS.LDAP which is lowest class, which actually doing all work with LDAP. Actually Enslib.LDAP as I see used deprecated classes from %Net.LDAP.Client.How it may help? for example? you can find there such method as GetEntryEditObj, which I think may be used to edit some entries in your AD, if you have enough permissions. Some example you can find in the class for this EntryEdit. Or method ModifyExts in %SYS.LDAP, also has some examples.Hope it helps.
go to post Dmitry Maslennikov · Sep 8, 2016 To support Raspberry Pi, IntersSystems should support ARM, but not sure that so easy, and could be valuable for them, even if remember how quickly they ended GlobalsDB. But GlobalsDB was a quite good product, and was used in some projects, and even still used. If somebody needs to use micro-pc they can use some alternatives on Intel's process such as Intel Galileo
go to post Dmitry Maslennikov · Sep 7, 2016 What exactly do you want to reach, authentification in Caché using LDAP login, or you want to connect and load users from AD ?
go to post Dmitry Maslennikov · Sep 6, 2016 Closing Tab in the browser, does nothing on the server side, because in simple way, browser only ask server by user's requests.You can only do some ajax request just when user closes the page, to close session on the server side, no more.Every session will be alive in their Timeout, that Timeout could be get by default from settings, or you can set it programmatically ( set %session.AppTimeout=900), and only when timeout is exceeded the used grace period 5 minutes. And only after that session and license will be released. And you should remember, that if user closed tab, he can open it again, and it will be the same session as before.
go to post Dmitry Maslennikov · Sep 6, 2016 If you would work with this or even look at the documentation by link, which I gave, you would see that DISABLE actually disabled changes which was done by ENABLE^%NOJRN, and name NOJRN says No Journal.
go to post Dmitry Maslennikov · Sep 6, 2016 Your version of Cache is unsupported, you should have at least 2016.2
go to post Dmitry Maslennikov · Sep 6, 2016 What do you mean ?Atelier can store cache classes in git and in any others source control systems.even, you can make source control class for studio which will support the same way as in Atelier
go to post Dmitry Maslennikov · Sep 6, 2016 Looks like you want to achieve something else, and on the wrong way. any way you can get the same output as in zwrite to array of lines, with command Do DumpObjectToArray^%occRun(obj,.lines) If you have to restore some object by this data, you have to use serialization, XML for example. For xml I would recommend to look at this part of the documentation.
go to post Dmitry Maslennikov · Sep 5, 2016 It is not so easy, as you may expect, you should look at some tools like Phonegap and so on