Re: [U2] uniobjects dll question
Doug, The .dll does not need to be installed. Visual Studio will include it in the installation package for your C# application after you add it to the project. doug chanco wrote: Is it possible to just put the uniobjects dll on a system without installing it? I am working on a home project where I have an android app call a web service to get UV data from my linux server. I have a hosted system running windows server and I am working on a c# web service that will receive data and pass it to a subroutine (via uniobjects) on my linux box. I have it working locally on my home test system (windows 2003 with uniobjects installed) but I would like to move it to my ISP, I have an email in to them to ask if they could install uniobjects and they are looking into it but I was wondering if they just put the dll somewhere I can reference it, if it would work (in case they say no). I may try creating a VM and trying it but I was hoping that someone on here would know if it would work or if it has to be installed. thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- Jeff Schasny - Denver, Co, USA jschasny at gmail dot com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects dll question
doug chanco wrote: Is it possible to just put the uniobjects dll on a system without installing it? I am working on a home project where I have an android app call a web service to get UV data from my linux server. I have a hosted system running windows server and I am working on a c# web service that will receive data and pass it to a subroutine (via uniobjects) on my linux box. From: Jeff Schasny The .dll does not need to be installed. Visual Studio will include it in the installation package for your C# application after you add it to the project. Errr, that's only if you tell it to. When you reference a DLL it doesn't automatically copy the DLL into your bin path because that can make for huge deployment packages when the target client already has some DLLs. If you know you want to copy the DLL, click on it then look at properties and you'll see the option to copy. Now, sometimes you may not want to do that. Let's say you have UO vX.Y and it works a treat on your system with your configuration against your version of UV or UD. So you do your clients a favor and bundle your UO with your app. But then you get calls that UO works fine here but your app doesn't work. What's happening there is that they might be using a different version that works for them but your version doesn't work. If you just provide a reference, your app will use their UO and everything will be great. But you often don't know if they have UO or not. For a given app and audience you have a pretty good idea so you can decide whether or not to do that Copy deployment. Another issue is with versioning. While the .NET Framework was designed to allow multiple versions of the same DLL to co-exist in harmony, most .NET developers don't code to make use of that. So let's say you do bundle the UO DLL with your package. Be careful about moving that to a general location or using the GAC because you could be over-writing a DLL that works for your client with your older or newer version. I apologize that I haven't played with the UO / UO.NET DLLs for a while but I had these exact issues with them until we worked out which version work in specific environments. I wrote an applet that detects and identifies the version of UO on a system, and tells you if it can make a good connection. This helped to resolve the issue with why isn't it working? or why is my UO broken after this app was installed? which version do you have? I don't know I might not even have it installed... Anyway, the answer isn't quite That cut n dried... BTW, Doug, I think you're using the right approach, going from Android to a middle tier and then doing a proxy to Universe/Linux. Too many people approach this as how do I connect from Android to UV/Linux?. The answer is that you don't need to and frequently don't want to. Coming back to the original question for a moment, I think Doug might have wanted to know if you need to install the Client Library on a client PC just to get the UO DLL. The answer is no, you don't need that 110MB+ installer just for the one tiny DLL, and the licensing permits the DLL to be deployed with your solution. Regards, Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development services http://Nebula-RnD.com/blog Visit http://PickWiki.com! Contribute! http://Twitter.com/TonyGravagno http://groups.google.com/group/mvdbms ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects dll question
S... like I said, you don't need to install it on the client. If I add a reference to the UODOTNET.dll to the project references it includes the .dll on publish. Every time. Granted, I'm writing in VB not C#, so maybe things are different over there where the cool kids hang out. Tony Gravagno wrote: [many paragraphs of stuff snipped for brevity] Coming back to the original question for a moment, I think Doug might have wanted to know if you need to install the Client Library on a client PC just to get the UO DLL. The answer is no, you don't need that 110MB+ installer just for the one tiny DLL, and the licensing permits the DLL to be deployed with your solution. Regards, Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development services http://Nebula-RnD.com/blog Visit http://PickWiki.com! Contribute! http://Twitter.com/TonyGravagno http://groups.google.com/group/mvdbms ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- Jeff Schasny - Denver, Co, USA jschasny at gmail dot com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] uniobjects dll question
Is it possible to just put the uniobjects dll on a system without installing it? I am working on a home project where I have an android app call a web service to get UV data from my linux server. I have a hosted system running windows server and I am working on a c# web service that will receive data and pass it to a subroutine (via uniobjects) on my linux box. I have it working locally on my home test system (windows 2003 with uniobjects installed) but I would like to move it to my ISP, I have an email in to them to ask if they could install uniobjects and they are looking into it but I was wondering if they just put the dll somewhere I can reference it, if it would work (in case they say no). I may try creating a VM and trying it but I was hoping that someone on here would know if it would work or if it has to be installed. thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] UniObjects Java Packages
I am trying to get an example program to work with Eclipse IDE. When trying to... import asjava.uniobjects.*; import asjava.uniclientlibs.*; I get errors. I tried several things without any luck. Help with how to configure the asjava folder in packages would be appreciated. --Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] UniObjects + Java Packages
I am trying to get example programs to work with Eclipse IDE. When trying to... import asjava.uniobjects.*; import asjava.uniclientlibs.*; I tried it a few different ways... getting errors... indicating that the IDE cannot find the files or packages. Help with how to configure the asjava folder would be appreciated. I am happy to use NetBeans or almost anything that will work. --Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UniObjects + Java Packages
You have to convert the asjava.zip to a jar file. Then you need to add asjava.jar to your lib file. Good luck with your project. Regards, Doug www.u2logic.com Real tools for Eclipse for U2 Programmers ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UniObjects + Java Packages
You have to convert the asjava.zip to a jar file. Then you need to add asjava.jar to your lib file. Good luck with your project. Regards, Doug www.u2logic.com Real tools for Eclipse for U2 Programmers ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UniObjects Java Packages
There should be no need to rename the asjava.zip file. Just follow this previous post. On windows the default install location (You need to have installed UniDK from U2 Clients) is c:\u2\unidk\uojsdk\lib On Thu, Dec 10, 2009 at 3:48 PM, Bob Little Bobl at marketamerica.com wrote: You should just be able to add the jar (zip) to your build path within Eclipse and clear up the error. Project-Properties-Java Build Path-Add External Jars... Bob Little UniVerse Developer Market America Greensboro NC Dan McGrath Managing Director, U2 Servers Lab Rocket Software 4600 South Ulster Street · Suite 1100 · Denver, CO 80237 · USA T: +1 720 475 8098 · E: dmcgr...@rocketsoftware.com · W: u2.rocketsoftware.com -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Brutzman Sent: Tuesday, April 16, 2013 3:07 PM To: 'U2 Users List' Subject: [U2] UniObjects Java Packages I am trying to get an example program to work with Eclipse IDE. When trying to... import asjava.uniobjects.*; import asjava.uniclientlibs.*; I get errors. I tried several things without any luck. Help with how to configure the asjava folder in packages would be appreciated. --Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UniObjects Java Packages
Victory... Bob Little's thing worked Thanks to Dan and Doug. Some tweaked PickWiki code follows from Wm Terry and Wendy Smoak. --Bill package whome; import asjava.uniobjects.*; import asjava.uniclientlibs.*; public class YesYou3 { public static void main(String args[]) { UniFile thisFile; UniString uString; try { UniSession uSession = new UniSession(); uSession.setHostName(192.168.0.104); uSession.setUserName(brutzy); uSession.setPassword(NoNoNo); uSession.setAccountPath(/u2/SANDBOX); uSession.connect(); thisFile = uSession.open(CM); String key = 6502; uString = thisFile.read(key); UniDynArray uDynArray = new UniDynArray(uString); System.out.println(Customer Name = + uDynArray.extract(1) + \n); String fieldName = CITY.FIELD; UniString fieldContents = thisFile.readNamedField(key, fieldName); System.out.println(fieldName + : + fieldContents); thisFile.close(); if (uSession.isActive()) { uSession.disconnect(); } } catch (UniSessionException e) { System.out.println(Error: + e); } catch (UniFileException e) { System.out.println(File Error: + e); } } } On Tue, Apr 16, 2013 at 5:58 PM, Daniel McGrath dmcgr...@rocketsoftware.com wrote: There should be no need to rename the asjava.zip file. Just follow this previous post. On windows the default install location (You need to have installed UniDK from U2 Clients) is c:\u2\unidk\uojsdk\lib On Thu, Dec 10, 2009 at 3:48 PM, Bob Little Bobl at marketamerica.com wrote: You should just be able to add the jar (zip) to your build path within Eclipse and clear up the error. Project-Properties-Java Build Path-Add External Jars... Bob Little UniVerse Developer Market America Greensboro NC Dan McGrath Managing Director, U2 Servers Lab Rocket Software 4600 South Ulster Street · Suite 1100 · Denver, CO 80237 · USA T: +1 720 475 8098 · E: dmcgr...@rocketsoftware.com · W: u2.rocketsoftware.com -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto: u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Brutzman Sent: Tuesday, April 16, 2013 3:07 PM To: 'U2 Users List' Subject: [U2] UniObjects Java Packages I am trying to get an example program to work with Eclipse IDE. When trying to... import asjava.uniobjects.*; import asjava.uniclientlibs.*; I get errors. I tried several things without any luck. Help with how to configure the asjava folder in packages would be appreciated. --Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Uniobjects session timeouts (Universe on Windows)
What are the various factors that control if and when a Uniobjects session will timeout? The connection is being closed by the remote host and I'm trying to help debug possible causes. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects session timeouts (Universe on Windows)
The unirpcservices file controls the various unirpc connection timeouts on linux. I'm guessing it's the same for windows. The setting is in seconds, and the default is an hour: uvnet /usr/ibm/uv/bin/uvnetd * TCP/IP 0 3600 uvdrsrv /usr/ibm/uv/bin/uvdrsrvd * TCP/IP 0 3600 uvserver /usr/ibm/uv/bin/uvsrvd * TCP/IP 0 3600 uvcs /usr/ibm/uv/bin/uvapi_server * TCP/IP 0 3600 defcs /usr/ibm/uv/bin/uvapi_server * TCP/IP 0 3600 uvfilefix /usr/ibm/uv/bin/uvfilefix_server * TCP/IP 0 3600 Defcs is the service for UniObjects for Java on UV 10.2.7, but I'm not sure if it also handles UniObjects. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Friday, October 19, 2012 10:55 AM To: u2-users@listserver.u2ug.org Subject: [U2] Uniobjects session timeouts (Universe on Windows) What are the various factors that control if and when a Uniobjects session will timeout? The connection is being closed by the remote host and I'm trying to help debug possible causes. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects session timeouts (Universe on Windows)
Thanks John -Original Message- From: John Hester jhes...@momtex.com To: U2 Users List u2-users@listserver.u2ug.org Sent: Fri, Oct 19, 2012 1:12 pm Subject: Re: [U2] Uniobjects session timeouts (Universe on Windows) The unirpcservices file controls the various unirpc connection timeouts on linux. I'm guessing it's the same for windows. The setting is in seconds, and the default is an hour: uvnet /usr/ibm/uv/bin/uvnetd * TCP/IP 0 3600 uvdrsrv /usr/ibm/uv/bin/uvdrsrvd * TCP/IP 0 3600 uvserver /usr/ibm/uv/bin/uvsrvd * TCP/IP 0 3600 uvcs /usr/ibm/uv/bin/uvapi_server * TCP/IP 0 3600 defcs /usr/ibm/uv/bin/uvapi_server * TCP/IP 0 3600 uvfilefix /usr/ibm/uv/bin/uvfilefix_server * TCP/IP 0 3600 Defcs is the service for UniObjects for Java on UV 10.2.7, but I'm not sure if it also handles UniObjects. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Friday, October 19, 2012 10:55 AM To: u2-users@listserver.u2ug.org Subject: [U2] Uniobjects session timeouts (Universe on Windows) What are the various factors that control if and when a Uniobjects session will timeout? The connection is being closed by the remote host and I'm trying to help debug possible causes. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects session timeouts (Universe on Windows)
The usual reasons are an RPC timeout (check unirpcservices - default 3600) or needing a keep alive on a VPN or firewall. Regards JayJay On 19 Oct 2012, at 18:54, Wjhonson wjhon...@aol.com wrote: What are the various factors that control if and when a Uniobjects session will timeout? The connection is being closed by the remote host and I'm trying to help debug possible causes. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects session timeouts (Universe on Windows)
Yeah I think that's most likely the culprit. Thanks. -Original Message- From: John Jenkins u2g...@btinternet.com To: U2 Users List u2-users@listserver.u2ug.org Cc: u2-users u2-users@listserver.u2ug.org Sent: Fri, Oct 19, 2012 2:01 pm Subject: Re: [U2] Uniobjects session timeouts (Universe on Windows) The usual reasons are an RPC timeout (check unirpcservices - default 3600) or needing a keep alive on a VPN or firewall. Regards JayJay On 19 Oct 2012, at 18:54, Wjhonson wjhon...@aol.com wrote: What are the various factors that control if and when a Uniobjects session will timeout? The connection is being closed by the remote host and I'm trying to help debug possible causes. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
The UniRPC/UniObjects process starts of running as root. Once you log in, it changes user to whoever you log in as (the credentials supply to UniObjects). Regards, Dan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of douglas chanco Sent: Tuesday, July 24, 2012 8:25 AM To: U2 Users List Subject: [U2] uniobjects running as? hey everyone, does anyone happen to know what user the uniobjects connection is running as? I would think root, but that doesn't seem to be correct as when I run a subversion command as root it works fine but when I run it from a uniobjects connection (via c# calling a pick subroutine) I get prompted to accept a self signed certificate (yeah yeah I know..) anyway I accepted it from the command line (so I don't get prompted anymore) as a specific user and as root (this is all proof of concept test, so if it pans out I will get a valid certificate). I am going to modify the pick subroutine to try and figure out what user is calling the pick subroutine as well as modify my shell script with expect so that it {A}ccepts the certificate but I thought I would ask the guru's on here (you know who you are!) in case expect gives me fits thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
Hi Doug (Great Name): UniObjects has two components. First the unirpc process runs as you have setup on startup: Windows usually as the administrator user while on UNIX it can be root but should not be for obvious reasons.. You connection, however, is what user you have setup when you open your U2 account Regards, Doug www.u2logic.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
You setup the namefor the uniobjects user. It's not set by the system, it's set by your routines that open connections as... so-and-so. -Original Message- From: douglas chanco d...@chancofamily.com To: U2 Users List u2-users@listserver.u2ug.org Sent: Tue, Jul 24, 2012 8:26 am Subject: [U2] uniobjects running as? ey everyone, does anyone happen to know what user the uniobjects connection is running s? I would think root, but that doesn't seem to be correct as when I run a ubversion command as root it works fine but when I run it from a uniobjects onnection (via c# calling a pick subroutine) I get prompted to accept a self igned certificate (yeah yeah I know..) anyway I accepted it from the ommand line (so I don't get prompted anymore) as a specific user and as root this is all proof of concept test, so if it pans out I will get a valid ertificate). I am going to modify the pick subroutine to try and figure out what user is alling the pick subroutine as well as modify my shell script with expect so hat it {A}ccepts the certificate but I thought I would ask the guru's on ere (you know who you are!) in case expect gives me fits hanks dougc __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
The rpc deamon will run as root, but when it spawns a udt process to fulfil your uniobjects process it will spawn it as the user you use in the uniobjects session. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of douglas chanco Sent: 24 July 2012 15:25 To: U2 Users List Subject: [U2] uniobjects running as? hey everyone, does anyone happen to know what user the uniobjects connection is running as? I would think root, but that doesn't seem to be correct as when I run a subversion command as root it works fine but when I run it from a uniobjects connection (via c# calling a pick subroutine) I get prompted to accept a self signed certificate (yeah yeah I know..) anyway I accepted it from the command line (so I don't get prompted anymore) as a specific user and as root (this is all proof of concept test, so if it pans out I will get a valid certificate). I am going to modify the pick subroutine to try and figure out what user is calling the pick subroutine as well as modify my shell script with expect so that it {A}ccepts the certificate but I thought I would ask the guru's on here (you know who you are!) in case expect gives me fits thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 2012.0.2197 / Virus Database: 2437/5150 - Release Date: 07/23/12 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
thanks Dan, I am a bit confused as to why when I accept the certificate issue and run the program from TCL it works fine but if I run it from my c# app (logging in as the same user) I get the message to accept the certificate again (when I already accepted it permanently from tcl) I bet it a path issue, which begs another question, how does it (uniobjects) get its env (in particular PATH) I will add logging of the env tonight and compare it to the env of my regular user when logged in I bet they are different and uniobjects doesn't see that I already permanently accepted the certificate (even though its self signed) thanks again dougc On Jul 24, 2012, at 12:22 PM, Daniel McGrath wrote: The UniRPC/UniObjects process starts of running as root. Once you log in, it changes user to whoever you log in as (the credentials supply to UniObjects). Regards, Dan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of douglas chanco Sent: Tuesday, July 24, 2012 8:25 AM To: U2 Users List Subject: [U2] uniobjects running as? hey everyone, does anyone happen to know what user the uniobjects connection is running as? I would think root, but that doesn't seem to be correct as when I run a subversion command as root it works fine but when I run it from a uniobjects connection (via c# calling a pick subroutine) I get prompted to accept a self signed certificate (yeah yeah I know..) anyway I accepted it from the command line (so I don't get prompted anymore) as a specific user and as root (this is all proof of concept test, so if it pans out I will get a valid certificate). I am going to modify the pick subroutine to try and figure out what user is calling the pick subroutine as well as modify my shell script with expect so that it {A}ccepts the certificate but I thought I would ask the guru's on here (you know who you are!) in case expect gives me fits thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
Why would it not use the env settings of the user you log in as in uniobjects? Why don't you try to log in as that user yourself and check the settings -Original Message- From: douglas chanco d...@chancofamily.com To: U2 Users List u2-users@listserver.u2ug.org Sent: Tue, Jul 24, 2012 10:51 am Subject: Re: [U2] uniobjects running as? thanks Dan, I am a bit confused as to why when I accept the certificate issue and run he program from TCL it works fine but if I run it from my c# app (logging in as he same user) I get the message to accept the certificate again (when I already ccepted it permanently from tcl) I bet it a path issue, which begs another question, how does it (uniobjects) get ts env (in particular PATH) I will add logging of the env tonight and compare t to the env of my regular user when logged in I bet they are different and niobjects doesn't see that I already permanently accepted the certificate even though its self signed) thanks again dougc On Jul 24, 2012, at 12:22 PM, Daniel McGrath wrote: The UniRPC/UniObjects process starts of running as root. Once you log in, it hanges user to whoever you log in as (the credentials supply to UniObjects). Regards, Dan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] n Behalf Of douglas chanco Sent: Tuesday, July 24, 2012 8:25 AM To: U2 Users List Subject: [U2] uniobjects running as? hey everyone, does anyone happen to know what user the uniobjects connection is unning as? I would think root, but that doesn't seem to be correct as when I un a subversion command as root it works fine but when I run it from a niobjects connection (via c# calling a pick subroutine) I get prompted to ccept a self signed certificate (yeah yeah I know..) anyway I accepted it rom the command line (so I don't get prompted anymore) as a specific user and s root (this is all proof of concept test, so if it pans out I will get a valid ertificate). I am going to modify the pick subroutine to try and figure out what user is alling the pick subroutine as well as modify my shell script with expect so hat it {A}ccepts the certificate but I thought I would ask the guru's on ere (you know who you are!) in case expect gives me fits thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
On 24/07/12 18:57, Wjhonson wrote: Why would it not use the env settings of the user you log in as in uniobjects? Why don't you try to log in as that user yourself and check the settings Why wouldn't it use the env settings? Because if it's on nix, and starts as root then changes user, it needs to be specially coded to load that user's environment. It may well not have been thus coded - it doesn't happen automagically. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
On nix, when you change users, you are saying it does not set any environment variables ? -Original Message- From: Wols Lists antli...@youngman.org.uk To: u2-users u2-users@listserver.u2ug.org Sent: Tue, Jul 24, 2012 11:59 am Subject: Re: [U2] uniobjects running as? On 24/07/12 18:57, Wjhonson wrote: Why would it not use the env settings of the user you log in as in uniobjects? Why don't you try to log in as that user yourself and check the settings Why wouldn't it use the env settings? Because if it's on nix, and starts s root then changes user, it needs to be specially coded to load that ser's environment. It may well not have been thus coded - it doesn't happen automagically. Cheers, ol __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
As a regular user when you login you can have a local .profile (assuming your using ksh which I am) which is sourced after loading the system profile (/etc/profile) when logging in as a uniobjects user you really don't have a home directory and it doesn't execute the .profile in your home directory (I think) I verified this by modifying a c# program I have to return the path and compared it to the path set after I logged in, as I expected (and should of remembered) the path only included what was in /etc/profile (/sbin;/usr/bin;/usr/bin) and not all the other path's that I added in my .profile. I think I found a workaround for my original issue which was that subversion was not seeing the fact that I permanently accepted the self signed certificate by including the following in my svn command --config-dir path to my configuration so even though it wasn't in the uniobjects connection path by including it in the svn command it now sees that I have accepted the cert (in my configuration) and no longer prompts me. thanks to everyone who responded dougc On Jul 24, 2012, at 2:51 PM, Wols Lists wrote: On 24/07/12 18:57, Wjhonson wrote: Why would it not use the env settings of the user you log in as in uniobjects? Why don't you try to log in as that user yourself and check the settings Why wouldn't it use the env settings? Because if it's on nix, and starts as root then changes user, it needs to be specially coded to load that user's environment. It may well not have been thus coded - it doesn't happen automagically. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects running as?
On 24/07/12 20:08, Wjhonson wrote: On nix, when you change users, you are saying it does not set any environment variables ? Yes I am - by default at least. If I write a service that starts off as root, then suids to something else, it is down to MY PROGRAMMING to load that user's environment. If I don't, it runs with the original environment. That's why so many things written by inexperienced users and run from cron keep breaking ... Cheers, Wol -Original Message- From: Wols Lists antli...@youngman.org.uk To: u2-users u2-users@listserver.u2ug.org Sent: Tue, Jul 24, 2012 11:59 am Subject: Re: [U2] uniobjects running as? On 24/07/12 18:57, Wjhonson wrote: Why would it not use the env settings of the user you log in as in uniobjects? Why don't you try to log in as that user yourself and check the settings Why wouldn't it use the env settings? Because if it's on nix, and starts s root then changes user, it needs to be specially coded to load that ser's environment. It may well not have been thus coded - it doesn't happen automagically. Cheers, ol __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
Post back the cause and fix if you can - I know I'd be interested! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Monday, January 09, 2012 4:11 PM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking Done! :-) Thanks, Bill - Original Message - *From:* wterh...@rocketsoftware.com *To:* U2 Users List u2-users@listserver.u2ug.org *Date:* 1/8/2012 7:17 PM *Subject:* Re: [U2] Uniobjects and Record Locking Just open a support case and email the test case... thanks Wally Terhune U2 Support Architect Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA Tel: +1.720.475.8055 Email: wterh...@rs.com Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, January 08, 2012 7:46 PM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking Wally: I can even re-create this (amazing isn't it?). :-) I'm here all day tomorrow after 10:30am PST. I can call you, if you'd like. Bill - Original Message - *From:* wterh...@rocketsoftware.com *To:* U2 Users Listu2-users@listserver.u2ug.org *Date:* 1/8/2012 1:06 PM *Subject:* Re: [U2] Uniobjects and Record Locking UniData record locks are tied to a file variable. So if a file is opened in named common, a lock could persist after a subroutine exits. Of course, it would show up in LIST.READU... The behavior Bill describes doesn't make sense to me. Would love to see a small test case demonstrating what he describes. Wally Terhune U2 Support Architect Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA Tel: +1.720.475.8055 Email: wterh...@rs.com Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, January 08, 2012 12:48 PM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking John: As a note, we've been programming in web paradigms for many years, and we mostly understand the difference between non-persistent web connections and persistent telnet connections. None of our activities does anything except gather data and submit to UO for almost instantaneous results, whereupon the results is returned to the web. These are all momentary connections and no LOCKING occurs except within the context of a momentary update. So, the user calls the web server, a UO connection is either reused or created to connect to the dbms, a subroutine is run and ends (which, of course, should release all locks within the subroutine (unless doing something like a WRITEU which we never do - we're old-school in that regard), the the web call is closed and data returned by the UO connection is returned to the user in another web page, and the web connection is closed. I think what's important to note is a LIST.READU ALL shows the lock when AE has the record edited and the BASIC LOCKED clause is taken on a momentary UO connection. When AE exits the record LIST.READU ALL no longer shows any record locks but the BASIC LOCKED clause on a subsequent UO connection is still taken as though the record is locked only if the UO connection where the lock occured is reused. If a new UO connection is used (due to timeouts or manually killing the original UO connection) the BASIC LOCKED clause is __NOT__ taken. Thanks, Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
Done! :-) Thanks, Bill - Original Message - *From:* wterh...@rocketsoftware.com *To:* U2 Users List u2-users@listserver.u2ug.org *Date:* 1/8/2012 7:17 PM *Subject:* Re: [U2] Uniobjects and Record Locking Just open a support case and email the test case... thanks Wally Terhune U2 Support Architect Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA Tel: +1.720.475.8055 Email: wterh...@rs.com Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, January 08, 2012 7:46 PM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking Wally: I can even re-create this (amazing isn't it?). :-) I'm here all day tomorrow after 10:30am PST. I can call you, if you'd like. Bill - Original Message - *From:* wterh...@rocketsoftware.com *To:* U2 Users Listu2-users@listserver.u2ug.org *Date:* 1/8/2012 1:06 PM *Subject:* Re: [U2] Uniobjects and Record Locking UniData record locks are tied to a file variable. So if a file is opened in named common, a lock could persist after a subroutine exits. Of course, it would show up in LIST.READU... The behavior Bill describes doesn't make sense to me. Would love to see a small test case demonstrating what he describes. Wally Terhune U2 Support Architect Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA Tel: +1.720.475.8055 Email: wterh...@rs.com Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, January 08, 2012 12:48 PM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking John: As a note, we've been programming in web paradigms for many years, and we mostly understand the difference between non-persistent web connections and persistent telnet connections. None of our activities does anything except gather data and submit to UO for almost instantaneous results, whereupon the results is returned to the web. These are all momentary connections and no LOCKING occurs except within the context of a momentary update. So, the user calls the web server, a UO connection is either reused or created to connect to the dbms, a subroutine is run and ends (which, of course, should release all locks within the subroutine (unless doing something like a WRITEU which we never do - we're old-school in that regard), the the web call is closed and data returned by the UO connection is returned to the user in another web page, and the web connection is closed. I think what's important to note is a LIST.READU ALL shows the lock when AE has the record edited and the BASIC LOCKED clause is taken on a momentary UO connection. When AE exits the record LIST.READU ALL no longer shows any record locks but the BASIC LOCKED clause on a subsequent UO connection is still taken as though the record is locked only if the UO connection where the lock occured is reused. If a new UO connection is used (due to timeouts or manually killing the original UO connection) the BASIC LOCKED clause is __NOT__ taken. Thanks, Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
It is possible that design base is running a separate locking mechanism that it is caching. The Uniobjects connection involves pooling where multiple user accesses use one UniVerse Login. This is different to a telnet connection with one user per login. If DesignBase cannot identify the process that updates as being the same as the one that locks the record then you could have a problem. You cannot identify who locked the record in a pooling environment as 10 people would have the same user ID, hence it has to be managed by designbase rather than universe. What you are doing is pessimistic locking. With a web based environment and pooling, you should be thinking optimistic locking where you only do locking at the time of update and compare before and after images. If a user locks a record over an internet connection and then loses a connection, then that record can remain locked until an administrator releases it manually, this is why pessimistic locking is avoided in this environment. Regards David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, 8 January 2012 10:16 AM To: U2 Mail List Cc: DesignBais Support Subject: [U2] Uniobjects and Record Locking I'm using DesignBais and have run into an unusual problem. When I display some data on a web form the dbms is contacted through UO and the returned data is displayed. When I click on the [Save] button the same UO connection is used to contact the dbms and run whatever program is required to update the record. In the called update program, the record is read and locked. If it's already locked the program terminates and a message is returned informing the user the record is locked (try again). If it's not locked the record is updated and, of course, the program terminates in the same manner. Problem: if I edit the record via UniData's AE editor (LIST.READU shows a record lock) and try to update the record via the DesignBais form, the LOCKED clause is taken. This is good. However, after I release the record via the AE editor (LIST.READU now shows nothing locked), then click on the [Save] button, the LOCKED clause is still taken, even though no record is locked! If I kill the UO connection, DesignBais will make another UO connection and all works fine. So, it appears a UO connection won't release a lock under whatever circumstances I've happened to stumble upon. Any ideas what causes this and how to work-around the problem? Thanks, Bill Haskett Advantos Systems, Inc. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
If DesignBais is using it's own connection pooling or cacheing mechanism then it's possible the update request is not being made on the same UniObjects connection on which the lock was created. The result is exactly the same as you would expect from two different TELNET sessions - one locks the other. If you force a release of the lock as root/administrator on the server and the update proceeds then you have the cause and need to change either DesignBais or the methodology the application uses. If you release the lock and the update still can't proceed then DesignBais is probably using an internal locking mechanism that has some issues. As we all know, you can only update or release a locked record on the same session which holds the lock. Also a pointer - if you are using UniObjects with U2 Connection Pooling, then the same can apply the moment you have two server processes on the same connection pool. Each request made to a connection pool could be serviced by ANY process assigned to that pool - not necessarily the last one you happened to get assigned to your last request. (After all - that's the whole point of Connection Pooling - POOLING being the operative word. This is quite different to UO without Connection Pooling where the client to server link is one-to-one. With Connection Pooling it is many-to-many. The locking mechanism DesignBais is using needs to be re-thought if either of these applies. You should be using optimistic locking for scalability in any case, Regards JayJay -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: 07 January 2012 23:16 To: U2 Mail List Cc: DesignBais Support Subject: [U2] Uniobjects and Record Locking I'm using DesignBais and have run into an unusual problem. When I display some data on a web form the dbms is contacted through UO and the returned data is displayed. When I click on the [Save] button the same UO connection is used to contact the dbms and run whatever program is required to update the record. In the called update program, the record is read and locked. If it's already locked the program terminates and a message is returned informing the user the record is locked (try again). If it's not locked the record is updated and, of course, the program terminates in the same manner. Problem: if I edit the record via UniData's AE editor (LIST.READU shows a record lock) and try to update the record via the DesignBais form, the LOCKED clause is taken. This is good. However, after I release the record via the AE editor (LIST.READU now shows nothing locked), then click on the [Save] button, the LOCKED clause is still taken, even though no record is locked! If I kill the UO connection, DesignBais will make another UO connection and all works fine. So, it appears a UO connection won't release a lock under whatever circumstances I've happened to stumble upon. Any ideas what causes this and how to work-around the problem? Thanks, Bill Haskett Advantos Systems, Inc. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
David: Thanks for the input. This has nothing to do with DB, as the message that displays is generated by the update program due to the LOCKED clause being taken, even though there is no record locked. We do a quasi-optimistic locking and only lock records during those few milliseconds where updating occurs. A record is NEVER locked until an update occurs, and since locks release when a program terminates (even a subroutine returns) we shouldn't be having such problems ( i.e. a record is never locked then left alone). This is why I'm thinking it has something to do with Uniobjects. Thanks again, Bill - Original Message - *From:* da...@dacono.com.au *To:* U2 Users List u2-users@listserver.u2ug.org *Date:* 1/8/2012 1:33 AM *Subject:* Re: [U2] Uniobjects and Record Locking It is possible that design base is running a separate locking mechanism that it is caching. The Uniobjects connection involves pooling where multiple user accesses use one UniVerse Login. This is different to a telnet connection with one user per login. If DesignBase cannot identify the process that updates as being the same as the one that locks the record then you could have a problem. You cannot identify who locked the record in a pooling environment as 10 people would have the same user ID, hence it has to be managed by designbase rather than universe. What you are doing is pessimistic locking. With a web based environment and pooling, you should be thinking optimistic locking where you only do locking at the time of update and compare before and after images. If a user locks a record over an internet connection and then loses a connection, then that record can remain locked until an administrator releases it manually, this is why pessimistic locking is avoided in this environment. Regards David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, 8 January 2012 10:16 AM To: U2 Mail List Cc: DesignBais Support Subject: [U2] Uniobjects and Record Locking I'm using DesignBais and have run into an unusual problem. When I display some data on a web form the dbms is contacted through UO and the returned data is displayed. When I click on the [Save] button the same UO connection is used to contact the dbms and run whatever program is required to update the record. In the called update program, the record is read and locked. If it's already locked the program terminates and a message is returned informing the user the record is locked (try again). If it's not locked the record is updated and, of course, the program terminates in the same manner. Problem: if I edit the record via UniData's AE editor (LIST.READU shows a record lock) and try to update the record via the DesignBais form, the LOCKED clause is taken. This is good. However, after I release the record via the AE editor (LIST.READU now shows nothing locked), then click on the [Save] button, the LOCKED clause is still taken, even though no record is locked! If I kill the UO connection, DesignBais will make another UO connection and all works fine. So, it appears a UO connection won't release a lock under whatever circumstances I've happened to stumble upon. Any ideas what causes this and how to work-around the problem? Thanks, Bill Haskett Advantos Systems, Inc. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
John: As a note, we've been programming in web paradigms for many years, and we mostly understand the difference between non-persistent web connections and persistent telnet connections. None of our activities does anything except gather data and submit to UO for almost instantaneous results, whereupon the results is returned to the web. These are all momentary connections and no LOCKING occurs except within the context of a momentary update. So, the user calls the web server, a UO connection is either reused or created to connect to the dbms, a subroutine is run and ends (which, of course, should release all locks within the subroutine (unless doing something like a WRITEU which we never do - we're old-school in that regard), the the web call is closed and data returned by the UO connection is returned to the user in another web page, and the web connection is closed. I think what's important to note is a LIST.READU ALL shows the lock when AE has the record edited and the BASIC LOCKED clause is taken on a momentary UO connection. When AE exits the record LIST.READU ALL no longer shows any record locks but the BASIC LOCKED clause on a subsequent UO connection is still taken as though the record is locked only if the UO connection where the lock occured is reused. If a new UO connection is used (due to timeouts or manually killing the original UO connection) the BASIC LOCKED clause is __NOT__ taken. Thanks, Bill - Original Message - *From:* u2g...@btinternet.com *To:* 'U2 Users List' u2-users@listserver.u2ug.org *Date:* 1/8/2012 8:29 AM *Subject:* Re: [U2] Uniobjects and Record Locking If DesignBais is using it's own connection pooling or cacheing mechanism then it's possible the update request is not being made on the same UniObjects connection on which the lock was created. The result is exactly the same as you would expect from two different TELNET sessions - one locks the other. If you force a release of the lock as root/administrator on the server and the update proceeds then you have the cause and need to change either DesignBais or the methodology the application uses. If you release the lock and the update still can't proceed then DesignBais is probably using an internal locking mechanism that has some issues. As we all know, you can only update or release a locked record on the same session which holds the lock. Also a pointer - if you are using UniObjects with U2 Connection Pooling, then the same can apply the moment you have two server processes on the same connection pool. Each request made to a connection pool could be serviced by ANY process assigned to that pool - not necessarily the last one you happened to get assigned to your last request. (After all - that's the whole point of Connection Pooling - POOLING being the operative word. This is quite different to UO without Connection Pooling where the client to server link is one-to-one. With Connection Pooling it is many-to-many. The locking mechanism DesignBais is using needs to be re-thought if either of these applies. You should be using optimistic locking for scalability in any case, Regards JayJay -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: 07 January 2012 23:16 To: U2 Mail List Cc: DesignBais Support Subject: [U2] Uniobjects and Record Locking I'm using DesignBais and have run into an unusual problem. When I display some data on a web form the dbms is contacted through UO and the returned data is displayed. When I click on the [Save] button the same UO connection is used to contact the dbms and run whatever program is required to update the record. In the called update program, the record is read and locked. If it's already locked the program terminates and a message is returned informing the user the record is locked (try again). If it's not locked the record is updated and, of course, the program terminates in the same manner. Problem: if I edit the record via UniData's AE editor (LIST.READU shows a record lock) and try to update the record via the DesignBais form, the LOCKED clause is taken. This is good. However, after I release the record via the AE editor (LIST.READU now shows nothing locked), then click on the [Save] button, the LOCKED clause is still taken, even though no record is locked! If I kill the UO connection, DesignBais will make another UO connection and all works fine. So, it appears a UO connection won't release a lock under whatever circumstances I've happened to stumble upon. Any ideas what causes this and how to work-around the problem? Thanks, Bill Haskett Advantos Systems, Inc. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
Hi Bill Where is the update program. If it is a UniData subroutine, then UniObjects is not in the process. As far as I know UniObjects has no locking process of its own, it uses Unidatas lock table. I have not experienced this problem, this issue like this sounds like a program bug. I would step through the logic carefully, as you may be locking the record twice in 2 different processes as part of the update. Is DB doing an update through its application at the same time you are doing an update. Check the subroutines call logic. Check the security access, does the user have write access. I suspect a process is aborting somewhere that leaves a record locked which is only cleared when the UniObject session is cleared. Have you done a list.readu all after a record locked message has occurred, as you might identify the lock has occurred then. PS did you do LIST.READU or LIST.READU ALL Regards David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Monday, 9 January 2012 6:34 AM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking David: Thanks for the input. This has nothing to do with DB, as the message that displays is generated by the update program due to the LOCKED clause being taken, even though there is no record locked. We do a quasi-optimistic locking and only lock records during those few milliseconds where updating occurs. A record is NEVER locked until an update occurs, and since locks release when a program terminates (even a subroutine returns) we shouldn't be having such problems ( i.e. a record is never locked then left alone). This is why I'm thinking it has something to do with Uniobjects. Thanks again, Bill - Original Message - *From:* da...@dacono.com.au *To:* U2 Users List u2-users@listserver.u2ug.org *Date:* 1/8/2012 1:33 AM *Subject:* Re: [U2] Uniobjects and Record Locking It is possible that design base is running a separate locking mechanism that it is caching. The Uniobjects connection involves pooling where multiple user accesses use one UniVerse Login. This is different to a telnet connection with one user per login. If DesignBase cannot identify the process that updates as being the same as the one that locks the record then you could have a problem. You cannot identify who locked the record in a pooling environment as 10 people would have the same user ID, hence it has to be managed by designbase rather than universe. What you are doing is pessimistic locking. With a web based environment and pooling, you should be thinking optimistic locking where you only do locking at the time of update and compare before and after images. If a user locks a record over an internet connection and then loses a connection, then that record can remain locked until an administrator releases it manually, this is why pessimistic locking is avoided in this environment. Regards David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, 8 January 2012 10:16 AM To: U2 Mail List Cc: DesignBais Support Subject: [U2] Uniobjects and Record Locking I'm using DesignBais and have run into an unusual problem. When I display some data on a web form the dbms is contacted through UO and the returned data is displayed. When I click on the [Save] button the same UO connection is used to contact the dbms and run whatever program is required to update the record. In the called update program, the record is read and locked. If it's already locked the program terminates and a message is returned informing the user the record is locked (try again). If it's not locked the record is updated and, of course, the program terminates in the same manner. Problem: if I edit the record via UniData's AE editor (LIST.READU shows a record lock) and try to update the record via the DesignBais form, the LOCKED clause is taken. This is good. However, after I release the record via the AE editor (LIST.READU now shows nothing locked), then click on the [Save] button, the LOCKED clause is still taken, even though no record is locked! If I kill the UO connection, DesignBais will make another UO connection and all works fine. So, it appears a UO connection won't release a lock under whatever circumstances I've happened to stumble upon. Any ideas what causes this and how to work-around the problem? Thanks, Bill Haskett Advantos Systems, Inc. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org
Re: [U2] Uniobjects and Record Locking
Hi Bill You cannot assume the exit of a subroutine clears locks. The way DB works, I suspect that DB has a worker program that calls routines. If that worker program does not stop then locks may not be cleared. When you restart UO you are only then clearing a persistent lock. Also check that the locked message is from the routine you think it is. I don't know your code, I am just passing issues I have seen in the past. Do you have triggers doing an update. It sounds like a lock from a previous step has not cleared. Put a RELEASE statement in the routine before it exits and see if that helps. Regards David Jordan ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
UniData record locks are tied to a file variable. So if a file is opened in named common, a lock could persist after a subroutine exits. Of course, it would show up in LIST.READU... The behavior Bill describes doesn't make sense to me. Would love to see a small test case demonstrating what he describes. Wally Terhune U2 Support Architect Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA Tel: +1.720.475.8055 Email: wterh...@rs.com Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, January 08, 2012 12:48 PM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking John: As a note, we've been programming in web paradigms for many years, and we mostly understand the difference between non-persistent web connections and persistent telnet connections. None of our activities does anything except gather data and submit to UO for almost instantaneous results, whereupon the results is returned to the web. These are all momentary connections and no LOCKING occurs except within the context of a momentary update. So, the user calls the web server, a UO connection is either reused or created to connect to the dbms, a subroutine is run and ends (which, of course, should release all locks within the subroutine (unless doing something like a WRITEU which we never do - we're old-school in that regard), the the web call is closed and data returned by the UO connection is returned to the user in another web page, and the web connection is closed. I think what's important to note is a LIST.READU ALL shows the lock when AE has the record edited and the BASIC LOCKED clause is taken on a momentary UO connection. When AE exits the record LIST.READU ALL no longer shows any record locks but the BASIC LOCKED clause on a subsequent UO connection is still taken as though the record is locked only if the UO connection where the lock occured is reused. If a new UO connection is used (due to timeouts or manually killing the original UO connection) the BASIC LOCKED clause is __NOT__ taken. Thanks, Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
Wally: I can even re-create this (amazing isn't it?). :-) I'm here all day tomorrow after 10:30am PST. I can call you, if you'd like. Bill - Original Message - *From:* wterh...@rocketsoftware.com *To:* U2 Users List u2-users@listserver.u2ug.org *Date:* 1/8/2012 1:06 PM *Subject:* Re: [U2] Uniobjects and Record Locking UniData record locks are tied to a file variable. So if a file is opened in named common, a lock could persist after a subroutine exits. Of course, it would show up in LIST.READU... The behavior Bill describes doesn't make sense to me. Would love to see a small test case demonstrating what he describes. Wally Terhune U2 Support Architect Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA Tel: +1.720.475.8055 Email: wterh...@rs.com Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, January 08, 2012 12:48 PM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking John: As a note, we've been programming in web paradigms for many years, and we mostly understand the difference between non-persistent web connections and persistent telnet connections. None of our activities does anything except gather data and submit to UO for almost instantaneous results, whereupon the results is returned to the web. These are all momentary connections and no LOCKING occurs except within the context of a momentary update. So, the user calls the web server, a UO connection is either reused or created to connect to the dbms, a subroutine is run and ends (which, of course, should release all locks within the subroutine (unless doing something like a WRITEU which we never do - we're old-school in that regard), the the web call is closed and data returned by the UO connection is returned to the user in another web page, and the web connection is closed. I think what's important to note is a LIST.READU ALL shows the lock when AE has the record edited and the BASIC LOCKED clause is taken on a momentary UO connection. When AE exits the record LIST.READU ALL no longer shows any record locks but the BASIC LOCKED clause on a subsequent UO connection is still taken as though the record is locked only if the UO connection where the lock occured is reused. If a new UO connection is used (due to timeouts or manually killing the original UO connection) the BASIC LOCKED clause is __NOT__ taken. Thanks, Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
Just open a support case and email the test case... thanks Wally Terhune U2 Support Architect Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA Tel: +1.720.475.8055 Email: wterh...@rs.com Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, January 08, 2012 7:46 PM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking Wally: I can even re-create this (amazing isn't it?). :-) I'm here all day tomorrow after 10:30am PST. I can call you, if you'd like. Bill - Original Message - *From:* wterh...@rocketsoftware.com *To:* U2 Users List u2-users@listserver.u2ug.org *Date:* 1/8/2012 1:06 PM *Subject:* Re: [U2] Uniobjects and Record Locking UniData record locks are tied to a file variable. So if a file is opened in named common, a lock could persist after a subroutine exits. Of course, it would show up in LIST.READU... The behavior Bill describes doesn't make sense to me. Would love to see a small test case demonstrating what he describes. Wally Terhune U2 Support Architect Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA Tel: +1.720.475.8055 Email: wterh...@rs.com Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Haskett Sent: Sunday, January 08, 2012 12:48 PM To: U2 Users List Subject: Re: [U2] Uniobjects and Record Locking John: As a note, we've been programming in web paradigms for many years, and we mostly understand the difference between non-persistent web connections and persistent telnet connections. None of our activities does anything except gather data and submit to UO for almost instantaneous results, whereupon the results is returned to the web. These are all momentary connections and no LOCKING occurs except within the context of a momentary update. So, the user calls the web server, a UO connection is either reused or created to connect to the dbms, a subroutine is run and ends (which, of course, should release all locks within the subroutine (unless doing something like a WRITEU which we never do - we're old-school in that regard), the the web call is closed and data returned by the UO connection is returned to the user in another web page, and the web connection is closed. I think what's important to note is a LIST.READU ALL shows the lock when AE has the record edited and the BASIC LOCKED clause is taken on a momentary UO connection. When AE exits the record LIST.READU ALL no longer shows any record locks but the BASIC LOCKED clause on a subsequent UO connection is still taken as though the record is locked only if the UO connection where the lock occured is reused. If a new UO connection is used (due to timeouts or manually killing the original UO connection) the BASIC LOCKED clause is __NOT__ taken. Thanks, Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Uniobjects and Record Locking
I'm using DesignBais and have run into an unusual problem. When I display some data on a web form the dbms is contacted through UO and the returned data is displayed. When I click on the [Save] button the same UO connection is used to contact the dbms and run whatever program is required to update the record. In the called update program, the record is read and locked. If it's already locked the program terminates and a message is returned informing the user the record is locked (try again). If it's not locked the record is updated and, of course, the program terminates in the same manner. Problem: if I edit the record via UniData's AE editor (LIST.READU shows a record lock) and try to update the record via the DesignBais form, the LOCKED clause is taken. This is good. However, after I release the record via the AE editor (LIST.READU now shows nothing locked), then click on the [Save] button, the LOCKED clause is still taken, even though no record is locked! If I kill the UO connection, DesignBais will make another UO connection and all works fine. So, it appears a UO connection won't release a lock under whatever circumstances I've happened to stumble upon. Any ideas what causes this and how to work-around the problem? Thanks, Bill Haskett Advantos Systems, Inc. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
Bill: Your problem might have to do with DesignBais not connecting with the same connection as the first read. I don't know if there is a way to restrict DesignBais to use the same connection. Regards, Doug www.u2logic.com The other Web Developer company On Sat, Jan 7, 2012 at 4:16 PM, Bill Haskett wphask...@advantos.net wrote: I'm using DesignBais and have run into an unusual problem. When I display some data on a web form the dbms is contacted through UO and the returned data is displayed. When I click on the [Save] button the same UO connection is used to contact the dbms and run whatever program is required to update the record. In the called update program, the record is read and locked. If it's already locked the program terminates and a message is returned informing the user the record is locked (try again). If it's not locked the record is updated and, of course, the program terminates in the same manner. Problem: if I edit the record via UniData's AE editor (LIST.READU shows a record lock) and try to update the record via the DesignBais form, the LOCKED clause is taken. This is good. However, after I release the record via the AE editor (LIST.READU now shows nothing locked), then click on the [Save] button, the LOCKED clause is still taken, even though no record is locked! If I kill the UO connection, DesignBais will make another UO connection and all works fine. So, it appears a UO connection won't release a lock under whatever circumstances I've happened to stumble upon. Any ideas what causes this and how to work-around the problem? Thanks, Bill Haskett Advantos Systems, Inc. __**_ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/**mailman/listinfo/u2-usershttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects and Record Locking
Doug: I'm not sure I understand. I know DB does use the same connection for both reads. It's only when I change the connection that it works properly. Thanks, Bill - Original Message - *From:* dave...@gmail.com *To:* U2 Users List u2-users@listserver.u2ug.org *Date:* 1/7/2012 6:18 PM *Subject:* Re: [U2] Uniobjects and Record Locking Bill: Your problem might have to do with DesignBais not connecting with the same connection as the first read. I don't know if there is a way to restrict DesignBais to use the same connection. Regards, Doug www.u2logic.com The other Web Developer company On Sat, Jan 7, 2012 at 4:16 PM, Bill Haskettwphask...@advantos.net wrote: I'm using DesignBais and have run into an unusual problem. When I display some data on a web form the dbms is contacted through UO and the returned data is displayed. When I click on the [Save] button the same UO connection is used to contact the dbms and run whatever program is required to update the record. In the called update program, the record is read and locked. If it's already locked the program terminates and a message is returned informing the user the record is locked (try again). If it's not locked the record is updated and, of course, the program terminates in the same manner. Problem: if I edit the record via UniData's AE editor (LIST.READU shows a record lock) and try to update the record via the DesignBais form, the LOCKED clause is taken. This is good. However, after I release the record via the AE editor (LIST.READU now shows nothing locked), then click on the [Save] button, the LOCKED clause is still taken, even though no record is locked! If I kill the UO connection, DesignBais will make another UO connection and all works fine. So, it appears a UO connection won't release a lock under whatever circumstances I've happened to stumble upon. Any ideas what causes this and how to work-around the problem? Thanks, Bill Haskett Advantos Systems, Inc. __**_ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/**mailman/listinfo/u2-usershttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Since I was under the impression that UniObjects is still supported, am also interested in the response to this. jim.sto...@esc.edu wrote in message news:of751a420f.4c7bb679-on85257965.0075e4a7-85257965.00761...@esc.edu... Hi Dan, Thanks for this information. Can you tell us if Rocket has any plans to further develop / support the original COM/OLE version of UniObjects? And in particular, are there any plans to release a 64 bit version? Thank you, Jim Stoner SUNY Empire State College From: Daniel McGrath dmcgr...@rocketsoftware.com To: U2 Users List u2-users@listserver.u2ug.org Date: 12/07/2011 05:00 PM Subject:Re: [U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org I missed this email. Q: Will UOJ be further developed and supported by Rocket in the future? A: Yes. There are no plans on changing this answer in the foreseeable future either. Regards, Dan McGrath U2 Product Manager Rocket Software Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [ mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: Wednesday, December 07, 2011 10:22 AM To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Great information John and Robert. Looks like UOJ is getting mature. In my situation, it is attractive since we use Domino and Unidata extensively. But, I do not want to invest my time in something that won't be supported in the future. My question for Rocket is Will UOJ be further developed and supported by Rocket in the future? Thanks. Charles Shaffer Senior Analyst NTN-Bower Corporation Robert said: Hi John, On Fri, Dec 2, 2011 at 10:01 AM, John Hester jhes...@momtex.com wrote: We've been using UOJ with WebSphere App Server since around 2003. Not quite the same as Domino, I realize, but at least under the same IBM Java middleware umbrella. I can't offer a lot the way of best practices, but I can say that the combination is robust and trouble-free. This is more OS related, but if you're connecting to or from a linux box you need to make sure the LANG environment variable is set correctly. The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. RedHat EL 5 stores the LANG value in /etc/sysconfig/i18n and the official setting I was given by IBM is en_US.iso885915. The above has caused me many problems in both web applications and running UOJ on mobile devices. I got a debugger out and went through what is happening, it appears UOJ is using deprecated routines within java and writing invalid data to the udcs server. The deprecated routines are using the systems character encoding to convert 16bit java characters to 8bit bytes. As the host systems character encoding is variable thus different data will be sent to the server depending on what location and operating system is used. Roughly the uniobjects conversion routines grab the java system property file.encoding which is meant for reading and writing files and use it directly and indirectly to write data to the socket. Quick fix is on the java command line -Dfile.encoding=iso8859_1 Warning: once java program is running ie System.setProperty(file.encoding,iso8859_1) does not work as a bunch of system level stuff is cached on startup. The above quick fix has many bad side effects as the java process now has the wrong character encoding to read and write files on the local system and has caused me issues in third party libraries which expect to be able to read and write files correctly. ie my web server should be emitting utf8 for maximum compatibility but is putting out iso8859_1 for most files thanks to this quick fix It would be better for the rocket engineers to decide on a character encoding to talk to the server with and set it as a separate define(or hard code it maybe), according to oracle the basic encodings below should be available on most jvms : http://docs.oracle.com/javase/1.3/docs/guide/intl/encoding.doc.html ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users This message contains information that may be privileged or confidential and is the property of GPM Development Ltd. It is intended only for the person to whom it is addressed. If you are not the intended recipient ,you are not authorized
Re: [U2] Uniobjects for Java and Domino 8
Hi Jim, As with most things, if you have specific developments (such as 64 bit) you need, it is best to email U2AskUs along with your specific requirements on why you need it so that we can properly consider it and start the conversation with Engineering. As far as I can see, no one has asked us for a 64 bit version so far. Regards, Dan McGrath U2 Product Manager Rocket Software -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of jim.sto...@esc.edu Sent: Tuesday, December 13, 2011 2:30 PM To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Hi Dan, Thanks for this information. Can you tell us if Rocket has any plans to further develop / support the original COM/OLE version of UniObjects? And in particular, are there any plans to release a 64 bit version? Thank you, Jim Stoner SUNY Empire State College From: Daniel McGrath dmcgr...@rocketsoftware.com To: U2 Users List u2-users@listserver.u2ug.org Date: 12/07/2011 05:00 PM Subject:Re: [U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org I missed this email. Q: Will UOJ be further developed and supported by Rocket in the future? A: Yes. There are no plans on changing this answer in the foreseeable future either. Regards, Dan McGrath U2 Product Manager Rocket Software Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [ mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: Wednesday, December 07, 2011 10:22 AM To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Great information John and Robert. Looks like UOJ is getting mature. In my situation, it is attractive since we use Domino and Unidata extensively. But, I do not want to invest my time in something that won't be supported in the future. My question for Rocket is Will UOJ be further developed and supported by Rocket in the future? Thanks. Charles Shaffer Senior Analyst NTN-Bower Corporation Robert said: Hi John, On Fri, Dec 2, 2011 at 10:01 AM, John Hester jhes...@momtex.com wrote: We've been using UOJ with WebSphere App Server since around 2003. Not quite the same as Domino, I realize, but at least under the same IBM Java middleware umbrella. I can't offer a lot the way of best practices, but I can say that the combination is robust and trouble-free. This is more OS related, but if you're connecting to or from a linux box you need to make sure the LANG environment variable is set correctly. The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. RedHat EL 5 stores the LANG value in /etc/sysconfig/i18n and the official setting I was given by IBM is en_US.iso885915. The above has caused me many problems in both web applications and running UOJ on mobile devices. I got a debugger out and went through what is happening, it appears UOJ is using deprecated routines within java and writing invalid data to the udcs server. The deprecated routines are using the systems character encoding to convert 16bit java characters to 8bit bytes. As the host systems character encoding is variable thus different data will be sent to the server depending on what location and operating system is used. Roughly the uniobjects conversion routines grab the java system property file.encoding which is meant for reading and writing files and use it directly and indirectly to write data to the socket. Quick fix is on the java command line -Dfile.encoding=iso8859_1 Warning: once java program is running ie System.setProperty(file.encoding,iso8859_1) does not work as a bunch of system level stuff is cached on startup. The above quick fix has many bad side effects as the java process now has the wrong character encoding to read and write files on the local system and has caused me issues in third party libraries which expect to be able to read and write files correctly. ie my web server should be emitting utf8 for maximum compatibility but is putting out iso8859_1 for most files thanks to this quick fix It would be better for the rocket engineers to decide on a character encoding to talk to the server with and set it as a separate define(or hard code it maybe), according to oracle the basic encodings below should be available on most jvms : http://docs.oracle.com/javase/1.3/docs/guide/intl/encoding.doc.html ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users
Re: [U2] Uniobjects for Java and Domino 8
I've used both. There are syntax differences, especially with the UO,NET since it adheres to the CLR. Both libraries did what I needed. I don't know if UO,NET is a better solution, but it looks to me like it has been kept up-to-date better. I am interested in UOJ because of new capabilities in Domino. The 64-bit issue is going to become important. I guess my real question isn't just whether UOJ will continue to be supported, but will it be kept up with new technologies. Hi, If Rocket is not going to be updating / supporting the original UniObjects, we're looking at either creating a wrapper for UO.net, or using UOJ. UOJ is the obvious choice for us, since we're currently Domino-based, and Domino supports Java agents. However, I have the impression UO.net may be the better product. Are there any users on the list who have experience with both UOJ and UO.net? If so, would you be willing to share a quick assessment of their comparative value / quality? From looking through the manuals, it seems to me like UO.net has slightly more functionality out of the box, such as the native implementation of a data set class. Is that a valid assessment? And how do they compare in terms of quality? For example, the recent thread was going through issues with UOJ's character encoding. Are there similar (or worse) gotchas in UO.net? Thanks for any insights you care to share! Jim Stoner Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Hi Dan, Thanks for this information. Can you tell us if Rocket has any plans to further develop / support the original COM/OLE version of UniObjects? And in particular, are there any plans to release a 64 bit version? Thank you, Jim Stoner SUNY Empire State College From: Daniel McGrath dmcgr...@rocketsoftware.com To: U2 Users List u2-users@listserver.u2ug.org Date: 12/07/2011 05:00 PM Subject:Re: [U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org I missed this email. Q: Will UOJ be further developed and supported by Rocket in the future? A: Yes. There are no plans on changing this answer in the foreseeable future either. Regards, Dan McGrath U2 Product Manager Rocket Software Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [ mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: Wednesday, December 07, 2011 10:22 AM To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Great information John and Robert. Looks like UOJ is getting mature. In my situation, it is attractive since we use Domino and Unidata extensively. But, I do not want to invest my time in something that won't be supported in the future. My question for Rocket is Will UOJ be further developed and supported by Rocket in the future? Thanks. Charles Shaffer Senior Analyst NTN-Bower Corporation Robert said: Hi John, On Fri, Dec 2, 2011 at 10:01 AM, John Hester jhes...@momtex.com wrote: We've been using UOJ with WebSphere App Server since around 2003. Not quite the same as Domino, I realize, but at least under the same IBM Java middleware umbrella. I can't offer a lot the way of best practices, but I can say that the combination is robust and trouble-free. This is more OS related, but if you're connecting to or from a linux box you need to make sure the LANG environment variable is set correctly. The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. RedHat EL 5 stores the LANG value in /etc/sysconfig/i18n and the official setting I was given by IBM is en_US.iso885915. The above has caused me many problems in both web applications and running UOJ on mobile devices. I got a debugger out and went through what is happening, it appears UOJ is using deprecated routines within java and writing invalid data to the udcs server. The deprecated routines are using the systems character encoding to convert 16bit java characters to 8bit bytes. As the host systems character encoding is variable thus different data will be sent to the server depending on what location and operating system is used. Roughly the uniobjects conversion routines grab the java system property file.encoding which is meant for reading and writing files and use it directly and indirectly to write data to the socket. Quick fix is on the java command line -Dfile.encoding=iso8859_1 Warning: once java program is running ie System.setProperty(file.encoding,iso8859_1) does not work as a bunch of system level stuff is cached on startup. The above quick fix has many bad side effects as the java process now has the wrong character encoding to read and write files on the local system and has caused me issues in third party libraries which expect to be able to read and write files correctly. ie my web server should be emitting utf8 for maximum compatibility but is putting out iso8859_1 for most files thanks to this quick fix It would be better for the rocket engineers to decide on a character encoding to talk to the server with and set it as a separate define(or hard code it maybe), according to oracle the basic encodings below should be available on most jvms : http://docs.oracle.com/javase/1.3/docs/guide/intl/encoding.doc.html ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Hi, If Rocket is not going to be updating / supporting the original UniObjects, we're looking at either creating a wrapper for UO.net, or using UOJ. UOJ is the obvious choice for us, since we're currently Domino-based, and Domino supports Java agents. However, I have the impression UO.net may be the better product. Are there any users on the list who have experience with both UOJ and UO.net? If so, would you be willing to share a quick assessment of their comparative value / quality? From looking through the manuals, it seems to me like UO.net has slightly more functionality out of the box, such as the native implementation of a data set class. Is that a valid assessment? And how do they compare in terms of quality? For example, the recent thread was going through issues with UOJ's character encoding. Are there similar (or worse) gotchas in UO.net? Thanks for any insights you care to share! Jim Stoner From: Symeon Breen syme...@gmail.com To: 'U2 Users List' u2-users@listserver.u2ug.org Date: 12/07/2011 01:18 PM Subject:Re: [U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org Considering UOJ and UO.net are the only api's available for u2 I would have thought yes -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: 07 December 2011 17:22 To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Great information John and Robert. Looks like UOJ is getting mature. In my situation, it is attractive since we use Domino and Unidata extensively. But, I do not want to invest my time in something that won't be supported in the future. My question for Rocket is Will UOJ be further developed and supported by Rocket in the future? Thanks. Charles Shaffer Senior Analyst NTN-Bower Corporation Robert said: Hi John, On Fri, Dec 2, 2011 at 10:01 AM, John Hester jhes...@momtex.com wrote: We've been using UOJ with WebSphere App Server since around 2003. Not quite the same as Domino, I realize, but at least under the same IBM Java middleware umbrella. I can't offer a lot the way of best practices, but I can say that the combination is robust and trouble-free. This is more OS related, but if you're connecting to or from a linux box you need to make sure the LANG environment variable is set correctly. The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. RedHat EL 5 stores the LANG value in /etc/sysconfig/i18n and the official setting I was given by IBM is en_US.iso885915. The above has caused me many problems in both web applications and running UOJ on mobile devices. I got a debugger out and went through what is happening, it appears UOJ is using deprecated routines within java and writing invalid data to the udcs server. The deprecated routines are using the systems character encoding to convert 16bit java characters to 8bit bytes. As the host systems character encoding is variable thus different data will be sent to the server depending on what location and operating system is used. Roughly the uniobjects conversion routines grab the java system property file.encoding which is meant for reading and writing files and use it directly and indirectly to write data to the socket. Quick fix is on the java command line -Dfile.encoding=iso8859_1 Warning: once java program is running ie System.setProperty(file.encoding,iso8859_1) does not work as a bunch of system level stuff is cached on startup. The above quick fix has many bad side effects as the java process now has the wrong character encoding to read and write files on the local system and has caused me issues in third party libraries which expect to be able to read and write files correctly. ie my web server should be emitting utf8 for maximum compatibility but is putting out iso8859_1 for most files thanks to this quick fix It would be better for the rocket engineers to decide on a character encoding to talk to the server with and set it as a separate define(or hard code it maybe), according to oracle the basic encodings below should be available on most jvms : http://docs.oracle.com/javase/1.3/docs/guide/intl/encoding.doc.html ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1415 / Virus Database: 2102/4064 - Release Date: 12/06/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
I only have experience with UOJ, so I can't offer any comparison, but I'd suggest the extensiveness of the feature set of each API may be a moot point depending on how you use them. For example, I've never attempted to use UOJ to do anything that can be done locally by a UniBASIC subroutine. The only UOJ features I make use of are UniDynArray objects and the ability to call UV subroutines. I've never had a compelling reason to use any of the other UOJ functionality. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of jim.sto...@esc.edu Sent: Tuesday, December 13, 2011 1:40 PM To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Hi, If Rocket is not going to be updating / supporting the original UniObjects, we're looking at either creating a wrapper for UO.net, or using UOJ. UOJ is the obvious choice for us, since we're currently Domino-based, and Domino supports Java agents. However, I have the impression UO.net may be the better product. Are there any users on the list who have experience with both UOJ and UO.net? If so, would you be willing to share a quick assessment of their comparative value / quality? From looking through the manuals, it seems to me like UO.net has slightly more functionality out of the box, such as the native implementation of a data set class. Is that a valid assessment? And how do they compare in terms of quality? For example, the recent thread was going through issues with UOJ's character encoding. Are there similar (or worse) gotchas in UO.net? Thanks for any insights you care to share! Jim Stoner ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Same here with uo.net - call a sub, let it pass back a dynamic array, or a json string or an xml string, close the connection, do the rest in .net. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John Hester Sent: 14 December 2011 00:21 To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 I only have experience with UOJ, so I can't offer any comparison, but I'd suggest the extensiveness of the feature set of each API may be a moot point depending on how you use them. For example, I've never attempted to use UOJ to do anything that can be done locally by a UniBASIC subroutine. The only UOJ features I make use of are UniDynArray objects and the ability to call UV subroutines. I've never had a compelling reason to use any of the other UOJ functionality. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of jim.sto...@esc.edu Sent: Tuesday, December 13, 2011 1:40 PM To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Hi, If Rocket is not going to be updating / supporting the original UniObjects, we're looking at either creating a wrapper for UO.net, or using UOJ. UOJ is the obvious choice for us, since we're currently Domino-based, and Domino supports Java agents. However, I have the impression UO.net may be the better product. Are there any users on the list who have experience with both UOJ and UO.net? If so, would you be willing to share a quick assessment of their comparative value / quality? From looking through the manuals, it seems to me like UO.net has slightly more functionality out of the box, such as the native implementation of a data set class. Is that a valid assessment? And how do they compare in terms of quality? For example, the recent thread was going through issues with UOJ's character encoding. Are there similar (or worse) gotchas in UO.net? Thanks for any insights you care to share! Jim Stoner ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1415 / Virus Database: 2102/4078 - Release Date: 12/13/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
It was confirmed that UOJ isn't going away, which is good for legacy development. But my whole point was that for new development we don't need it, never did. From: Charles_Shaffer Tony, What you say is true, and those tools would be great in the right situation. But I am concerned about the future of UOJ. My understanding is that the new Domino will allow jars to be directly accessed from the Domino Designer. Just want to make sure that UOJ is not going to be deprecated. Tony said: There's no good reason for that condition to exist. Rocket doesn't necessarily need to be the sole provider of language bindings into the platform. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Tony It was confirmed that UOJ isn't going away, which is good for legacy development. But my whole point was that for new development we don't need it, never did. Maybe I am asking the wrong question. Is there a better way to interface Domino 8.5 to Unidata than UOJ? Charles Shaffer Senior Analyst NTN-Bower Corporation From: Tony Gravagno 3xk547...@sneakemail.com To: u2-users@listserver.u2ug.org, Date: 12/08/2011 03:32 PM Subject:Re: [U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org It was confirmed that UOJ isn't going away, which is good for legacy development. But my whole point was that for new development we don't need it, never did. From: Charles_Shaffer Tony, What you say is true, and those tools would be great in the right situation. But I am concerned about the future of UOJ. My understanding is that the new Domino will allow jars to be directly accessed from the Domino Designer. Just want to make sure that UOJ is not going to be deprecated. Tony said: There's no good reason for that condition to exist. Rocket doesn't necessarily need to be the sole provider of language bindings into the platform. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
From: Charles_Shaffer Maybe I am asking the wrong question. Is there a better way to interface Domino 8.5 to Unidata than UOJ? IMO, UOJ probably is the best way. In the absence of anything approaching a IBM Domino Connector for U2, I'm thinking ODBC via Easysoft might be the only other option. (I wasn't reading any Domino-centric posts to this thread, only the UOJ posts, so maybe I missed something.) ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Great information John and Robert. Looks like UOJ is getting mature. In my situation, it is attractive since we use Domino and Unidata extensively. But, I do not want to invest my time in something that won't be supported in the future. My question for Rocket is Will UOJ be further developed and supported by Rocket in the future? Thanks. Charles Shaffer Senior Analyst NTN-Bower Corporation Robert said: Hi John, On Fri, Dec 2, 2011 at 10:01 AM, John Hester jhes...@momtex.com wrote: We've been using UOJ with WebSphere App Server since around 2003. Not quite the same as Domino, I realize, but at least under the same IBM Java middleware umbrella. I can't offer a lot the way of best practices, but I can say that the combination is robust and trouble-free. This is more OS related, but if you're connecting to or from a linux box you need to make sure the LANG environment variable is set correctly. The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. RedHat EL 5 stores the LANG value in /etc/sysconfig/i18n and the official setting I was given by IBM is en_US.iso885915. The above has caused me many problems in both web applications and running UOJ on mobile devices. I got a debugger out and went through what is happening, it appears UOJ is using deprecated routines within java and writing invalid data to the udcs server. The deprecated routines are using the systems character encoding to convert 16bit java characters to 8bit bytes. As the host systems character encoding is variable thus different data will be sent to the server depending on what location and operating system is used. Roughly the uniobjects conversion routines grab the java system property file.encoding which is meant for reading and writing files and use it directly and indirectly to write data to the socket. Quick fix is on the java command line -Dfile.encoding=iso8859_1 Warning: once java program is running ie System.setProperty(file.encoding,iso8859_1) does not work as a bunch of system level stuff is cached on startup. The above quick fix has many bad side effects as the java process now has the wrong character encoding to read and write files on the local system and has caused me issues in third party libraries which expect to be able to read and write files correctly. ie my web server should be emitting utf8 for maximum compatibility but is putting out iso8859_1 for most files thanks to this quick fix It would be better for the rocket engineers to decide on a character encoding to talk to the server with and set it as a separate define(or hard code it maybe), according to oracle the basic encodings below should be available on most jvms : http://docs.oracle.com/javase/1.3/docs/guide/intl/encoding.doc.html ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Considering UOJ and UO.net are the only api's available for u2 I would have thought yes -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: 07 December 2011 17:22 To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Great information John and Robert. Looks like UOJ is getting mature. In my situation, it is attractive since we use Domino and Unidata extensively. But, I do not want to invest my time in something that won't be supported in the future. My question for Rocket is Will UOJ be further developed and supported by Rocket in the future? Thanks. Charles Shaffer Senior Analyst NTN-Bower Corporation Robert said: Hi John, On Fri, Dec 2, 2011 at 10:01 AM, John Hester jhes...@momtex.com wrote: We've been using UOJ with WebSphere App Server since around 2003. Not quite the same as Domino, I realize, but at least under the same IBM Java middleware umbrella. I can't offer a lot the way of best practices, but I can say that the combination is robust and trouble-free. This is more OS related, but if you're connecting to or from a linux box you need to make sure the LANG environment variable is set correctly. The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. RedHat EL 5 stores the LANG value in /etc/sysconfig/i18n and the official setting I was given by IBM is en_US.iso885915. The above has caused me many problems in both web applications and running UOJ on mobile devices. I got a debugger out and went through what is happening, it appears UOJ is using deprecated routines within java and writing invalid data to the udcs server. The deprecated routines are using the systems character encoding to convert 16bit java characters to 8bit bytes. As the host systems character encoding is variable thus different data will be sent to the server depending on what location and operating system is used. Roughly the uniobjects conversion routines grab the java system property file.encoding which is meant for reading and writing files and use it directly and indirectly to write data to the socket. Quick fix is on the java command line -Dfile.encoding=iso8859_1 Warning: once java program is running ie System.setProperty(file.encoding,iso8859_1) does not work as a bunch of system level stuff is cached on startup. The above quick fix has many bad side effects as the java process now has the wrong character encoding to read and write files on the local system and has caused me issues in third party libraries which expect to be able to read and write files correctly. ie my web server should be emitting utf8 for maximum compatibility but is putting out iso8859_1 for most files thanks to this quick fix It would be better for the rocket engineers to decide on a character encoding to talk to the server with and set it as a separate define(or hard code it maybe), according to oracle the basic encodings below should be available on most jvms : http://docs.oracle.com/javase/1.3/docs/guide/intl/encoding.doc.html ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1415 / Virus Database: 2102/4064 - Release Date: 12/06/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
I would be very interested in hearing Rocket's answer to that question also because a significant portion of our infrastructure currently relies on UOJ. They do tout is as a key feature of UV on their web site: http://www.rocketsoftware.com/u2/products/universe From the link: UniVerse supports numerous Java-based interfaces as well, including JBDC for standards-based connectivity and our own UniObjects for Java high speed native interface. Leverage powerful Java programming tools including the Eclipse framework to enable powerful, platform-independent solutions. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: Wednesday, December 07, 2011 9:22 AM To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Great information John and Robert. Looks like UOJ is getting mature. In my situation, it is attractive since we use Domino and Unidata extensively. But, I do not want to invest my time in something that won't be supported in the future. My question for Rocket is Will UOJ be further developed and supported by Rocket in the future? Thanks. Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
From: Charles Shaffer My question for Rocket is Will UOJ be further developed and supported by Rocket in the future? From: Symeon Breen Considering UOJ and UO.net are the only api's available for u2 I would have thought yes There's no good reason for that condition to exist. Rocket doesn't necessarily need to be the sole provider of language bindings into the platform. A new API can be wrapped around a lower-level interface, and any language binding can then implement that API. So in a short period of time we could have a new Java SDK for U2, PHP for U2, Ruby for U2... A number of people in this community could initiate this over a weekend. But there's little motivation for any of us to do so. Few companies would buy it. If it's FOSS, as it usually happens, few would contribute, but a lot of people would report issues, request new functionality, criticize the documentation, and eventually burn out anyone volunteering effort. The net result, as with many things that are possible with the platform, is that if it doesn't come from the DBMS provider then this commmunity simply does without. Of course we have UOJ and UO.NET, but as discussed here, when these interfaces have issues, there's only one place to go for solutions, and sometimes that's just not good enough or fast enough. Just sayin... T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
I missed this email. Q: Will UOJ be further developed and supported by Rocket in the future? A: Yes. There are no plans on changing this answer in the foreseeable future either. Regards, Dan McGrath U2 Product Manager Rocket Software Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: Wednesday, December 07, 2011 10:22 AM To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Great information John and Robert. Looks like UOJ is getting mature. In my situation, it is attractive since we use Domino and Unidata extensively. But, I do not want to invest my time in something that won't be supported in the future. My question for Rocket is Will UOJ be further developed and supported by Rocket in the future? Thanks. Charles Shaffer Senior Analyst NTN-Bower Corporation Robert said: Hi John, On Fri, Dec 2, 2011 at 10:01 AM, John Hester jhes...@momtex.com wrote: We've been using UOJ with WebSphere App Server since around 2003. Not quite the same as Domino, I realize, but at least under the same IBM Java middleware umbrella. I can't offer a lot the way of best practices, but I can say that the combination is robust and trouble-free. This is more OS related, but if you're connecting to or from a linux box you need to make sure the LANG environment variable is set correctly. The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. RedHat EL 5 stores the LANG value in /etc/sysconfig/i18n and the official setting I was given by IBM is en_US.iso885915. The above has caused me many problems in both web applications and running UOJ on mobile devices. I got a debugger out and went through what is happening, it appears UOJ is using deprecated routines within java and writing invalid data to the udcs server. The deprecated routines are using the systems character encoding to convert 16bit java characters to 8bit bytes. As the host systems character encoding is variable thus different data will be sent to the server depending on what location and operating system is used. Roughly the uniobjects conversion routines grab the java system property file.encoding which is meant for reading and writing files and use it directly and indirectly to write data to the socket. Quick fix is on the java command line -Dfile.encoding=iso8859_1 Warning: once java program is running ie System.setProperty(file.encoding,iso8859_1) does not work as a bunch of system level stuff is cached on startup. The above quick fix has many bad side effects as the java process now has the wrong character encoding to read and write files on the local system and has caused me issues in third party libraries which expect to be able to read and write files correctly. ie my web server should be emitting utf8 for maximum compatibility but is putting out iso8859_1 for most files thanks to this quick fix It would be better for the rocket engineers to decide on a character encoding to talk to the server with and set it as a separate define(or hard code it maybe), according to oracle the basic encodings below should be available on most jvms : http://docs.oracle.com/javase/1.3/docs/guide/intl/encoding.doc.html ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Tony, What you say is true, and those tools would be great in the right situation. But I am concerned about the future of UOJ. My understanding is that the new Domino will allow jars to be directly accessed from the Domino Designer. Just want to make sure that UOJ is not going to be deprecated. Tony said: There's no good reason for that condition to exist. Rocket doesn't necessarily need to be the sole provider of language bindings into the platform. A new API can be wrapped around a lower-level interface, and any language binding can then implement that API. So in a short period of time we could have a new Java SDK for U2, PHP for U2, Ruby for U2... A number of people in this community could initiate this over a weekend. But there's little motivation for any of us to do so. Few companies would buy it. If it's FOSS, as it usually happens, few would contribute, but a lot of people would report issues, request new functionality, criticize the documentation, and eventually burn out anyone volunteering effort. The net result, as with many things that are possible with the platform, is that if it doesn't come from the DBMS provider then this commmunity simply does without. Of course we have UOJ and UO.NET, but as discussed here, when these interfaces have issues, there's only one place to go for solutions, and sometimes that's just not good enough or fast enough. Just sayin... T Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Hello, Ok created a quick test routine to show problem(attached to end of post). It simply gets a record from the demo database and dumps the output, first the the system default character encoding, then setting file.encoding and finally clientencoding: $ echo $LANG en_US.UTF-8 $ java -classpath asjava.zip:. CharacterEncodingTest Otis\65533AscProf\6553325800\65533FA\65533PY100\65533221345665\65533414446545\65533Eades $ java -Dfile.encoding=ISO8859_1 -classpath asjava.zip:. CharacterEncodingTest Otis\254AscProf\25425800\254FA\254PY100\254221345665\253414446545\254Eades $ java -Dclientencoding=ISO8859_1 -classpath asjava.zip:. CharacterEncodingTest Otis\254AscProf\25425800\254FA\254PY100\254221345665\253414446545\254Eades So setting clientencoding seems to work, providing same output as file.encoding. As can see above because system is UTF8 the delimiter characters come through incorrectly. The same occurs for other binary data outside the ascii range. On windows for binary data amusingly you even get different results depending on whether you run the program from the GUI or console as 2 different character sets are used by the operating system(for backwards compatability i guess). Looking at the UniRPC class in UOJ it loads the character encoding statically thus must specify either file.encoding or clientencoding on the java command line to reliably ensure UOJ works. Trying System.setProperty(...) within the java program may or may not work depending on whether the UniRPC class has already been loaded by the java classloader. Would recommend using clientencoding define over file.encoding or LANG settings both of which will interfere with the reading and writing of operating systems files by the application. - Robert CharacterEncodingTest.java import asjava.uniclientlibs.*; import asjava.uniobjects.*; public class CharacterEncodingTest { public static final void main(String[] args) { try { UniJava dataSource = new UniJava(); UniSession session = dataSource.openSession(); session.setHostName(localhost); session.setUserName(myuser); session.setPassword(XX); session.setAccountPath(demo); session.setConnectionString(udcs); session.connect(); UniFile file = session.open(STAFF); UniString rec = file.read(2); char[] arr = rec.toCharArray(); StringBuffer sb = new StringBuffer(); for (int i =0; i arr.length; i++) { if (arr[i] 31 arr[i] 128) { sb.append(arr[i]); } else { sb.append(\\ + (int)arr[i]); } } System.out.println(sb.toString()); file.close(); } catch (UniFileException ufe) { ufe.printStackTrace(System.err); } catch (UniSessionException use) { use.printStackTrace(System.err); } } } ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Hi John, On Fri, Dec 2, 2011 at 10:01 AM, John Hester jhes...@momtex.com wrote: We've been using UOJ with WebSphere App Server since around 2003. Not quite the same as Domino, I realize, but at least under the same IBM Java middleware umbrella. I can't offer a lot the way of best practices, but I can say that the combination is robust and trouble-free. This is more OS related, but if you're connecting to or from a linux box you need to make sure the LANG environment variable is set correctly. The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. RedHat EL 5 stores the LANG value in /etc/sysconfig/i18n and the official setting I was given by IBM is en_US.iso885915. The above has caused me many problems in both web applications and running UOJ on mobile devices. I got a debugger out and went through what is happening, it appears UOJ is using deprecated routines within java and writing invalid data to the udcs server. The deprecated routines are using the systems character encoding to convert 16bit java characters to 8bit bytes. As the host systems character encoding is variable thus different data will be sent to the server depending on what location and operating system is used. Roughly the uniobjects conversion routines grab the java system property file.encoding which is meant for reading and writing files and use it directly and indirectly to write data to the socket. Quick fix is on the java command line -Dfile.encoding=iso8859_1 Warning: once java program is running ie System.setProperty(file.encoding,iso8859_1) does not work as a bunch of system level stuff is cached on startup. The above quick fix has many bad side effects as the java process now has the wrong character encoding to read and write files on the local system and has caused me issues in third party libraries which expect to be able to read and write files correctly. ie my web server should be emitting utf8 for maximum compatibility but is putting out iso8859_1 for most files thanks to this quick fix It would be better for the rocket engineers to decide on a character encoding to talk to the server with and set it as a separate define(or hard code it maybe), according to oracle the basic encodings below should be available on most jvms : http://docs.oracle.com/javase/1.3/docs/guide/intl/encoding.doc.html ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
On Tue, Dec 6, 2011 at 1:43 PM, Robert Colquhoun robert.colquh...@gmail.com wrote: It would be better for the rocket engineers to decide on a character encoding to talk to the server with and set it as a separate define(or hard code it maybe), according to oracle the basic encodings below should be available on most jvms : http://docs.oracle.com/javase/1.3/docs/guide/intl/encoding.doc.html Updating post above - had another look at asjava.zip, there appears to be a more recent version in latest unidata at least that has a config parameter clientencoding used by the UniRPC class to convert to and from 16bit java characters to 8 bit characters for sending to socket. The files within the asjava.zip are dated Sept 10 2004. Cannot see where clientencoding is set anywhere in the code, if parameter is absent seems to use system encoding file.encoding as before. Seaching documentation cannot find any reference to it :( Somebody could experiment with it ie java -Dclientencoding=ISO8859_1 -classpath asjava.zip MyProgram to see if that works. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. Thanks for the tip. Looks like we do have a problem with the LANG setting. LANG=en_US.UTF-8 I'll check with IBM and see if changing it en_US.iso885915 will be OK with Domino. Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Thanks. This is very helpful. Charles Shaffer Senior Analyst NTN-Bower Corporation From: Tony Gravagno 3xk547...@sneakemail.com To: u2-users@listserver.u2ug.org, Date: 12/01/2011 10:18 PM Subject:Re: [U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org I follow John's policy in all web integration. All external access comes through a single entry point which identifies the purpose of the connection and transfers to an appropriate subroutine. I also include logging abilities in most code, just in case. Code below is made up for this example and not stylistically elegant nor complete. : SUBROUTINE ENTRY.POINT(QUERY,RESPONSE) INCLUDE WEB.COMMON * that routine does initialization, logging, breaks up query, etc BEGIN CASE CASE OPERATION=CUSTINQ CALL WEB.CUSTINQ(QUERY,RESPONSE) CASE 1 ; * bad request END CASE INCLUDE WEB.EXIT RETURN SUBROUTINE WEB.COMMON COMMON VARS(100) INCLUDE WEB.EQUATES ; * assign name to all VARS IF NOT(INITIALIZED) THEN GOSUB INIT IF LOGGING THEN GOSUB LOG RETURN SUBROUTINE WEB.EXIT IF LOGGING THEN GOSUB LOG ... RETURN Since all code includes WEB.COMMON, note from above that when LOGGING is active all routines will log on entry, and all programs have access to the common LOG function. HTH T From: John Hester Another gotcha I've run into in the past (also not app platform specific) is difficutly isolating bugs in UV subroutines that cause an abort. The result is a hung unirpc connection and a corresponding consumed license. If this problem happens in a frequently called subroutine, you can quickly find yourself with no UV licenses left. To isolate offending subroutines, I created a tracking subroutine that gets called at the beginning of each subroutine... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Uniobjects for Java and Domino 8
Has anyone used Uniobjects for Java with Domino 8? If so, have you had luck with it. Any best practice suggestions? Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Hi, I'm also interested in any advice / best practices for UO for Java on Domino. It would certainly be nice to find a small user group to ask questions and bounce around best practices. I haven't tried using UniObjects for Java with Domino yet, but I have used the original OLE/COM version of UniObjects in LotusScript agents on Domino 8.5. We have been using that for some small-scale production jobs for the past year, and it has worked really well. The main problem I have is that the OLE/COM version of UniObjects hasn't been updated in years, and it doesn't seem to have a 64-bit version. I have looked for alternatives, like trying to register the UO for .Net client as an OLE/COM object, but for some reason that only exposes a handful of classes and methods; the vast majority of the functionality doesn't seem to be configured to work when accessed as an OLE/COM object. So unless Rocket releases a 64-bit version of the original UniObjects, my fallback plan is to move to UniObjects for Java, but I've been putting it off until I have some more time or find other people doing something similar to help motivate me. :-) Cheers, Jim Stoner Lead Programmer/Analyst SUNY Empire State College From: charles_shaf...@ntn-bower.com To: u2-users@listserver.u2ug.org, Date: 12/01/2011 03:38 PM Subject:[U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org Has anyone used Uniobjects for Java with Domino 8? If so, have you had luck with it. Any best practice suggestions? Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
Jim Stoner Said It would certainly be nice to find a small user group to ask questions and bounce around best practices. I would definitely be interested in that. I haven't tried using UniObjects for Java with Domino yet, but I have used the original OLE/COM version of UniObjects in LotusScript agents on Domino 8.5. The COM library with LotusScript is what I've done in the past as well. The direct integration with Java archives is very interesting to me, but I haven't gotten into it much yet. Charles Shaffer Senior Analyst NTN-Bower Corporation From: jim.sto...@esc.edu To: U2 Users List u2-users@listserver.u2ug.org, Date: 12/01/2011 02:53 PM Subject:Re: [U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org Hi, I'm also interested in any advice / best practices for UO for Java on Domino. It would certainly be nice to find a small user group to ask questions and bounce around best practices. I haven't tried using UniObjects for Java with Domino yet, but I have used the original OLE/COM version of UniObjects in LotusScript agents on Domino 8.5. We have been using that for some small-scale production jobs for the past year, and it has worked really well. The main problem I have is that the OLE/COM version of UniObjects hasn't been updated in years, and it doesn't seem to have a 64-bit version. I have looked for alternatives, like trying to register the UO for .Net client as an OLE/COM object, but for some reason that only exposes a handful of classes and methods; the vast majority of the functionality doesn't seem to be configured to work when accessed as an OLE/COM object. So unless Rocket releases a 64-bit version of the original UniObjects, my fallback plan is to move to UniObjects for Java, but I've been putting it off until I have some more time or find other people doing something similar to help motivate me. :-) Cheers, Jim Stoner Lead Programmer/Analyst SUNY Empire State College From: charles_shaf...@ntn-bower.com To: u2-users@listserver.u2ug.org, Date: 12/01/2011 03:38 PM Subject:[U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org Has anyone used Uniobjects for Java with Domino 8? If so, have you had luck with it. Any best practice suggestions? Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
We've been using UOJ with WebSphere App Server since around 2003. Not quite the same as Domino, I realize, but at least under the same IBM Java middleware umbrella. I can't offer a lot the way of best practices, but I can say that the combination is robust and trouble-free. This is more OS related, but if you're connecting to or from a linux box you need to make sure the LANG environment variable is set correctly. The RedHat default is incorrect for UOJ (at least up to EL 5) and will result in MV delimiters being incorrectly translated into other ascii characters. RedHat EL 5 stores the LANG value in /etc/sysconfig/i18n and the official setting I was given by IBM is en_US.iso885915. Another gotcha I've run into in the past (also not app platform specific) is difficutly isolating bugs in UV subroutines that cause an abort. The result is a hung unirpc connection and a corresponding consumed license. If this problem happens in a frequently called subroutine, you can quickly find yourself with no UV licenses left. To isolate offending subroutines, I created a tracking subroutine that gets called at the beginning of each subroutine with the caller's name as an argument. The tracking subroutine does the following: EXECUTE 'DUM ':PROG.NAME Where DUM is a dummy VOC entry that does nothing. This allows me to see the last subroutine called by the hung UOJ session in the PORT.STATUS output. The one best practice I can offer is to have a UniBASIC front-end utility for every UniBASIC UOJ subroutine for troubleshooting purposes. That way if you run into the situation above, you can call the subroutine from TCL and step through it in the debugger. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: Thursday, December 01, 2011 1:08 PM To: U2 Users List Subject: Re: [U2] Uniobjects for Java and Domino 8 Jim Stoner Said It would certainly be nice to find a small user group to ask questions and bounce around best practices. I would definitely be interested in that. I haven't tried using UniObjects for Java with Domino yet, but I have used the original OLE/COM version of UniObjects in LotusScript agents on Domino 8.5. The COM library with LotusScript is what I've done in the past as well. The direct integration with Java archives is very interesting to me, but I haven't gotten into it much yet. Charles Shaffer Senior Analyst NTN-Bower Corporation From: jim.sto...@esc.edu To: U2 Users List u2-users@listserver.u2ug.org, Date: 12/01/2011 02:53 PM Subject:Re: [U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org Hi, I'm also interested in any advice / best practices for UO for Java on Domino. It would certainly be nice to find a small user group to ask questions and bounce around best practices. I haven't tried using UniObjects for Java with Domino yet, but I have used the original OLE/COM version of UniObjects in LotusScript agents on Domino 8.5. We have been using that for some small-scale production jobs for the past year, and it has worked really well. The main problem I have is that the OLE/COM version of UniObjects hasn't been updated in years, and it doesn't seem to have a 64-bit version. I have looked for alternatives, like trying to register the UO for .Net client as an OLE/COM object, but for some reason that only exposes a handful of classes and methods; the vast majority of the functionality doesn't seem to be configured to work when accessed as an OLE/COM object. So unless Rocket releases a 64-bit version of the original UniObjects, my fallback plan is to move to UniObjects for Java, but I've been putting it off until I have some more time or find other people doing something similar to help motivate me. :-) Cheers, Jim Stoner Lead Programmer/Analyst SUNY Empire State College From: charles_shaf...@ntn-bower.com To: u2-users@listserver.u2ug.org, Date: 12/01/2011 03:38 PM Subject:[U2] Uniobjects for Java and Domino 8 Sent by:u2-users-boun...@listserver.u2ug.org Has anyone used Uniobjects for Java with Domino 8? If so, have you had luck with it. Any best practice suggestions? Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects for Java and Domino 8
I follow John's policy in all web integration. All external access comes through a single entry point which identifies the purpose of the connection and transfers to an appropriate subroutine. I also include logging abilities in most code, just in case. Code below is made up for this example and not stylistically elegant nor complete. : SUBROUTINE ENTRY.POINT(QUERY,RESPONSE) INCLUDE WEB.COMMON * that routine does initialization, logging, breaks up query, etc BEGIN CASE CASE OPERATION=CUSTINQ CALL WEB.CUSTINQ(QUERY,RESPONSE) CASE 1 ; * bad request END CASE INCLUDE WEB.EXIT RETURN SUBROUTINE WEB.COMMON COMMON VARS(100) INCLUDE WEB.EQUATES ; * assign name to all VARS IF NOT(INITIALIZED) THEN GOSUB INIT IF LOGGING THEN GOSUB LOG RETURN SUBROUTINE WEB.EXIT IF LOGGING THEN GOSUB LOG ... RETURN Since all code includes WEB.COMMON, note from above that when LOGGING is active all routines will log on entry, and all programs have access to the common LOG function. HTH T From: John Hester Another gotcha I've run into in the past (also not app platform specific) is difficutly isolating bugs in UV subroutines that cause an abort. The result is a hung unirpc connection and a corresponding consumed license. If this problem happens in a frequently called subroutine, you can quickly find yourself with no UV licenses left. To isolate offending subroutines, I created a tracking subroutine that gets called at the beginning of each subroutine... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] uniobjects issue
I have a fairly simple c# .net console application that selects data from a pick file loads it into a (in memory) data table and then bulk loads it into a sql table. The process works fine on a test system but on another system that has the same pick table but with 20ish indexes (yeah I know) it locks up. The program does a uniobjects read and lockstrategy no locking, the record is not locked and I wrapped the command in a try catch and no error is returned, it's just stuck at the read command. I can use ED to read the record the locking table does not show any lock on that item and using every (with the LIST.READU) doesn't show anything either. A fellow worker mentioned a index lock but I am not sure why that would cause a lock in the uniobjects program, I did a test with a pick program reading the pick file and writing to a unix file and it has no problems, but every time I run the uniobjects program on this system is freezes at different points and with different items, yet when I run the program on a system where there are either no indexes and/or no activity the code runs fine. I may have to modify the program to call the pick subroutine and then read from the created unix file, but I thought I's ask teethe list first for ideas or suggestions thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] uniobjects and multiple select lists
I am trying to write a c# program that will do multiple selects each one using the list from the previous select. I can't seem to find a way to do this (in uniobjects) ,I think/hope it can be done and in this case I cannot write a subroutine to do it (yes I agree it is probably the best way). Is it possible just using uniobjects to use a previous select (did I mention I do not want to save the list) in a new select? thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects and multiple select lists
Doug, I don't know UniObjects well enough, but since its still the weekend, I figured I could throw out a thought until someone more knowledgeable in UniObjects respons. You should be able to select the list to a list number and then readnext from the assigned list number? In basic, Universe, it's something like; SELECT FILE TO 3 ... READNEXT KEY FROM 3 ... Looking at the UniObjects (.NET) manual you should be able to do something like; UniSelectList uSelect = uSession.CreateselectList();where uselect should be a reference # 0 - 9 or 10 I don't know if you've already tried something like this, or even if it helps, I hope so. It's something to try. I look forward to hearing if this helps. Curt Stewart -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of doug chanco Sent: Sunday, August 21, 2011 8:56 AM To: U2 Users List Subject: [U2] uniobjects and multiple select lists I am trying to write a c# program that will do multiple selects each one using the list from the previous select. I can't seem to find a way to do this (in uniobjects) ,I think/hope it can be done and in this case I cannot write a subroutine to do it (yes I agree it is probably the best way). Is it possible just using uniobjects to use a previous select (did I mention I do not want to save the list) in a new select? thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question
Uniobjects has the same facility to access TCL through the command method. Regards David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Houben Sent: Tuesday, 9 August 2011 2:02 PM To: U2 Users List Subject: Re: [U2] uniobjects question [AD] [AD]While it may be impossible with UO, FusionWare's Direct Data Access Server supports a mechanism called EXEC TCL in which you can call any program that can be run from TCL, and pass it inputs, like a PROC or a CGI program. If you miss an input, things will get kind of stuck, but if you know your inputs, it works like a dream. We have customers who have been using it quite happily for a number of years. You can access this functionality from Java, OLE DB and Managed .NET (ADO.NET) clients. We give some very simplistic examples here: http://www.fwic.net/Resources/FusionWareIntegrationBlogs/tabid/116/EntryId/55/Other-Ways-to-Access-Our-MultiValue-SALESORDER-Data.aspx -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Tony Gravagno Sent: Monday, August 08, 2011 4:39 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] uniobjects question Doug, as confirmed by the experience of others, and confirming your own suspicion, we can say with certainty it's not possible to have a functional app where CRT and INPUT are encountered by UO. The only way to use traditional code like that is to skip UO and to use a telnet or SSH client from your language of choice, feeding input to the server, waiting for a response, and parsing the output. That mechanism works fine until something unexpected comes up. Then you need some supporting handlers around your code to recover from the error, avoid keeping the process and license locked, restart a new process, log the event, etc. This is screen scraping, and while there are some fine solutions that do this, they are generally shunned for heavy processing in favor of less volatile solutions. In summary, do you see the two big glowing eyes peering back at you from deep inside of that dark cave? You know better than to go in there, right? :) HTH T From: Doug Chanco I totally agree with your response but what me and the java developer are discussing is if it's even possible (I say nay) I will write a java program to test but I was hoping with the vast sea of knowledge on this group that someone would know, if it was possible or not Yes it should never be done and yes your standards are spot on. This is just a I wonder if this is possible question Dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question
Just to be clear - A UO process will not crash upon encountering a CRT Infact i have used this for debugging purposes, my front end passes a debug flag, the backend does (if the debug flag is set) a como on , and whatever crt's required, a como off, then reads in the como file and sends it back to the front end, which can then display it somewhere. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Tony Gravagno Sent: 09 August 2011 00:39 To: u2-users@listserver.u2ug.org Subject: Re: [U2] uniobjects question Doug, as confirmed by the experience of others, and confirming your own suspicion, we can say with certainty it's not possible to have a functional app where CRT and INPUT are encountered by UO. The only way to use traditional code like that is to skip UO and to use a telnet or SSH client from your language of choice, feeding input to the server, waiting for a response, and parsing the output. That mechanism works fine until something unexpected comes up. Then you need some supporting handlers around your code to recover from the error, avoid keeping the process and license locked, restart a new process, log the event, etc. This is screen scraping, and while there are some fine solutions that do this, they are generally shunned for heavy processing in favor of less volatile solutions. In summary, do you see the two big glowing eyes peering back at you from deep inside of that dark cave? You know better than to go in there, right? :) HTH T From: Doug Chanco I totally agree with your response but what me and the java developer are discussing is if it's even possible (I say nay) I will write a java program to test but I was hoping with the vast sea of knowledge on this group that someone would know, if it was possible or not Yes it should never be done and yes your standards are spot on. This is just a I wonder if this is possible question Dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1391 / Virus Database: 1520/3821 - Release Date: 08/08/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question
I totally agree with your response but what me and the java developer are discussing is if it's even possible (I say nay) I will write a java program to test but I was hoping with the vast sea of knowledge on this group that someone would know, if it was possible or not Yes it should never be done and yes your standards are spot on. This is just a I wonder if this is possible question Dougc email signature There are 10 kinds of people in the world, those that know binary and those that do not. On Aug 6, 2011, at 17:45, Tony Gravagno 3xk547...@sneakemail.com wrote: I thought this coding paradigm was already universally accepted (pun intended). The code below exemplifies a number of techniques for processing remote requests. Specifically: - Never CRT or INPUT. - Never STOP on error, always return - Standardize the subroutine input signature so that all subs look alike to clients, and allow for values that accommodate almost every need. - Modularize every request. In the code below the response could be passed back with the save, but that may not fit the needs. - Return a response for all requests, whether data in OUTVAL or a non-null ERRor value. - Clients need to pass in some sort of state to identify them. Read user state on entry and write it back when you're done. If you're running multiple processes, Common can't be used to maintain state between user sessions. - INVAL and OUTVAL below are used for data. If either value is a full record then MISC can be used for the key or other metadata. - You don't need more than one subroutine as the entry point for an entire application. Below, WEB.IO is the one and only sub ever called by clients. This facilitates and localizes logging, security, and environment setup. - A single entry point can still pass requests for more complex functions to other subs. - Establish a firm protocol between client developers and MV BASIC developers where every Operation is defined and handled. The details below are irrelevant, but I've used this fundamental design principle for the last decade and it works perfectly for every client technology, every MV platform, and every application Every product in the industry that I've seen does exactly the same thing. Emulate success. A major part of my business revolves around writing interfaces like this, fleshing out the details below to suit specific needs, and adding many more features of use in various application scenarios. Inquiries welcome. HTH SUB WEB.IO(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) OUTVAL = ERR = OPEN WEB.STATE TO WS ELSE ERR = Critical server error, missing WEB.STATE file RETURN END USER = FIELD(STATEINFO,CHAR(9),1) BEGIN CASE CASE OPERATION=GET PROMPT OUTVAL = Enter your name CASE OPERATION = SAVE NAME WRITE INVAL ON WS,WEB.IO.NAME_:USER OUTVAL = SAVED CASE OPERATION = GET RESPONSE READ USER.NAME FROM WS,WEB.IO.NAME_:USER OUTVAL = 'the user said his name was ':USER.NAME CALL OPERATION = SOMETHING COMPLEX CALL WEB.COMPLEX1(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) CASE 1 ERR = Invalid server operation requested END CASE RETURN Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET worldwide and provides related development services remove.pleaseNebula-RnD.com/blog Visit PickWiki.com! Contribute! http://Twitter.com/TonyGravagno ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question
Doug if you need to satisfy an input, you have to write a wrapper that takes the subroutine inputs and converts them into DATA statements, then you call your program with the INPUTS. David A. Green (480) 813-1725 DAG Consulting -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Chanco Sent: Monday, August 08, 2011 6:57 AM To: U2 Users List Subject: Re: [U2] uniobjects question I totally agree with your response but what me and the java developer are discussing is if it's even possible (I say nay) I will write a java program to test but I was hoping with the vast sea of knowledge on this group that someone would know, if it was possible or not Yes it should never be done and yes your standards are spot on. This is just a I wonder if this is possible question Dougc email signature There are 10 kinds of people in the world, those that know binary and those that do not. On Aug 6, 2011, at 17:45, Tony Gravagno 3xk547...@sneakemail.com wrote: I thought this coding paradigm was already universally accepted (pun intended). The code below exemplifies a number of techniques for processing remote requests. Specifically: - Never CRT or INPUT. - Never STOP on error, always return - Standardize the subroutine input signature so that all subs look alike to clients, and allow for values that accommodate almost every need. - Modularize every request. In the code below the response could be passed back with the save, but that may not fit the needs. - Return a response for all requests, whether data in OUTVAL or a non-null ERRor value. - Clients need to pass in some sort of state to identify them. Read user state on entry and write it back when you're done. If you're running multiple processes, Common can't be used to maintain state between user sessions. - INVAL and OUTVAL below are used for data. If either value is a full record then MISC can be used for the key or other metadata. - You don't need more than one subroutine as the entry point for an entire application. Below, WEB.IO is the one and only sub ever called by clients. This facilitates and localizes logging, security, and environment setup. - A single entry point can still pass requests for more complex functions to other subs. - Establish a firm protocol between client developers and MV BASIC developers where every Operation is defined and handled. The details below are irrelevant, but I've used this fundamental design principle for the last decade and it works perfectly for every client technology, every MV platform, and every application Every product in the industry that I've seen does exactly the same thing. Emulate success. A major part of my business revolves around writing interfaces like this, fleshing out the details below to suit specific needs, and adding many more features of use in various application scenarios. Inquiries welcome. HTH SUB WEB.IO(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) OUTVAL = ERR = OPEN WEB.STATE TO WS ELSE ERR = Critical server error, missing WEB.STATE file RETURN END USER = FIELD(STATEINFO,CHAR(9),1) BEGIN CASE CASE OPERATION=GET PROMPT OUTVAL = Enter your name CASE OPERATION = SAVE NAME WRITE INVAL ON WS,WEB.IO.NAME_:USER OUTVAL = SAVED CASE OPERATION = GET RESPONSE READ USER.NAME FROM WS,WEB.IO.NAME_:USER OUTVAL = 'the user said his name was ':USER.NAME CALL OPERATION = SOMETHING COMPLEX CALL WEB.COMPLEX1(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) CASE 1 ERR = Invalid server operation requested END CASE RETURN Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET worldwide and provides related development services remove.pleaseNebula-RnD.com/blog Visit PickWiki.com! Contribute! http://Twitter.com/TonyGravagno ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question
It isn't possible, the api_slave process will crash, probably leaving an screwed uvcs process, licencing will take a while to catch up so you will be using licences, if you are using pools, then it may cause problems up at the webserver level, and you can get in a right old mess. It is just the same with a phantom, as soon as it sees an input and there is no buffer, it dies. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Chanco Sent: 08 August 2011 14:57 To: U2 Users List Subject: Re: [U2] uniobjects question I totally agree with your response but what me and the java developer are discussing is if it's even possible (I say nay) I will write a java program to test but I was hoping with the vast sea of knowledge on this group that someone would know, if it was possible or not Yes it should never be done and yes your standards are spot on. This is just a I wonder if this is possible question Dougc email signature There are 10 kinds of people in the world, those that know binary and those that do not. On Aug 6, 2011, at 17:45, Tony Gravagno 3xk547...@sneakemail.com wrote: I thought this coding paradigm was already universally accepted (pun intended). The code below exemplifies a number of techniques for processing remote requests. Specifically: - Never CRT or INPUT. - Never STOP on error, always return - Standardize the subroutine input signature so that all subs look alike to clients, and allow for values that accommodate almost every need. - Modularize every request. In the code below the response could be passed back with the save, but that may not fit the needs. - Return a response for all requests, whether data in OUTVAL or a non-null ERRor value. - Clients need to pass in some sort of state to identify them. Read user state on entry and write it back when you're done. If you're running multiple processes, Common can't be used to maintain state between user sessions. - INVAL and OUTVAL below are used for data. If either value is a full record then MISC can be used for the key or other metadata. - You don't need more than one subroutine as the entry point for an entire application. Below, WEB.IO is the one and only sub ever called by clients. This facilitates and localizes logging, security, and environment setup. - A single entry point can still pass requests for more complex functions to other subs. - Establish a firm protocol between client developers and MV BASIC developers where every Operation is defined and handled. The details below are irrelevant, but I've used this fundamental design principle for the last decade and it works perfectly for every client technology, every MV platform, and every application Every product in the industry that I've seen does exactly the same thing. Emulate success. A major part of my business revolves around writing interfaces like this, fleshing out the details below to suit specific needs, and adding many more features of use in various application scenarios. Inquiries welcome. HTH SUB WEB.IO(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) OUTVAL = ERR = OPEN WEB.STATE TO WS ELSE ERR = Critical server error, missing WEB.STATE file RETURN END USER = FIELD(STATEINFO,CHAR(9),1) BEGIN CASE CASE OPERATION=GET PROMPT OUTVAL = Enter your name CASE OPERATION = SAVE NAME WRITE INVAL ON WS,WEB.IO.NAME_:USER OUTVAL = SAVED CASE OPERATION = GET RESPONSE READ USER.NAME FROM WS,WEB.IO.NAME_:USER OUTVAL = 'the user said his name was ':USER.NAME CALL OPERATION = SOMETHING COMPLEX CALL WEB.COMPLEX1(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) CASE 1 ERR = Invalid server operation requested END CASE RETURN Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET worldwide and provides related development services remove.pleaseNebula-RnD.com/blog Visit PickWiki.com! Contribute! http://Twitter.com/TonyGravagno ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1391 / Virus Database: 1520/3820 - Release Date: 08/07/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question
On windows it leaves an errant uvapi_slave process that you have to kill manually. It doesn't go away on its own from my experience. Debugs in programs do the same thing. I usually find them because they consume a license. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Symeon Breen Sent: Monday, August 08, 2011 3:20 PM To: 'U2 Users List' Subject: Re: [U2] uniobjects question It isn't possible, the api_slave process will crash, probably leaving an screwed uvcs process, licencing will take a while to catch up so you will be using licences, if you are using pools, then it may cause problems up at the webserver level, and you can get in a right old mess. It is just the same with a phantom, as soon as it sees an input and there is no buffer, it dies. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Chanco Sent: 08 August 2011 14:57 To: U2 Users List Subject: Re: [U2] uniobjects question I totally agree with your response but what me and the java developer are discussing is if it's even possible (I say nay) I will write a java program to test but I was hoping with the vast sea of knowledge on this group that someone would know, if it was possible or not Yes it should never be done and yes your standards are spot on. This is just a I wonder if this is possible question Dougc email signature There are 10 kinds of people in the world, those that know binary and those that do not. On Aug 6, 2011, at 17:45, Tony Gravagno 3xk547...@sneakemail.com wrote: I thought this coding paradigm was already universally accepted (pun intended). The code below exemplifies a number of techniques for processing remote requests. Specifically: - Never CRT or INPUT. - Never STOP on error, always return - Standardize the subroutine input signature so that all subs look alike to clients, and allow for values that accommodate almost every need. - Modularize every request. In the code below the response could be passed back with the save, but that may not fit the needs. - Return a response for all requests, whether data in OUTVAL or a non-null ERRor value. - Clients need to pass in some sort of state to identify them. Read user state on entry and write it back when you're done. If you're running multiple processes, Common can't be used to maintain state between user sessions. - INVAL and OUTVAL below are used for data. If either value is a full record then MISC can be used for the key or other metadata. - You don't need more than one subroutine as the entry point for an entire application. Below, WEB.IO is the one and only sub ever called by clients. This facilitates and localizes logging, security, and environment setup. - A single entry point can still pass requests for more complex functions to other subs. - Establish a firm protocol between client developers and MV BASIC developers where every Operation is defined and handled. The details below are irrelevant, but I've used this fundamental design principle for the last decade and it works perfectly for every client technology, every MV platform, and every application Every product in the industry that I've seen does exactly the same thing. Emulate success. A major part of my business revolves around writing interfaces like this, fleshing out the details below to suit specific needs, and adding many more features of use in various application scenarios. Inquiries welcome. HTH SUB WEB.IO(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) OUTVAL = ERR = OPEN WEB.STATE TO WS ELSE ERR = Critical server error, missing WEB.STATE file RETURN END USER = FIELD(STATEINFO,CHAR(9),1) BEGIN CASE CASE OPERATION=GET PROMPT OUTVAL = Enter your name CASE OPERATION = SAVE NAME WRITE INVAL ON WS,WEB.IO.NAME_:USER OUTVAL = SAVED CASE OPERATION = GET RESPONSE READ USER.NAME FROM WS,WEB.IO.NAME_:USER OUTVAL = 'the user said his name was ':USER.NAME CALL OPERATION = SOMETHING COMPLEX CALL WEB.COMPLEX1(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) CASE 1 ERR = Invalid server operation requested END CASE RETURN Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET worldwide and provides related development services remove.pleaseNebula-RnD.com/blog Visit PickWiki.com! Contribute! http://Twitter.com/TonyGravagno ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1391 / Virus Database
Re: [U2] uniobjects question
Doug, as confirmed by the experience of others, and confirming your own suspicion, we can say with certainty it's not possible to have a functional app where CRT and INPUT are encountered by UO. The only way to use traditional code like that is to skip UO and to use a telnet or SSH client from your language of choice, feeding input to the server, waiting for a response, and parsing the output. That mechanism works fine until something unexpected comes up. Then you need some supporting handlers around your code to recover from the error, avoid keeping the process and license locked, restart a new process, log the event, etc. This is screen scraping, and while there are some fine solutions that do this, they are generally shunned for heavy processing in favor of less volatile solutions. In summary, do you see the two big glowing eyes peering back at you from deep inside of that dark cave? You know better than to go in there, right? :) HTH T From: Doug Chanco I totally agree with your response but what me and the java developer are discussing is if it's even possible (I say nay) I will write a java program to test but I was hoping with the vast sea of knowledge on this group that someone would know, if it was possible or not Yes it should never be done and yes your standards are spot on. This is just a I wonder if this is possible question Dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question
I have done it Doug, but with the command processor not the subroutine call. I would run the program in the command and receive a string which I would interpret as either a result or a request for information, which I would then respond accordingly. It works but is cumbersome. There is also an issue of timeouts where the connection would drop out after 6 minutes of no response. Creating subroutine calls are a better way to go with no prompts within the program. David Jordan ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question [AD]
[AD]While it may be impossible with UO, FusionWare's Direct Data Access Server supports a mechanism called EXEC TCL in which you can call any program that can be run from TCL, and pass it inputs, like a PROC or a CGI program. If you miss an input, things will get kind of stuck, but if you know your inputs, it works like a dream. We have customers who have been using it quite happily for a number of years. You can access this functionality from Java, OLE DB and Managed .NET (ADO.NET) clients. We give some very simplistic examples here: http://www.fwic.net/Resources/FusionWareIntegrationBlogs/tabid/116/EntryId/55/Other-Ways-to-Access-Our-MultiValue-SALESORDER-Data.aspx -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Tony Gravagno Sent: Monday, August 08, 2011 4:39 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] uniobjects question Doug, as confirmed by the experience of others, and confirming your own suspicion, we can say with certainty it's not possible to have a functional app where CRT and INPUT are encountered by UO. The only way to use traditional code like that is to skip UO and to use a telnet or SSH client from your language of choice, feeding input to the server, waiting for a response, and parsing the output. That mechanism works fine until something unexpected comes up. Then you need some supporting handlers around your code to recover from the error, avoid keeping the process and license locked, restart a new process, log the event, etc. This is screen scraping, and while there are some fine solutions that do this, they are generally shunned for heavy processing in favor of less volatile solutions. In summary, do you see the two big glowing eyes peering back at you from deep inside of that dark cave? You know better than to go in there, right? :) HTH T From: Doug Chanco I totally agree with your response but what me and the java developer are discussing is if it's even possible (I say nay) I will write a java program to test but I was hoping with the vast sea of knowledge on this group that someone would know, if it was possible or not Yes it should never be done and yes your standards are spot on. This is just a I wonder if this is possible question Dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question
I thought this coding paradigm was already universally accepted (pun intended). The code below exemplifies a number of techniques for processing remote requests. Specifically: - Never CRT or INPUT. - Never STOP on error, always return - Standardize the subroutine input signature so that all subs look alike to clients, and allow for values that accommodate almost every need. - Modularize every request. In the code below the response could be passed back with the save, but that may not fit the needs. - Return a response for all requests, whether data in OUTVAL or a non-null ERRor value. - Clients need to pass in some sort of state to identify them. Read user state on entry and write it back when you're done. If you're running multiple processes, Common can't be used to maintain state between user sessions. - INVAL and OUTVAL below are used for data. If either value is a full record then MISC can be used for the key or other metadata. - You don't need more than one subroutine as the entry point for an entire application. Below, WEB.IO is the one and only sub ever called by clients. This facilitates and localizes logging, security, and environment setup. - A single entry point can still pass requests for more complex functions to other subs. - Establish a firm protocol between client developers and MV BASIC developers where every Operation is defined and handled. The details below are irrelevant, but I've used this fundamental design principle for the last decade and it works perfectly for every client technology, every MV platform, and every application Every product in the industry that I've seen does exactly the same thing. Emulate success. A major part of my business revolves around writing interfaces like this, fleshing out the details below to suit specific needs, and adding many more features of use in various application scenarios. Inquiries welcome. HTH SUB WEB.IO(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) OUTVAL = ERR = OPEN WEB.STATE TO WS ELSE ERR = Critical server error, missing WEB.STATE file RETURN END USER = FIELD(STATEINFO,CHAR(9),1) BEGIN CASE CASE OPERATION=GET PROMPT OUTVAL = Enter your name CASE OPERATION = SAVE NAME WRITE INVAL ON WS,WEB.IO.NAME_:USER OUTVAL = SAVED CASE OPERATION = GET RESPONSE READ USER.NAME FROM WS,WEB.IO.NAME_:USER OUTVAL = 'the user said his name was ':USER.NAME CALL OPERATION = SOMETHING COMPLEX CALL WEB.COMPLEX1(OPERATION,INVAL,OUTVAL,MISC,STATEINFO,ERR) CASE 1 ERR = Invalid server operation requested END CASE RETURN Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET worldwide and provides related development services remove.pleaseNebula-RnD.com/blog Visit PickWiki.com! Contribute! http://Twitter.com/TonyGravagno ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] uniobjects question
Today I had an interesting discussion with a java developer about uniobjects and while I am going to run a test for myself I thought I would throw out my question to see what others know about this. The question is can you write a java or .net application that can call a subroutine (via uniobjects) that prompts a user for input and somehow have the have the front end process (java, .net, php or something else your choice) somehow send/feed it a response and get data back? for example (silly I know) SUBROUTINE GET.NAME(UNAME) PRINT @(-1) PRINT 'Enter your name: ': INPUT USER.NAME UNAME = 'the user said his name was ':USER.NAME RETURN ok so maybe the @(-1) is not really needed but you get the idea …… now can I call this subroutine via uniobjects and send it doug and get back the user said his name was doug my thinking is that the uniobjects session will time out waiting for the subroutine to return, I'll do a test this week-end but I would be very interested in seeing others thoughts on this and no inter call or other solution, this is strictly a uniobjects exercise thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] uniobjects question
This has been a problem with UniObjects from the beginning. When you are performing a subroutine which hits an INPUT, it just never comes back. You have to be doing an execute, which picks up everything put out with CRT etc and waits for input. On filling the input, it continues. Desired behaviour. It was quite easy to write 3 UV programs, using COMMON. Write a UVO subroutine to call a UV subroutine to store subroutine name, number of variables, and the variable values. This does so little that it has virtually no chance of not succeeding, so should come back. Then an execute of a UV program to call the subroutine using the stored data, and storing the results. Then execue a subroutine to get the results back. We have special functions to signal the UVO with what we want it to do in the inputs during execution of the subroutine. We use Char(127) as delimiter for operation code, then whatever is required after it, depending on the operation. This is useful for asking a question, showing counts, showing progress messages, etc. HTH, Kate -- Kate Stanton Walstan Systems Ltd 4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand Phone: + 64 9 360 5310 Mobile: + 64 21 400 486 Email: k...@walstan.com On 6 August 2011 13:50, douglas chanco d...@chancofamily.com wrote: Today I had an interesting discussion with a java developer about uniobjects and while I am going to run a test for myself I thought I would throw out my question to see what others know about this. The question is can you write a java or .net application that can call a subroutine (via uniobjects) that prompts a user for input and somehow have the have the front end process (java, .net, php or something else your choice) somehow send/feed it a response and get data back? for example (silly I know) SUBROUTINE GET.NAME(UNAME) PRINT @(-1) PRINT 'Enter your name: ': INPUT USER.NAME UNAME = 'the user said his name was ':USER.NAME RETURN ok so maybe the @(-1) is not really needed but you get the idea …… now can I call this subroutine via uniobjects and send it doug and get back the user said his name was doug my thinking is that the uniobjects session will time out waiting for the subroutine to return, I'll do a test this week-end but I would be very interested in seeing others thoughts on this and no inter call or other solution, this is strictly a uniobjects exercise thanks dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Uniobjects UOEncoding
Hi I have some utf8 encoded data in my unidata databse, and i want to display it on a web page using uniobjects.net. The data is coming through as iso-8859-1 encoded, so i use the UOEncoding as UniSession udSesh =UniObjects(xxx, yyy, zzz,aaa, udcs); Encoding en=Encoding.UTF8; udSesh.UOEncoding=en; however I get null data returned in by unisubroutine call. The unibasic sub is called on the ud server but the data is lost somewhere. Anything else i need to do ?? Rgds Symeon. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
Kevin, when it takes about a couple of seconds just to spool up the connector and make that first connection I haven't noticed that with the Undiata as much as I have with remote mySql connections. I typically load the HTML and then make many, short connections. The initial connection might be appear to be part of the page loading. The performance is good on the web applications that use UOJ. The UOJ libraries are on the same server as the PHP code. I prefer using the JavaBridge in Zend Server because of the management interface and PHP optimization. The SourceForge project works well also. Now that's been my experience. Keep in mind that I am working in an intranet. Our servers don't have to handle more than 100 people. I don't know how it would perform under heavier loads. As to the PDO connector, I looked into the PDO, but it was a while back. It didn't seem to be ready. Charles Shaffer Senior Analyst NTN-Bower Corporation Kevin King precisonl...@gmail.com Sent by: u2-users-boun...@listserver.u2ug.org 05/21/2011 05:50 PM Please respond to U2 Users List To: U2 Users List u2-users@listserver.u2ug.org cc: Subject:Re: [U2] Uniobjects - What Is It? Charles, how is the performance using the Java bridge? That's my #1 concern about UO right now (and UOJ by association) - when it takes about a couple of seconds just to spool up the connector and make that first connection, it's something to be questioned. After the connection is established it's remarkably fast, but the speed of making that connection is not as fast as I personally would prefer. As to the PDO connector, I did actually look into it. Even with source code I couldn't find the magic combination of things to make it work across platforms. That was a few years ago, and my available time these days is significantly less, as I'm just too busy dreaming up hodge podge schemes! :-) -K ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
For heavier loads it becomes unworkable - you have to use connection pooling and take the cost that that brings. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: 23 May 2011 14:17 To: U2 Users List Cc: U2 Users List; u2-users-boun...@listserver.u2ug.org Subject: Re: [U2] Uniobjects - What Is It? Kevin, when it takes about a couple of seconds just to spool up the connector and make that first connection I haven't noticed that with the Undiata as much as I have with remote mySql connections. I typically load the HTML and then make many, short connections. The initial connection might be appear to be part of the page loading. The performance is good on the web applications that use UOJ. The UOJ libraries are on the same server as the PHP code. I prefer using the JavaBridge in Zend Server because of the management interface and PHP optimization. The SourceForge project works well also. Now that's been my experience. Keep in mind that I am working in an intranet. Our servers don't have to handle more than 100 people. I don't know how it would perform under heavier loads. As to the PDO connector, I looked into the PDO, but it was a while back. It didn't seem to be ready. Charles Shaffer Senior Analyst NTN-Bower Corporation Kevin King precisonl...@gmail.com Sent by: u2-users-boun...@listserver.u2ug.org 05/21/2011 05:50 PM Please respond to U2 Users List To: U2 Users List u2-users@listserver.u2ug.org cc: Subject:Re: [U2] Uniobjects - What Is It? Charles, how is the performance using the Java bridge? That's my #1 concern about UO right now (and UOJ by association) - when it takes about a couple of seconds just to spool up the connector and make that first connection, it's something to be questioned. After the connection is established it's remarkably fast, but the speed of making that connection is not as fast as I personally would prefer. As to the PDO connector, I did actually look into it. Even with source code I couldn't find the magic combination of things to make it work across platforms. That was a few years ago, and my available time these days is significantly less, as I'm just too busy dreaming up hodge podge schemes! :-) -K ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1375 / Virus Database: 1509/3654 - Release Date: 05/22/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
Kevin, At the time I set this up here, there was no PDO for U2 in PHP, so I looked into the UOJ libraries. Using them requires a bridge. There is a SourceForge project that works well. I am currently using Zend Server CE. No cost and it does the job, in fact it optimizes the PHP code. I build a Java class for each project and include it in a java archive that I put in the same directory as the UOJ includes. The java object uses Uniobjects for Java to access Unidata. Although, Uniobjects has a rich command set, I have come to the conclusion that the Java layer should be minimized as much as possible. I just use the java to run UniBasic subroutines. It passes in the parameters and returns the result. This is partly to reduce traffic, but mostly because I want to push the database logic to the database. It would be better if there was a PDO for U2, but this approach works. Here is a example. In the javascript function make a request object call to PHP on the webserver var XHR = GetXHR(); var urlstr = getNextId.php; urlstr += ?sid= + Math.random(); XHR.onreadystatechange = function() { if(XHR.readyState === 4) { // Process the results in XHR.responseText } }; XHR.open(GET,urlstr,true); XHR.send(null); return; * In PHP create an object from the java archive for the project and call the java function. Must be cataloged. $cnU2 = new Java('com.ntnbower.webutil.u2ProjectName'); $cnU2-setAccount(PRODUCTION); echo $cnU2-getNextId(); // This is returned to javascript as reponseText return; * In java public String getNextId() { OpenU2Session(); UniSubroutine uSub = uSession.subroutine(getNextId, 1); uSub.call(); return uSub.getArg(0); } ** In UniBasic. Get the requested data and return it in RESULT SUBROUTINE getNextId(RESULT) OPEN 'FILENAME' TO F.NSH THEN READU R.NSH FROM F.NSH, 'NEXT_ID' THEN RESULT = R.NSH1 R.NSH1 += 1 WRITE R.NSH TO F.NSH, 'NEXT_ID' END CLOSE F.NSH END ELSE RESULT = -1 END END RETURN Charles Shaffer Senior Analyst NTN-Bower Corporation Kevin King precisonl...@gmail.com Sent by: u2-users-boun...@listserver.u2ug.org 05/19/2011 11:26 PM Please respond to U2 Users List To: U2 Users List u2-users@listserver.u2ug.org cc: Subject:Re: [U2] Uniobjects - What Is It? I'm interested to know more about how folks are using UOJ with PHP. I've tried making that connection numerous times but .. just haven't been successful yet. Big fan of PHP but using the UO connection on Windows is ... less than optimal for my needs. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
[ad] We built a middle-ware connection using open source JavaPHP bridge after seeing Kevin do this hodge podge connection scheme using a COM UniObject at a CMUG meeting in Denver in 2009. Our middle-ware software is called U2WebLink and it manages the connections with Unidata or Universe using Apache Tomcat. U2WebLink comes with logging and monitor software to figure out what you web site is doing using graphs and user displayed grids. You need this line of code to start: ?php require_once(java/Java.inc); Then you need to connect to Tomcat server: $javasession = java_session(); $request = java_context()-getHttpServletRequest(); $requestedsessionid = $request-getRequestedSessionId(); $requestsession = $request-getSession(); $requestsessionid = java_values($requestsession-getId()); ? Register your session with U2WebLink™ using our java function XLr8SharedSub: ?php $sharedsub = java_values($requestsession-getAttribute(XLr8SharedSub)); ? To call any of your previously developed UniBasic subroutines: $args = $sharedsub-getArrayListForSubroutineArgs(); $args-add(param1); $args-add(param2); $args-add(param3); $results = $sharedsub-subroutine($request, 0, MySubroutine, $args); $retargs = print_r(java_values($args), true); Regards, Doug www.u2logic.com/php.html [/ad] ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [AD] - U2] Uniobjects - What Is It?
In a message dated 5/20/2011 7:04:01 AM Pacific Daylight Time, dave...@gmail.com writes: [ad] We built a middle-ware connection using open source JavaPHP bridge after seeing Kevin do this hodge podge connection scheme using a COM UniObject at a CMUG meeting in Denver in 2009. Our middle-ware software is called U2WebLink and it manages the connections with Unidata or Universe using Apache Tomcat. U2WebLink comes with logging and monitor software to figure out what you web site is doing using graphs and user displayed grids. You'd might as well tell us how much. So how much? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
In a message dated 5/19/2011 9:43:16 PM Pacific Daylight Time, dmc...@imb.com.au writes: Have you seen the PHP PDO driver article on u2devzone.com? Although it is a 'build it yourself article', it does come with the source code so you should be able to just compile and use it. Head + Wall + Beating ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [AD] - U2] Uniobjects - What Is It?
U2WebLink includes our JavaScript and UniBasic API software for Universe or Unidata with the PHP connection at the price $750.00 per connection per year. UniObjects for Java is the mechanism for communicating with the databases. One connection can handle between 5 and 20 users depending on the application.. At $150.00 to $37.50 per user this is very economical and robust software. Regards, Doug www.u2logic.com First with Eclipsed based tools for U2 On Fri, May 20, 2011 at 9:29 AM, fft2...@aol.com wrote: In a message dated 5/20/2011 7:04:01 AM Pacific Daylight Time, dave...@gmail.com writes: [ad] We built a middle-ware connection using open source JavaPHP bridge after seeing Kevin do this hodge podge connection scheme using a COM UniObject at a CMUG meeting in Denver in 2009. Our middle-ware software is called U2WebLink and it manages the connections with Unidata or Universe using Apache Tomcat. U2WebLink comes with logging and monitor software to figure out what you web site is doing using graphs and user displayed grids. You'd might as well tell us how much. So how much? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Uniobjects on Linux
Any thoughts as to what to check to fix this, I used to be able to connect from the P.C. but not now, I can connect using UniAdmin but not other programmes, the following vbs code gives error 39207 when trying to connect : Dim UV If DoConnection() = False Then Msgbox Could not connect Else Msgbox Connected to server ReadFromVOC ShowTTY DoSelect End If Function DoConnection() Dim HostName Dim UserName Dim AccountPath Dim Password'= ' Set the host name, user name and account path to your system ' Set IsUniData to True or False ' NOTE That the password is echoed back as plain text. '= HostName = UserName = AccountPath = Password = InputBox(Password for UserName onHostName) IsUniData = True If CreateSession() = False Then Msgbox Could not create session DoConnection = False Exit Function End IfUV.HostName = HostName UV.UserName = UserName UV.AccountPath = AccountPath UV.Password = Password If IsUniData Then UV.DatabaseType = 2 'Else 'UV.DatabaseType = 1 End IfUV.Connect If UV.Error False Then Msgbox Error returned from connect =UV.Error DoConnection = False Exit Function Else DoConnection = True End If End Function Function CreateSession() On Error Resume Next Err = False CreateSession = True ' Msgbox Trying UniObjects Unioaif name Set UV = CreateObject(UniObjects.UnioaifCtrl.1) If (Err False) Or (UV Is Nothing) Then 'Msgbox Trying UniObjects name Err = False Set UV = CreateObjects(uniobjects.session.1) If (Err False) Or (UV Is Nothing) Then ' Msgbox Trying uv Objects nameErr = False Set UV = CreateObject(universe.session.1) If (Err False) Or (UV Is Nothing) Then CreateSession = False End If End If End If End Function Sub DoSelect uv.Command.Text = SELECT VOC uv.Command.Exec Msgbox uv.GetAtVariable(8) End Sub Sub ReadFromVOC Dim VOCSet VOC = uv.OpenFile(VOC) VOC.RecordId = LIST VOC.Read Msgbox VOC.Record End Sub Sub ShowTty uv.Command.Text = WHO uv.Command.Exec Msgbox uv.Command.Response End SUb RegardsJonathan Leckie ** * This message has been scanned for viruses and dangerous content * and is believed to be clean. * * This email and any files transmitted with it are confidential and * intended solely for the use of the individual or entity to whom they * are addressed. * * If you have received this email in error please notify us at Blairs, * details can be found on our website http://www.blairswindows.co.uk * * Name Registered Office: * * Blairs Windows Limited * Registered office : 9 Baker Street, Greenock, PA15 4TU * Company No: SC393935, V.A.T. registration No: 108729111 ** ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects on Linux
You set IsUnidata to True, was that intentional? On Thu, May 19, 2011 at 3:10 AM, Jonathan Leckie jonathan.lec...@blairswindows.co.uk wrote: Any thoughts as to what to check to fix this, I used to be able to connect from the P.C. but not now, I can connect using UniAdmin but not other programmes, the following vbs code gives error 39207 when trying to connect : Dim UV If DoConnection() = False Then Msgbox Could not connect Else Msgbox Connected to server ReadFromVOC ShowTTY DoSelect End If Function DoConnection() Dim HostName Dim UserName Dim AccountPath Dim Password '= ' Set the host name, user name and account path to your system ' Set IsUniData to True or False ' NOTE That the password is echoed back as plain text. '= HostName = UserName = AccountPath = Password = InputBox(Password for UserName on HostName) IsUniData = True If CreateSession() = False Then Msgbox Could not create session DoConnection = False Exit Function End If UV.HostName = HostName UV.UserName = UserName UV.AccountPath = AccountPath UV.Password = Password If IsUniData Then UV.DatabaseType = 2 'Else 'UV.DatabaseType = 1 End If UV.Connect If UV.Error False Then Msgbox Error returned from connect = UV.Error DoConnection = False Exit Function Else DoConnection = True End If End Function Function CreateSession() On Error Resume Next Err = False CreateSession = True ' Msgbox Trying UniObjects Unioaif name Set UV = CreateObject(UniObjects.UnioaifCtrl.1) If (Err False) Or (UV Is Nothing) Then ' Msgbox Trying UniObjects name Err = False Set UV = CreateObjects(uniobjects.session.1) If (Err False) Or (UV Is Nothing) Then ' Msgbox Trying uv Objects name Err = False Set UV = CreateObject(universe.session.1) If (Err False) Or (UV Is Nothing) Then CreateSession = False End If End If End If End Function Sub DoSelect uv.Command.Text = SELECT VOC uv.Command.Exec Msgbox uv.GetAtVariable(8) End Sub Sub ReadFromVOC Dim VOC Set VOC = uv.OpenFile(VOC) VOC.RecordId = LIST VOC.Read Msgbox VOC.Record End Sub Sub ShowTty uv.Command.Text = WHO uv.Command.Exec Msgbox uv.Command.Response End SUb RegardsJonathan Leckie ** * This message has been scanned for viruses and dangerous content * and is believed to be clean. * * This email and any files transmitted with it are confidential and * intended solely for the use of the individual or entity to whom they * are addressed. * * If you have received this email in error please notify us at Blairs, * details can be found on our website http://www.blairswindows.co.uk * * Name Registered Office: * * Blairs Windows Limited * Registered office : 9 Baker Street, Greenock, PA15 4TU * Company No: SC393935, V.A.T. registration No: 108729111 ** ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects on Linux
It is a Unidata system, (version 6.1), should it not be set to true? -Original Message- From: Steve Romanow [mailto:slestak...@gmail.com] Sent: 19 May 2011 11:35 am To: Jonathan Leckie; U2 Users List Subject: Re: [U2] Uniobjects on Linux You set IsUnidata to True, was that intentional? On Thu, May 19, 2011 at 3:10 AM, Jonathan Leckie jonathan.lec...@blairswindows.co.uk wrote: Any thoughts as to what to check to fix this, I used to be able to connect from the P.C. but not now, I can connect using UniAdmin but not other programmes, the following vbs code gives error 39207 when trying to connect : Dim UV If DoConnection() = False Then Msgbox Could not connect Else Msgbox Connected to server ReadFromVOC ShowTTY DoSelect End If Function DoConnection() Dim HostName Dim UserName Dim AccountPath Dim Password'= ' Set the host name, user name and account path to your system ' Set IsUniData to True or False ' NOTE That the password is echoed back as plain text. '= HostName = UserName = AccountPath = Password = InputBox(Password for UserName onHostName) IsUniData = True If CreateSession() = False Then Msgbox Could not create session DoConnection = False Exit Function End IfUV.HostName = HostName UV.UserName = UserName UV.AccountPath = AccountPath UV.Password = Password If IsUniData Then UV.DatabaseType = 2 'Else 'UV.DatabaseType = 1 End IfUV.Connect If UV.Error False Then Msgbox Error returned from connect =UV.Error DoConnection = False Exit Function Else DoConnection = True End If End Function Function CreateSession() On Error Resume Next Err = False CreateSession = True ' Msgbox Trying UniObjects Unioaif name Set UV = CreateObject(UniObjects.UnioaifCtrl.1) If (Err False) Or (UV Is Nothing) Then 'Msgbox Trying UniObjects name Err = False Set UV = CreateObjects(uniobjects.session.1) If (Err False) Or (UV Is Nothing) Then ' Msgbox Trying uv Objects nameErr = False Set UV = CreateObject(universe.session.1) If (Err False) Or (UV Is Nothing) Then CreateSession = False End If End If End If End Function Sub DoSelect uv.Command.Text = SELECT VOC uv.Command.Exec Msgbox uv.GetAtVariable(8) End Sub Sub ReadFromVOC Dim VOCSet VOC = uv.OpenFile(VOC) VOC.RecordId = LIST VOC.Read Msgbox VOC.Record End Sub Sub ShowTty uv.Command.Text = WHO uv.Command.Exec Msgbox uv.Command.Response End SUb RegardsJonathan Leckie ** * This message has been scanned for viruses and dangerous content * and is believed to be clean. * * This email and any files transmitted with it are confidential and * intended solely for the use of the individual or entity to whom they * are addressed. * * If you have received this email in error please notify us at Blairs, * details can be found on our website http://www.blairswindows.co.uk * * Name Registered Office: * * Blairs Windows Limited * Registered office : 9 Baker Street, Greenock, PA15 4TU * Company No: SC393935, V.A.T. registration No: 108729111 ** ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ** * This message has been scanned for viruses and dangerous content * and is believed to be clean. * * This email and any files transmitted with it are confidential and * intended solely for the use of the individual or entity to whom they * are addressed. * * If you have received this email in error please notify us at Blairs, * details can be found on our website http://www.blairswindows.co.uk * * Name Registered Office: * * Blairs Windows Limited * Registered office : 9 Baker Street, Greenock, PA15 4TU * Company No: SC393935, V.A.T. registration No: 108729111 ** ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Uniobjects - What Is It?
I have been in the PICK world for decades and have worked with several interfaces. Green screen, SB, BlackSmith and Redback/web are my biggest areas of expertise. I have simply never worked with anything else because these are the tools at the places I have worked. I am embarrassed to ask, but need to do so. What are UniObjects? Other than what I mentioned above, what other technologies are out there are rock solid? Where can I go to get an get your feet wet intro? If our business is doing fine without them, why would I want to use them? What can I do with them? We are a SB Redback/web shop. What benefit would there be to my company to have me learn these other technologies? I am not saying that we don't want any of these technologies, but if we don't even know what it is or are aware of what it can do, we will never look to it for a solution. I understand that this is a VERY broad question, but if I don't start asking, I will never learn. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
Uniobjects is a C module that has been wrapped and packaged for java, vb, and .NET. PickWiki has several examples, as well as the rocket software docs. If you upgrade to the new WebDE you will be using uniobjects for communication (really deep down.) On Thu, May 19, 2011 at 8:37 AM, Israel, John R. johnisr...@daytonsuperior.com wrote: I have been in the PICK world for decades and have worked with several interfaces. Green screen, SB, BlackSmith and Redback/web are my biggest areas of expertise. I have simply never worked with anything else because these are the tools at the places I have worked. I am embarrassed to ask, but need to do so. What are UniObjects? Other than what I mentioned above, what other technologies are out there are rock solid? Where can I go to get an get your feet wet intro? If our business is doing fine without them, why would I want to use them? What can I do with them? We are a SB Redback/web shop. What benefit would there be to my company to have me learn these other technologies? I am not saying that we don't want any of these technologies, but if we don't even know what it is or are aware of what it can do, we will never look to it for a solution. I understand that this is a VERY broad question, but if I don't start asking, I will never learn. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
My understanding is somewhat limited, and like yourself, I have only ever learned what I had the time to do, or what was required at my job. Recently though, I have been putting effort into branching out. That being said... My understanding of UniObjects is that it is a connector into Universe or Unidata. You have to have a windows machine as the go between. So for example, if you wanted to use some .NET language or C#, or PHP, or whatever to connect your Universe or Unidata database to a web form, etc., you could use UniObjects running on a Windows Server running IIS or Apache (a web server) that sits alongside your U2 database server. It doesn't have to be web apps I don't think... For example, some of the software offered as part of the Client CD you get from Rocket uses it to edit dictionaries, programs, etc. As far as other technologies that are out there... I am still pretty much a noobie myself, but, there are a ton out there that you can use to talk to Universe or Unidata. I know more about the Linux/AIX side of things than I do Windows, but, in most cases if you get to the point where you can make a programming language (PHP/Perl/Python, etc. etc.) launch a Universe or Unidata session, read in some data, and write some data back out, then you are a great deal of the way there (and of course security is always part of the design, in whatever you build). I currently have been having a lot of fun with the following scenario: Using Ubuntu Linux as a web server running Apache/PHP Sending http requests to the AIX server running Universe/Apache/PHP which then launches a Universe session to pick up the data and write it back out which then sends the result back to the Ubuntu web server. (JSON is used as the standard data interchange format) (JQuery is used to make the web forms pretty and work with data - not required really) (PHP is used to send the requests and also work with the data) Of course, like anything... in a production environment (which this is not currently in), you have to lock down your U2 machine to only receive requests from that Web Server, etc. I got the idea (and help) from another gentleman named Kevin King. I have been having a lot of fun with it. Like anything though, everybody has their tools that they like. The beauty of this in my opinion is that you can try it out for free, and if you don't like it, the only thing you have possibly wasted is some time. On Thu, May 19, 2011 at 8:42 AM, Steve Romanow slestak...@gmail.com wrote: Uniobjects is a C module that has been wrapped and packaged for java, vb, and .NET. PickWiki has several examples, as well as the rocket software docs. If you upgrade to the new WebDE you will be using uniobjects for communication (really deep down.) On Thu, May 19, 2011 at 8:37 AM, Israel, John R. johnisr...@daytonsuperior.com wrote: I have been in the PICK world for decades and have worked with several interfaces. Green screen, SB, BlackSmith and Redback/web are my biggest areas of expertise. I have simply never worked with anything else because these are the tools at the places I have worked. I am embarrassed to ask, but need to do so. What are UniObjects? Other than what I mentioned above, what other technologies are out there are rock solid? Where can I go to get an get your feet wet intro? If our business is doing fine without them, why would I want to use them? What can I do with them? We are a SB Redback/web shop. What benefit would there be to my company to have me learn these other technologies? I am not saying that we don't want any of these technologies, but if we don't even know what it is or are aware of what it can do, we will never look to it for a solution. I understand that this is a VERY broad question, but if I don't start asking, I will never learn. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
On 05/19/11 09:26, John Thompson wrote: My understanding of UniObjects is that it is a connector into Universe or Unidata. Yes, but: You have to have a windows machine as the go between. Not true - you can do this with *nix. So for example, if you wanted to use some .NET language or C#, or PHP, or whatever to connect your Universe or Unidata database to a web form, etc., you could use UniObjects running on a Windows Server running IIS or Apache (a web server) that sits alongside your U2 database server. It doesn't have to be web apps I don't think... For example, some of the software offered as part of the Client CD you get from Rocket uses it to edit dictionaries, programs, etc. As far as other technologies that are out there... I am still pretty much a noobie myself, but, there are a ton out there that you can use to talk to Universe or Unidata. I know more about the Linux/AIX side of things than I do Windows, but, in most cases if you get to the point where you can make a programming language (PHP/Perl/Python, etc. etc.) launch a Universe or Unidata session, read in some data, and write some data back out, then you are a great deal of the way there (and of course security is always part of the design, in whatever you build). I currently have been having a lot of fun with the following scenario: Using Ubuntu Linux as a web server running Apache/PHP Sending http requests to the AIX server running Universe/Apache/PHP which then launches a Universe session to pick up the data and write it back out which then sends the result back to the Ubuntu web server. (JSON is used as the standard data interchange format) (JQuery is used to make the web forms pretty and work with data - not required really) (PHP is used to send the requests and also work with the data) Of course, like anything... in a production environment (which this is not currently in), you have to lock down your U2 machine to only receive requests from that Web Server, etc. I got the idea (and help) from another gentleman named Kevin King. I have been having a lot of fun with it. Like anything though, everybody has their tools that they like. The beauty of this in my opinion is that you can try it out for free, and if you don't like it, the only thing you have possibly wasted is some time. On Thu, May 19, 2011 at 8:42 AM, Steve Romanowslestak...@gmail.com wrote: Uniobjects is a C module that has been wrapped and packaged for java, vb, and .NET. PickWiki has several examples, as well as the rocket software docs. If you upgrade to the new WebDE you will be using uniobjects for communication (really deep down.) On Thu, May 19, 2011 at 8:37 AM, Israel, John R. johnisr...@daytonsuperior.com wrote: I have been in the PICK world for decades and have worked with several interfaces. Green screen, SB, BlackSmith and Redback/web are my biggest areas of expertise. I have simply never worked with anything else because these are the tools at the places I have worked. I am embarrassed to ask, but need to do so. What are UniObjects? Other than what I mentioned above, what other technologies are out there are rock solid? Where can I go to get an get your feet wet intro? If our business is doing fine without them, why would I want to use them? What can I do with them? We are a SB Redback/web shop. What benefit would there be to my company to have me learn these other technologies? I am not saying that we don't want any of these technologies, but if we don't even know what it is or are aware of what it can do, we will never look to it for a solution. I understand that this is a VERY broad question, but if I don't start asking, I will never learn. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- Jeff Butera, Ph.D. Manager of ERP Systems Hampshire College jbut...@hampshire.edu 413-559-5556 ...we must choose between what is right and what is easy... Dumbledore ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
That is new news to me... Thanks for the info. On Thu, May 19, 2011 at 9:38 AM, Jeffrey Butera jbut...@hampshire.eduwrote: On 05/19/11 09:26, John Thompson wrote: My understanding of UniObjects is that it is a connector into Universe or Unidata. Yes, but: You have to have a windows machine as the go between. Not true - you can do this with *nix. So for example, if you wanted to use some .NET language or C#, or PHP, or whatever to connect your Universe or Unidata database to a web form, etc., you could use UniObjects running on a Windows Server running IIS or Apache (a web server) that sits alongside your U2 database server. It doesn't have to be web apps I don't think... For example, some of the software offered as part of the Client CD you get from Rocket uses it to edit dictionaries, programs, etc. As far as other technologies that are out there... I am still pretty much a noobie myself, but, there are a ton out there that you can use to talk to Universe or Unidata. I know more about the Linux/AIX side of things than I do Windows, but, in most cases if you get to the point where you can make a programming language (PHP/Perl/Python, etc. etc.) launch a Universe or Unidata session, read in some data, and write some data back out, then you are a great deal of the way there (and of course security is always part of the design, in whatever you build). I currently have been having a lot of fun with the following scenario: Using Ubuntu Linux as a web server running Apache/PHP Sending http requests to the AIX server running Universe/Apache/PHP which then launches a Universe session to pick up the data and write it back out which then sends the result back to the Ubuntu web server. (JSON is used as the standard data interchange format) (JQuery is used to make the web forms pretty and work with data - not required really) (PHP is used to send the requests and also work with the data) Of course, like anything... in a production environment (which this is not currently in), you have to lock down your U2 machine to only receive requests from that Web Server, etc. I got the idea (and help) from another gentleman named Kevin King. I have been having a lot of fun with it. Like anything though, everybody has their tools that they like. The beauty of this in my opinion is that you can try it out for free, and if you don't like it, the only thing you have possibly wasted is some time. On Thu, May 19, 2011 at 8:42 AM, Steve Romanowslestak...@gmail.com wrote: Uniobjects is a C module that has been wrapped and packaged for java, vb, and .NET. PickWiki has several examples, as well as the rocket software docs. If you upgrade to the new WebDE you will be using uniobjects for communication (really deep down.) On Thu, May 19, 2011 at 8:37 AM, Israel, John R. johnisr...@daytonsuperior.com wrote: I have been in the PICK world for decades and have worked with several interfaces. Green screen, SB, BlackSmith and Redback/web are my biggest areas of expertise. I have simply never worked with anything else because these are the tools at the places I have worked. I am embarrassed to ask, but need to do so. What are UniObjects? Other than what I mentioned above, what other technologies are out there are rock solid? Where can I go to get an get your feet wet intro? If our business is doing fine without them, why would I want to use them? What can I do with them? We are a SB Redback/web shop. What benefit would there be to my company to have me learn these other technologies? I am not saying that we don't want any of these technologies, but if we don't even know what it is or are aware of what it can do, we will never look to it for a solution. I understand that this is a VERY broad question, but if I don't start asking, I will never learn. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- Jeff Butera, Ph.D. Manager of ERP Systems Hampshire College jbut...@hampshire.edu 413-559-5556 ...we must choose between what is right and what is easy... Dumbledore ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
What are UniObjects? Uniobjects are libraries. Theses can be included in a variety of applications and provide access to U2 databases. On Linux there is Uniobjects for Java. There is a version for .NET. And there is an older COM version that can be used for applications that don't support .NET. I mainly use the Uniobjects for Java to access data from our Unidata system from PHP. I use some .NET in VB applications. The COM version is used in some Domino agents.. HTH Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
Thanks for correcting that too. I'm still new and learning... On Thu, May 19, 2011 at 9:38 AM, Jeffrey Butera jbut...@hampshire.eduwrote: On 05/19/11 09:26, John Thompson wrote: My understanding of UniObjects is that it is a connector into Universe or Unidata. Yes, but: You have to have a windows machine as the go between. Not true - you can do this with *nix. So for example, if you wanted to use some .NET language or C#, or PHP, or whatever to connect your Universe or Unidata database to a web form, etc., you could use UniObjects running on a Windows Server running IIS or Apache (a web server) that sits alongside your U2 database server. It doesn't have to be web apps I don't think... For example, some of the software offered as part of the Client CD you get from Rocket uses it to edit dictionaries, programs, etc. As far as other technologies that are out there... I am still pretty much a noobie myself, but, there are a ton out there that you can use to talk to Universe or Unidata. I know more about the Linux/AIX side of things than I do Windows, but, in most cases if you get to the point where you can make a programming language (PHP/Perl/Python, etc. etc.) launch a Universe or Unidata session, read in some data, and write some data back out, then you are a great deal of the way there (and of course security is always part of the design, in whatever you build). I currently have been having a lot of fun with the following scenario: Using Ubuntu Linux as a web server running Apache/PHP Sending http requests to the AIX server running Universe/Apache/PHP which then launches a Universe session to pick up the data and write it back out which then sends the result back to the Ubuntu web server. (JSON is used as the standard data interchange format) (JQuery is used to make the web forms pretty and work with data - not required really) (PHP is used to send the requests and also work with the data) Of course, like anything... in a production environment (which this is not currently in), you have to lock down your U2 machine to only receive requests from that Web Server, etc. I got the idea (and help) from another gentleman named Kevin King. I have been having a lot of fun with it. Like anything though, everybody has their tools that they like. The beauty of this in my opinion is that you can try it out for free, and if you don't like it, the only thing you have possibly wasted is some time. On Thu, May 19, 2011 at 8:42 AM, Steve Romanowslestak...@gmail.com wrote: Uniobjects is a C module that has been wrapped and packaged for java, vb, and .NET. PickWiki has several examples, as well as the rocket software docs. If you upgrade to the new WebDE you will be using uniobjects for communication (really deep down.) On Thu, May 19, 2011 at 8:37 AM, Israel, John R. johnisr...@daytonsuperior.com wrote: I have been in the PICK world for decades and have worked with several interfaces. Green screen, SB, BlackSmith and Redback/web are my biggest areas of expertise. I have simply never worked with anything else because these are the tools at the places I have worked. I am embarrassed to ask, but need to do so. What are UniObjects? Other than what I mentioned above, what other technologies are out there are rock solid? Where can I go to get an get your feet wet intro? If our business is doing fine without them, why would I want to use them? What can I do with them? We are a SB Redback/web shop. What benefit would there be to my company to have me learn these other technologies? I am not saying that we don't want any of these technologies, but if we don't even know what it is or are aware of what it can do, we will never look to it for a solution. I understand that this is a VERY broad question, but if I don't start asking, I will never learn. John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- Jeff Butera, Ph.D. Manager of ERP Systems Hampshire College jbut...@hampshire.edu 413-559-5556 ...we must choose between what is right and what is easy... Dumbledore ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
Are you saying that UniObjects are used instead of Redback or is it used in addition to Redback? Without giving away company secrets, can you briefly describe some real world examples of what kind of applications were written with UniObjects? Loosely speaking, what practical uses are there that I am not grasping? If I am content with doing things from TCL, why do I need this? Is this more for end-user applications (i.e. not programmers)? What sort of things can I take to management that I could do with UniObjects that will make them go WOW! John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of charles_shaf...@ntn-bower.com Sent: Thursday, May 19, 2011 9:52 AM To: U2 Users List Subject: Re: [U2] Uniobjects - What Is It? What are UniObjects? Uniobjects are libraries. Theses can be included in a variety of applications and provide access to U2 databases. On Linux there is Uniobjects for Java. There is a version for .NET. And there is an older COM version that can be used for applications that don't support .NET. I mainly use the Uniobjects for Java to access data from our Unidata system from PHP. I use some .NET in VB applications. The COM version is used in some Domino agents.. HTH Charles Shaffer Senior Analyst NTN-Bower Corporation ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Uniobjects - What Is It?
On Thu, May 19, 2011 at 9:26 AM, John Thompson jthompson...@gmail.com wrote: You have to have a windows machine as the go between. Not completely true. I have used UOJ with jython on linux to talk to U2 on AIX. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users