Date   

Re: offline table conversion

Govert Schipper
 

Hi Tim,


Automatic table conversion is only available from the studio on your development database. If you want to convert tables on the production database you will have to write your own conversion programs. What database are you using and what version of Magic.


Govert



Van: main@magicu-l.groups.io <main@magicu-l.groups.io> namens Tim Downie <tim_downie@...>
Verzonden: maandag 24 september 2018 03:30
Aan: main@magicu-l.groups.io
Onderwerp: [magicu-l] offline table conversion
 
Hi

Does anyone have any knowledge of how the offline table conversion process works. Weve added fields in some instances the conversion has worked automatically.
Other times were getting a type of definition mismatch due to the new fields not being on the altered tables.

The docs do not say a lot about how this works , Im also wondering if you import the application into new project , does this have any bearing on these local tables.

How are other people handling this issue?

Any comments appreciated.



from the help
Changing the Database Structure of a Local Data Source
When a change is made to the structure of a local data source (such as deleting a field, modifying a field picture, or adding a field), the change is automatically applied to the client’s local data source after the project metadata is transferred to the client.
The existing local data is automatically converted to the new structured data source if possible.


Re: Passing a variable/s to a blob for HTTP Call Magic XPA/XPI #ria

Darren
 

Hi Andreas,

 

I took a screenshot on how it looks like when using "Call Remote".

[img]https://i.imgur.com/UFb5sZg.png[/img]

https://i.imgur.com/UFb5sZg.png


offline table conversion

Tim Downie
 

Hi

Does anyone have any knowledge of how the offline table conversion process works. Weve added fields in some instances the conversion has worked automatically.
Other times were getting a type of definition mismatch due to the new fields not being on the altered tables.

The docs do not say a lot about how this works , Im also wondering if you import the application into new project , does this have any bearing on these local tables.

How are other people handling this issue?

Any comments appreciated.



from the help
Changing the Database Structure of a Local Data Source
When a change is made to the structure of a local data source (such as deleting a field, modifying a field picture, or adding a field), the change is automatically applied to the client’s local data source after the project metadata is transferred to the client.
The existing local data is automatically converted to the new structured data source if possible.


Re: uniPaaS 1.9/Sql Server 2008 R2 - Message - Record has been deleted/updated

Darren
 

Hi Lado,

Sounds like you have an active session in the database.

Close all UniPaaS Projects and please ask your DB admin to delete your session in the database and try again.

Best Regards,
Darren


Re: Passing a variable/s to a blob for HTTP Call Magic XPA/XPI #ria

Darren
 

Hi Andreas,

I will send the blob to XPI generated HTTP. it's just a group of Alpha characters.

Yes I made it ANSI, I just updated my blob variable consisting of 3 alpha variables(A,B,C) like:  A&B&C

 

Thank you for your response, I have been used to using "Call Remote to communicate with iBolt" but since we are migrating from UniPaaS / iBolt to Magic XPA 3.3a /XPI 4.7 we need to opt for HTTP since "Call Remote" is not anymore supported.

 

Best Regards,

Darren


Re: Session printer Magic

Andreas Sedlmeier
 

Hi Eric,

News from your system administrator ? :)

I tested that now, PrintDlg with PD_RETURNDEFAULT flag in order to see if it returns information about the printer a user selected (and configured) in Magic print options.

It does not. If you do not intialize the Dialog to a specific printer (by leaving that empty resp. null), it will initialize with default printer settings and those differ from the "Magic default printer" - as soon as a user changed from default to a different printer in your Magic application. I suppose Magic stores information about the selected printer somewhere in memory and uses that information for next invocation of PrintDlg. It does not look as if it would write that information to a file or the registry (I had process monitor running in parallel during my test)

Using PrintDlg with PD_RETURNDEFAULT flag to get the name of the last used printer could work on Windows 10  - as long as the user did not disable these new features.

Best regards,

Andreas

P.S.: I did put the sources of the DLL I tested with and a Xpa 3.3 application which uses it on github
https://github.com/asedl/XpaDemo/tree/master/XpaDemo/external/cpp/mgtest


Re: SHA-256

Andreas Sedlmeier
 

Hi Steve,

Took me a while to get a development environment running, long time no C++ for me ^^

I built a DLL named mgcrypt.dll and uploaded it to the file section here: https://magicu-l.groups.io/g/main/message/188656

The sources of this DLL and a XPA 3.3 Demo project are on github:
https://github.com/asedl/XpaDemo/tree/master/XpaDemo/external/cpp/mgcrypt

I have no v9 (edevloper so I could not test with that version), it should however be ok. I am just not sure when Magic added the Blob Support (parameter type 'T') to UDF/UDP.

