Interoperability

Syndicate content 10 

Hello,

 

I am looking for ObjectScript implementation of crypt-compatible function, that generates md5 salted hashes (output is in the form of $1$salt$hash). From what I understand it uses its own spin on md5 algorithm:

 

https://en.wikipedia.org/wiki/Crypt_(C)
http://php.net/manual/en/function.crypt.php
http://www.gnu.org/software/libc/manual/html_node/crypt.html

 

 

Does Cache have something like that built in?

Has somebody here seen it implemented somewhere?

 

Thanks.

 

 

Added:

I have found description of the underlying algorithm here: https://www.vidarholen.net/contents/blog/?p=32

 

Last answer 28 September 2017 Last comment 29 September 2017
0 2
207

views

0

rating

Hi.

It is easy to receive JSON representation or dynamic Array from %ListOfDataTypes:

set l=##class(%ListOfDataTypes).%New()
do l.Insert("a")
do l.Insert("b")
do l.Insert("c")

set arrStr=l.$toJSON()
zwrite arrStr
set arr=l.$compose([])
zwrite arr

How to make backward conversion? How to receive %ListOfDataTypes from dynamic Array an JSON string?

I've tried

SAMPLES>set list = ##class(%ListOfDataTypes).$fromJSON("[""a"",""b"",""c""]")

%FromObject+21^%Library.RegisteredObject.1 *%Exception.General Compose Compose %FromObject Unable to map from %Library.Array instance to %Library.ListOfDataTypes

and