Dll has two functions which calculate the SHA-256 message digest for data which you do pass as parameter and return that SHA-256 hash in hexadecimal representation. That's the most common format. If you need base-64 or binary let me know, typically that hexadecimal representation is what is used everywhere.

Since 9.4 has no Unicode support the ANSI function should be fine, preference should be the function which works on Blob (binary). In uniPaaS and Xpa special care has to be taken, in order to avoid implicit type conversion from Unicode to ANSI which would result in a completely different SHA-256 hash

Best regards,

Andreas 


On Wed, Sep 19, 2018 at 01:22 PM, Steve Greenfield wrote:
Andreas

That would be most kind of you, thanks in advance.

Regards

Steve Greenfield
DataFormation UK Limited


New file uploaded to main@magicu-l.groups.io

main@magicu-l.groups.io Notification <main+notification@...>
 

Hello,

This email message is a notification to let you know that a file has been uploaded to the Files area of the main@magicu-l.groups.io group.

File: mgcrypt.dll

Uploaded By: Andreas Sedlmeier

Description:
Magic UDF/UDP Dll with some crypto stuff (not much at the moment, only SHA-256 calculation). Sources, doc and demo on github: https://github.com/asedl/XpaDemo/tree/master/XpaDemo/external/cpp/mgcrypt

You can access this file at the URL:
https://magicu-l.groups.io/g/main/files/mgcrypt.dll

Cheers,
The Groups.io Team


uniPaaS 1.9/Sql Server 2008 R2 - Message - Record has been deleted/updated

Lado Wali
 

Hi Group,

I am getting an error "Record has been deleted/updated or cannot be locked" in one of my online browser program. As soon as I try to enter any letter in the field in modify mode, it gives this message.

I can modify the same table from another test program fine. It is only happening for one record, all other records are fine.

I also tried to disable all my logic in the program but no help.

Can someone give any idea on how to debug this.

Thanks
Lado


Magic Scope for Magic Version 8.3

Stephen Saxton
 

 Hi Everybody
 
looking for a copy of Magic Scope, debugging tool.   Used it a lot in my last position, and would like to add it to this client's version of Magic.  I've got it in 1.9, and can (in time) recreate it in V8, but if somebody has already done it, it would be so much more/less fun  LOL.
 
I did a search in the file section, but came up empty for any version of Magic Scope.
 
Any help would be greatly appreciated.
 
Stephen (Steve) Saxton
CABS²
Magic Software Engineer/IT Help Desk
954-330-7894
SKYPE:  ssaxton2
Retired USAF TSgt


Re: Output File Append Line running slow on server 2016 as text file gets larger - Unipaas

Steven Blank
 

Peter,

Could it be that the log file is being written into a compressed folder, that the server itself is compressing the file "on the fly"?

Steve Blank


On 9/21/2018 2:54 AM, Peter Ashworth wrote:
Hi all,

We have various log files that we create for troubleshooting purposes. Its a fairly basic central program we wrote which does a Form output with the IO set to file append line, for a line up to 9999 in length.

In most of our client installations have server 2012 running as a virtual server.
They can see these logs files grow over time if not archived away up to 500mb sometimes. When writing 10 extra lines to the file, each with a separate call to the program that does the IO so we aren't holding the IO open, the timestamps we print on each line show from start to finish it happening within 1 second, or 2 seconds.

One of our customers recently upgraded to a server 2016 virtual server. When the log files are newly created everything runs as fast as it should, however even when the log file has hit 25mb the time taken to write these log lines is 5 or 6 seconds. and when it hit 50mb about 8 or 9 seconds. This is a problem for us because it increases the time it takes to respond to a waiting web request (not broker all magic is doing is writing an encrypted xml to disc which something else handles passing back to the web request) which can cause web applications to then timeout. If we disable the logs then the processing speeds right back up and the web requests stop timing out so we are certain it is the process of writing to a log file which is hanging everything up.

Is it possible that server 2016 somehow handles magic append line operation differently and its having to scan through the file first? Has anyone else had something like this? The customers IT says they haven't deployed anti virus yet which we thought might be a culprit. And they are newly created files by unipaas running on the new server, which eliminates a suspicion that the culprit was file owner permissions from the log files originally being copied over from the old server.

Any thoughts are appreciated as we are a bit flummoxed as to what might cause this

Thanks

Peter


Re: Passing a variable/s to a blob for HTTP Call Magic XPA/XPI #ria

Andreas Sedlmeier
 

Hi Darren,

Is that server, where you want to send your data (that Blob) to, controlled by you ? Then you can serialize your variables into that blob using any format you want, a concetenation of name=value pairs or something more verbous and structured (JSON and/or  XML are good candidates, ...). You can do that because you know how to deserialize that on server side then where you receive the content of the blob. A 3'rd party can't - you need to comply with what they expect and can handle.

All  Magic String functions do work on Blobs and you can use a Blob variable as I/O entry and treat it like a file. JSON you could produce with Output Merge or .NET, XML too - or with XML direct access functions, ...

There's also the Magic buffer manipulation functions for putting stuff into a Blob. From those I would however rather stay away. Those are for friends of machine language and assembler programming ^^

When you put character data into your Blob you should use a Blob ANSI and UTF-8 encode all your character data. Binary and Unicode Blobs might result in some encoding issues but you may never experience those resp. have to deal with that stuff.

Andreas


Passing a variable/s to a blob for HTTP Call Magic XPA/XPI #ria

Darren
 

Hello Guys,

I seldom use Blobs and how to I send 2 variables in to a blob for a httpcall ?

variable test1 is alpha10
variable test2 is alpha5

my blob variable is blob1

how to send test1 and test2 to blob1 using httpcall?


Re: Runtime Install xpa 3

Andreas Sedlmeier
 

Well, yes, MSE talks a lot about digital transformation now, but actually do not even know how to do a proper installation on Windows ^^. In my XpaDemo project I spent quite some time in order to get a "zero configuration" application with Magic, and came quite far. It autoconfigures itself f.i. when started, ... . All problems in this context with Magic are not yet solved . https://github.com/asedl/XpaDemo/tree/master/XpaDemo

Andreas


On Thu, Sep 20, 2018 at 05:04 PM, Keith Canniff wrote:

Andreas,

 

I complained for years about Magic’s setup, but fell on deaf ears. So I:

 

  • Never install it in the default “Program Files” folder. Always outside of what Windows knows as user specific folder structures. Example of a typical install:
  • No long names, no spaces, no root, no buried subfolders, etc. I treat it like DOS
  • I normally have admin rights to the server(s) that are running our apps, either fulltime or temporary to it installed/setup.

 

… and all the above is subject to IT/Network Admin allowing it.

 

Keith Canniff
President and CTO
IntegrateOne LLC
www.integrateone.com
678-485-8665

 

 

 

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of Andreas Sedlmeier
Sent: Thursday, September 20, 2018 8:56 AM
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Runtime Install xpa 3

 

On Thu, Sep 20, 2018 at 02:14 PM, Keith Canniff wrote:

Glad to hear that. As I said, “random”. Two separate clients that had Citrix farms (one small, the other quite large) and simply installing Magic XPA on the others completely eliminated the problem.

 

As always, YMMV 😉

Well, I did not add that this is about "user installations" of the Magic (Xpa) Runtime for regular client/server applications. In this case I would rather expect strange issues if you run the setup on a Citrix host because only an administrator can do the setup and it's not installed for "all users" but only for the one who does the installation. That somebody who is supposed to run an application on a Citrix/Terminal server gets administrator rights is rather unusual, ...

If its an application server running as a service its basically different but I am only aware of one issue then - the IIS requester writes something to the registry and that (.INI location I think) and that will result in trouble if you have more than one site, .... . Dont know if its still like that.

I am wondering anyways why there never have been much complaints about the Magic Setup. Basically MSE tells you that they support only installations which were via installation from installation media, that you can however not use because you end up with something which only an administrator can use and even then its problematic because it writes to program files directory, ...

Andreas

 


Virus-free. www.avast.com


Re: Output File Append Line running slow on server 2016 as text file gets larger - Unipaas

Andreas Sedlmeier
 
Edited

Hi Peter,

There was a discussion about log compression and rotation not so long ago. Just install a good log rotator and the problem should be gone.

What I see more and more often, because it's so incredible fast, reliable, distributed ... is streaming log information to Apache Kafka. 300.000 messages (log entries) per second, would be no issue at all. Think about message queues as alternative to writing to a log file :) (Samples: https://www.devglan.com/apache-kafka/stream-log4j-logs-to-kafka , https://medium.com/oneclicklabs-io/streaming-spring-boot-application-logs-to-apache-kafka-elk-k-stack-part-2-f3ed18f64a31 , ...)

P.S./EDIT: The thread I was referencing is following: https://magicu-l.groups.io/g/main/message/188573

When I was a young and ambitioned Magic programnmer I also experimented with logging to Windows Event log and debug console, with good results. Why the file append actually gets that slow when the file grows, I cant tell, that should not be the case because append is just open+seek to end+write. Maybe Magic does some kind of processing. You can have a look with a file monitor (process monitor from sysinternals f.i.) to see what happens, ...