SAMPLES>write arr.$compose(##class(%ListOfDataTypes).%New())
 
zcompose+44^%Library.AbstractObject.1 *%Exception.General Compose Compose %FromObject Unable to map from %Library.Array instance to %Library.ListOfDataTypes
Last answer 30 June 2017 Last comment 8 February 2016
0 3
680

views

+ 2

rating

The Data Platforms department here at InterSystems is gearing up for this year's crop of interns, and I for one am very excited to meet them all next week!

We've got folks from top technical colleges with diverse specialties from hard core engineers to pure computer scientists to mathematicians to business professionals. They come from countries around the world like Vietnam, China, and Finland and they all come with impressive backgrounds. We're sure they will do very well this summer.

Rather than providing a set list of projects this year, Data Platforms interns will be developing their own projects which satisfy a short list of requirements. I can't wait to see what they come up with!

For an idea of what to expect, check out the white paper attached from my group last year who ported Deep Feature Synthesis research done at MIT for SQL platforms to Caché. Sarat Vysyaraju and Ryan St. Pierre did me and all the other mentors who provided guidance proud

0 3
0

comments

281

views

+ 6

rating

I am looking for a general overview of how you would attach a document to a patient record in healthshare.  For instance, an Advance Directive or Living Will.

 

Here are some starter questions:

  1. What format is required, if any?  Can it be a PDF or DOC?
  2. How can/should it be submitted?  HL7? XDS.b?  Embedded in a CCD?

Sorry for the open endedness.  Any info would be helpful while I research this.

Last answer 9 March 2017 Last comment 16 November 2016
0 0
210

views

0

rating

Hello community,
 

I'm triing to use perl with Caché on CentOS 7.

  • Caché is installed and working
  • Reading doc for perl module
  • Adding path of Caché/bin in PATH and LD_LIBRARY_PATH as suggested in doc
  • Creating mMakefile (perl Makefile.PL)
  • Success at compilation (make)
  • Fail at test (make test). And return the following message:

Can't load 'blib/arch/auto/Intersys/PERLBIND/PERLBIND.so' for module Intersys::PERLBIND: libcbind.so: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190.
 at test.pl line 10.

The test are a simple file that try to load the module in perl and connect to Caché.

But it doesn't pass the module importation.

After digging a little, when loading the module compiled (PERLBIND.so) crash. Perl return that after the return of the library. No because he can't get it

Last answer 30 January 2017 Last comment 31 January 2017
0 1
262

views

0

rating

Recently I came across a very strong statement to the effect that InterSystems.Data.CacheClient.dll library works fast because it does not open a TCP/IP connection, instead it works in the same process as a database. It made me pause for quite some time. Firstly because .Net Managed Provider, which utilises this library, opens TCP/IP connection to the database (and it is stated in the documentation "Using .NET and the ADO.NET Managed Provider with Caché"). And secondly, because as far as I know only eXtreme applications attach themselves to the process. Besides, CacheClient for the most part just implements the functionality of the Caché system and user classes. And in .Net Managed Provider architecture Caché Object Server is responsible for connection to a database.

So who is right and who is wrong? Is it correct to state that CacheClient.dll operates in the same process as a database or is it just inapplicable? Will be really grateful for your thoughts and input.

Last comment 16 January 2017
0 5
0

answers

714

views

+ 1

rating

I have posted to aid others in diagnosing problem with SSL/TLS connections to superserver port from .NET client executable.

The cache instance this appeared on is quite old - 2011 - so I do not know if Intersystems have added a better error message in a later version

The actual fault was due to the certificate in the %SuperServer SSL/TLS configuration having expired.

The unhelpful message that appeared in the .NET client included the following partial stack trace.

0 3
0

comments

270

views

0

rating

Microsoft Office has components for using in third party applications: COM Objects for C++ and Interop Assemblies for .Net programming.

Many Cache projects used to include calls to those libraries. However, recently this solution started being problematic.

There are two main reasons - legal and technical. Let’s check the details.

Microsoft technology support

Microsoft is supporting Office Automation only for desktop computing. 

It shall not be used for server computing, as they offer Sharepoint for this scenario. Have a look here:


"Microsoft does not currently recommend, and does not support, Automation of Microsoft Office 
applications from any unattended, non-interactive client application or component (including ASP, 
ASP.NET, DCOM, and NT Services), because Office may exhibit unstable behaviour and/or deadlock when 
Office is run in this environment.

0 1
0

comments

230

views

+ 1

rating

This article explains the basics of OpenVMS file structures, from a Caché prospective, and what you need to know to read and write any OpenVMS file with Caché, even the files with difficult file structures.

On UNIX and Windows all files are just a stream of octets (eight-bit bytes). Assigning meaning to those octets is done entirely by convention. Those conventions are rather simple, even if slightly different on UNIX and Windows. Meanwhile, the authors of OpenVMS thought that file structure was so important, they built it into the Operating System in the form of the Record Management Services (RMS). While RMS does provide for file structures that are almost 100% compatible with UNIX and Windows, most native OpenVMS applications prefer file structures that are more efficient

0 1
0

comments

568

views

0

rating

Hello community; this may seem odd, but I need to know if there's any way we could be using callin functions from a C application without knowing?  e.g. if other developers created some C programs that call in to Caché that we don't realize are running.  Is that possible?  If so, where would I look to see these programs?  Perhaps the server's task manager? 

Thanks --Laura

Last answer 17 October 2016 Last comment 17 October 2016
0 2
168

views

0

rating

Preface: our small, but very ambitious company called “Black Mushroom Studio” came up with an idea for an e-commerce project and a mobile app that would let users pay for certain goods/services via a payment aggregator.

 

What we had initially: an Android app skeleton that, of course, liked communicating via HTTP and JSON, and a payment system with an API – web services with SOAP content.

 

Goal: make it all work together.

Last comment 22 September 2016
0 7
950

views

+ 15

rating

Using Node.js with Caché - Introduction says the following:

The cache.node module is the Node.js interface for the GlobalsDB kit, which can be obtained from the GlobalsDB download page (http://globalsdb.org/downloads/). The Node.js interface can be used with either Caché or the free GlobalsDB database.

The installation kit includes detailed documentation on how to install and configure the cache.node module.

Last answer 5 August 2016 Last comment 5 August 2016
0 1
491

views

0

rating

I have a MySQL server with "posts" table.

I also have a Caché server with "downloadedposts" table. 

They are connected from Caché to MySQL via SQL Gateway

I want to keep Caché table synced with MySQL one  (MySQL "posts" table is a master copy), so periodically Caché queries MySQL server and downloads data. So far so good, and if a record appears or changes in MySQL table, Caché downloads the changes.

The problem I'm encountering is that sometimes rows would be deleted from  MySQL "posts" table.

How do I synchronize deletions?

Last answer 27 June 2016 Last comment 24 June 2016
0 1
566

views

+ 2

rating

Hello WRC.

Is possible to obtain a node-cache modul for the nodeJS ver.4.4.4. and actual Caché 2015... ?

And what is the expected outlook of this.

A note about this new portal: If I put into "search box" some text with dot like .js or .css ( for example: test.js )  , I obtaint error page. Try it.

Of course, this "Developer Community" is nice, the right way.

Nice day for all, Jan Krestyn

 

Last answer 17 June 2016
0 1
0

comments

260

views

0

rating

Hi All,

I've created a sample implementation of the MQTT protocol, which is now available on GitHub

The project demonstrates MQTT client capabilities and it's written in Caché Object Script.

 

Any comments, bug reports are welcome! Some more enhancements (like SSL / TLS support) are planned for the near future.

0 1
0

comments

270

views

+ 4

rating

Hello,

I am trying to use %ZEN.proxyObject to send out in JSON format so I do:

    set tProxyRequest = ##class(%ZEN.proxyObject).%New()
    set tProxyRequest.notanumber = "28001"
    set tProxyRequest.aboolean = "true"
    
    set tBody = ##class(%GlobalCharacterStream).%New()
    do ##class(Ens.Util.JSON).ObjectToJSONStream(tProxyRequest,.tBody,"aelotwu")
    w tBody.Read()

and I get:

{
        "aboolean":"true",
        "notanumber":28001
}

But I want this:

{
        "aboolean":true,
        "notanumber":"28001"
}

 

Help please !

Last comment 17 February 2016
0 6
0

answers

598

views

0

rating

Hi,

We do have a production including a SOAP.OutboundAdapter that make a request to a .NET WCF Service. The response from that service vary in size. When it come to large one, we talk about maybe 8000 records (with 6-8 attributes per record) in xml, the adapter always give a timout. Even if we put a high number of seconds or set -1. After 1 1/2h still nothing get back. It's just standing there and waiting for ever.

Our .NET developer have look at it (on the WCF-service)  and from ther point of view they say that it seems like Ensemle can't handle such big responses.

In .Net it.s possible to put the property "maxReceivedMessageSize" when they expecting large size responses.

Is it possible to do the same in ensemble or is it another best practise to solve this problem?

Sincerely, Michael Lundberg

 

 

 

Last comment 12 February 2016
0 3
0

answers

224

views

0

rating