Andreas


Output File Append Line running slow on server 2016 as text file gets larger - Unipaas

Peter Ashworth
 

Hi all,

We have various log files that we create for troubleshooting purposes. Its a fairly basic central program we wrote which does a Form output with the IO set to file append line, for a line up to 9999 in length.

In most of our client installations have server 2012 running as a virtual server.
They can see these logs files grow over time if not archived away up to 500mb sometimes. When writing 10 extra lines to the file, each with a separate call to the program that does the IO so we aren't holding the IO open, the timestamps we print on each line show from start to finish it happening within 1 second, or 2 seconds.

One of our customers recently upgraded to a server 2016 virtual server. When the log files are newly created everything runs as fast as it should, however even when the log file has hit 25mb the time taken to write these log lines is 5 or 6 seconds. and when it hit 50mb about 8 or 9 seconds. This is a problem for us because it increases the time it takes to respond to a waiting web request (not broker all magic is doing is writing an encrypted xml to disc which something else handles passing back to the web request) which can cause web applications to then timeout. If we disable the logs then the processing speeds right back up and the web requests stop timing out so we are certain it is the process of writing to a log file which is hanging everything up.

Is it possible that server 2016 somehow handles magic append line operation differently and its having to scan through the file first? Has anyone else had something like this? The customers IT says they haven't deployed anti virus yet which we thought might be a culprit. And they are newly created files by unipaas running on the new server, which eliminates a suspicion that the culprit was file owner permissions from the log files originally being copied over from the old server.

Any thoughts are appreciated as we are a bit flummoxed as to what might cause this

Thanks

Peter


Re: Runtime Install xpa 3

Keith Canniff
 

Andreas,

 

I complained for years about Magic’s setup, but fell on deaf ears. So I:

 

  • Never install it in the default “Program Files” folder. Always outside of what Windows knows as user specific folder structures. Example of a typical install:
  • No long names, no spaces, no root, no buried subfolders, etc. I treat it like DOS
  • I normally have admin rights to the server(s) that are running our apps, either fulltime or temporary to it installed/setup.

 

… and all the above is subject to IT/Network Admin allowing it.

 

Keith Canniff
President and CTO
IntegrateOne LLC
www.integrateone.com
678-485-8665

 

 

 

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of Andreas Sedlmeier
Sent: Thursday, September 20, 2018 8:56 AM
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Runtime Install xpa 3

 

On Thu, Sep 20, 2018 at 02:14 PM, Keith Canniff wrote:

Glad to hear that. As I said, “random”. Two separate clients that had Citrix farms (one small, the other quite large) and simply installing Magic XPA on the others completely eliminated the problem.

 

As always, YMMV 😉

Well, I did not add that this is about "user installations" of the Magic (Xpa) Runtime for regular client/server applications. In this case I would rather expect strange issues if you run the setup on a Citrix host because only an administrator can do the setup and it's not installed for "all users" but only for the one who does the installation. That somebody who is supposed to run an application on a Citrix/Terminal server gets administrator rights is rather unusual, ...

If its an application server running as a service its basically different but I am only aware of one issue then - the IIS requester writes something to the registry and that (.INI location I think) and that will result in trouble if you have more than one site, .... . Dont know if its still like that.

I am wondering anyways why there never have been much complaints about the Magic Setup. Basically MSE tells you that they support only installations which were via installation from installation media, that you can however not use because you end up with something which only an administrator can use and even then its problematic because it writes to program files directory, ...

Andreas


Virus-free. www.avast.com


Re: Runtime Install xpa 3

Keith Canniff
 

Steven,

 

I just overlay this installed folder with the modified data from the copied folder.

It also makes it easier to apply updates because Magic recognizes it’s an update and applies it to the installed folder.

 

Keith

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of BURROWS Steven
Sent: Thursday, September 20, 2018 8:55 AM
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Runtime Install xpa 3

 

Do you actually then use the installed XPA, or can you then point at your copied version ?

(We have random crashes with XPA 2.5, this might be worth a punt)

 


Steven Burrows

 

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of Keith Canniff
Sent: 20 September 2018 13:14
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Runtime Install xpa 3

 

Andreas,

 

Glad to hear that. As I said, “random”. Two separate clients that had Citrix farms (one small, the other quite large) and simply installing Magic XPA on the others completely eliminated the problem.

 

As always, YMMV 😉

 

Keith Canniff
President and CTO
IntegrateOne LLC
www.integrateone.com
678-485-8665

 

 

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of Andreas Sedlmeier
Sent: Thursday, September 20, 2018 6:49 AM
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Runtime Install xpa 3

 

On Thu, Sep 20, 2018 at 12:27 PM, Keith Canniff wrote:

If you’re going to be running within RDP and/or Citrix, there’s a better than 50/50 chance you will begin to experience issues running Magic on a hosting server that did NOT have Magic installed on it and only copied to it. We found this out the hard way on several (not all) clients that needed multiple application servers (due to number of concurrent users) and the server that had Magic initially installed on it never had an issue. The two additional hosting app servers had the installed server’s Magic folders copied to them (but not “Installed”). Those servers started to randomly have Magic runtime errors. We installed Magic on each of those 2 additional servers and have never had a problem since (and it’s been almost 2 years now).

 

In the “old days” copying Magic folders was never an issue, but now with servers being more particular about what they’re running, I think they depend more on registry entries, GUIDs, etc. to function properly, so programs need to be installed.

That would be quite a nightmare if it would indeed be the case that you need to run the setup for each host in a Citrix farm. The Magic setup is pretty poor, has no silent install, no option to install for all users and Magic violates the Windows Logo requirements with its installs anyways. On a site with a large Citrix farm we never did a Magic installation but always only distributed the installation by copying from one machine to another and never experienced any issue with that ... in 15 years or so.

Andreas

 

Virus-free. www.avast.com


Re: Runtime Install xpa 3

Andreas Sedlmeier
 

On Thu, Sep 20, 2018 at 02:14 PM, Keith Canniff wrote:

Glad to hear that. As I said, “random”. Two separate clients that had Citrix farms (one small, the other quite large) and simply installing Magic XPA on the others completely eliminated the problem.

 

As always, YMMV 😉

Well, I did not add that this is about "user installations" of the Magic (Xpa) Runtime for regular client/server applications. In this case I would rather expect strange issues if you run the setup on a Citrix host because only an administrator can do the setup and it's not installed for "all users" but only for the one who does the installation. That somebody who is supposed to run an application on a Citrix/Terminal server gets administrator rights is rather unusual, ...

If its an application server running as a service its basically different but I am only aware of one issue then - the IIS requester writes something to the registry and that (.INI location I think) and that will result in trouble if you have more than one site, .... . Dont know if its still like that.

I am wondering anyways why there never have been much complaints about the Magic Setup. Basically MSE tells you that they support only installations which were via installation from installation media, that you can however not use because you end up with something which only an administrator can use and even then its problematic because it writes to program files directory, ...

Andreas


Re: Runtime Install xpa 3

Steven Burrows
 

Do you actually then use the installed XPA, or can you then point at your copied version ?

(We have random crashes with XPA 2.5, this might be worth a punt)

 


Steven Burrows

 

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of Keith Canniff
Sent: 20 September 2018 13:14
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Runtime Install xpa 3

 

Andreas,

 

Glad to hear that. As I said, “random”. Two separate clients that had Citrix farms (one small, the other quite large) and simply installing Magic XPA on the others completely eliminated the problem.

 

As always, YMMV 😉

 

Keith Canniff
President and CTO
IntegrateOne LLC
www.integrateone.com
678-485-8665

 

 

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of Andreas Sedlmeier
Sent: Thursday, September 20, 2018 6:49 AM
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Runtime Install xpa 3

 

On Thu, Sep 20, 2018 at 12:27 PM, Keith Canniff wrote:

If you’re going to be running within RDP and/or Citrix, there’s a better than 50/50 chance you will begin to experience issues running Magic on a hosting server that did NOT have Magic installed on it and only copied to it. We found this out the hard way on several (not all) clients that needed multiple application servers (due to number of concurrent users) and the server that had Magic initially installed on it never had an issue. The two additional hosting app servers had the installed server’s Magic folders copied to them (but not “Installed”). Those servers started to randomly have Magic runtime errors. We installed Magic on each of those 2 additional servers and have never had a problem since (and it’s been almost 2 years now).

 

In the “old days” copying Magic folders was never an issue, but now with servers being more particular about what they’re running, I think they depend more on registry entries, GUIDs, etc. to function properly, so programs need to be installed.

That would be quite a nightmare if it would indeed be the case that you need to run the setup for each host in a Citrix farm. The Magic setup is pretty poor, has no silent install, no option to install for all users and Magic violates the Windows Logo requirements with its installs anyways. On a site with a large Citrix farm we never did a Magic installation but always only distributed the installation by copying from one machine to another and never experienced any issue with that ... in 15 years or so.

Andreas

 

Virus-free. www.avast.com

7321 - 7340 of 195966