Re: [U2] SpreadsheetML and Excel2013
George, if you're seeing the Problems During Load dialog, the error might refer to the Content.MSO folder: C:\Users\username\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.MSO (on older systems that might be c:\WinTemp\Temporary Internet Files\Temporary Internet Files\Content.MSO) From the NebulaXLite Developer Guide page 49: The Content.MSO directory is hidden.To get to the file, use Windows Explorer to get to the Temporary Internet Files folder, then in the address bar manually type “Content.MSO”.A list of files should display.(All files except the most recent can be deleted.) XML files from v2003 should certainly be compatible with v2013. However, there are at least two kinds of XML out there. There is the SpreadsheetML and then there is a newer Open format which has been in transition over the years. It's possible though unlikely that v2013 has some detail fixed that an older version of Excel (or related tools) embedded into your documents. Without more information I couldn't make any other guesses. [ad] Relevant to MV/U2, NebulaXLite generates full Excel workbooks with rich sheets all from BASIC: http://Nebula-RnD.com/products/xlite.htm HTH Tony Gravagno, Nebula Research and Development http://Nebula-RnD.com/blog http://Twitter.com/TonyGravagno http://www.LinkedIn.com/in/TonyGravagno Visit http://PickWiki.com! Contribute! https://bitbucket.org/foss4mv George Gallen wrote: Is anyone else having issues with Excel2013 giving errors to previously working XML files from Excel2003 It keeps telling me there is an error in the table, and says there is log file, which is blank - not helpful. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [OT] Interview Questions
We're actually on the same page, Doug, thanks. What was on my mind is that while everyone knows they need to diversify, too many do not actually diversify. I know some very smart, highly expert BASIC people who have known for many years that they need to do something beyond BASIC, but they don't. With the recession at its peak people were being sacked everywhere and BASIC-only people were in a panic about what they would do if they lost their job. What did they do? Some went looking for more BASIC-only jobs, though some people cross-trained, and others took the opportunity to retrain themselves completely out of the industry. I don't want to be anecdotal, I'm citing a general flaw that many of us share to some degree. My last four blogs discuss in various ways how MV people cling so dearly to MV-only, to their own detriment and that of this industry. http://Nebula-RnD.com/blog/ Keeping this on-topic, it's not enough for an individual to know that they need to cross-train. A valued employee will do some of it on their own, off-hours, because that's how professionals hone their craft. And they'll ask their company for classes and time to practice on app modernization that the company values. They'll get books and spend time on websites for JavaScript and .NET and HTML5, etc. They'll mention other technologies that can be used to satisfy current business requirements. They'll take initiative on their own behalf, as a matter of their own survival. When they get a new job they'll ask about how they're going to improve their skills in addition to how they're going to use their current skills to help the company. This is the kind of person who distinguishes themselves as a long-term contributor compared to someone who's just selling time for money. Unfortunately our industry doesn't have enough of these people, both in end-user shops and in the VAR channel, and this is why we have a high attrition of end-users leaving to other technologies. (I'm hoping some of our colleagues out there are now thinking about how to open a new discussion with their managers.. If you'd like some help with that, please feel free to email me off-list. TG at-remove-this-anti-spam-mungeNebula-RnD.com.) Best, T On Tuesday, October 8, 2013 3:56 PM, doug chanco wrote: Tony, I agree with everything you said except one thing . And I'm going to alienate about 70% of our colleagues here, but I think a modern interview needs to favor those who have current knowledge of a variety of technologies. A BASIC-only developer isn't going to cut it anymore and people who are BASIC-only are holding onto their jobs because they know their current applications, not for their technical skills .. I think you have it wrong and that 70% agree with you and 30% will disagree, I don't want to get to far off topic on this off topic topic, but most if not all know that just being a pick basic developer doesn't cut it anymore, pick talks to all kinds of modern technologies and the green screen apps are going the way of the dinosaurs, so one would have to have their head in the sand to not see that you need more skills than just knowing pick basic and how to create dictionaries and write prok's, having said that your post was well said as usual dougc ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [OT] Interview Questions
I wrote a short blog series on the ineffectiveness of 98% of the companies recruiting for MV positions, I just haven't published it yet. In short, they don't know what questions to ask and most end-users don't know either. That's why we see a high percentage of failed hires in this industry, and Kevin is just confirming that. Kevin, don't forget PickJobs.net. In addition to some of the suggestions here, I'd give a candidate a set of hands-on tests. Their resources: The command line and a browser. We're all going to have varying degrees of success coughing up a solution on the spot, in a verbal interview, or in writing. But if we can put it to the keyboard, most of us are going to have much better success. The browser is there for a touch of the real world. I might not know the exact syntax to get something done, but if I screw up and fall into debug, I will still get the job done quickly if I can access the product documentation, wiki's, and these valuable forums. Rather than asking a person for a fish, just make sure they know where to fish and that they know how to use the fishing pole. If they don't know where to find solutions then they're going to flounder (pun wasn't intended, but I'll take it). If they know where the industry/community resources are then they'll be able to respond to dynamic requirements even if they don't know a solution off-hand. And I'm going to alienate about 70% of our colleagues here, but I think a modern interview needs to favor those who have current knowledge of a variety of technologies. A BASIC-only developer isn't going to cut it anymore and people who are BASIC-only are holding onto their jobs because they know their current applications, not for their technical skills. If you're going to hire someone who isn't familiar with your app, they Must be on top of technologies, only one of which is MV. So depending on your company/client directions, the modern candidate must know MV + (Java and/or .NET and/or PHP and/or MySQL and/or SQL Server). They must have a solid grasp on XML and/or JSON. They must have a working knowledge of web services with SOAP and/or REST - and sending/receiving transactions with MV. A new hire must understand how MV behaves as a component in an enterprise, not as the one and only server in an office. Yeah, we're going to pay more for this person, but the person who differentiates themselves by knowing more than just Pick has already distinguished themselves in their ability to adapt to change - and that's really the kind of person we need to hire these days. Unfortunately it's going to be a lot easier to train someone to use Pick if they already know other technologies, than it will be to train a MV-only person to use other technologies. The people who haven't picked up on technology from this millennium demonstrate a long-term lack of drive and initiative - that's the kind of person we do Not want to hire these days. (One of the services I passively offer is assistance with hiring, interviewing, etc. Please feel free to contact me for assistance in creating job ads which attract the right people, and evaluating the people who respond.) Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com http://Nebula-RnD.com/blog http://LinkedIn.com/in/TonyGravagno http://Twitter.com/TonyGravagno http://PickWiki.com http://groups.google.com/group/MVDBMS http://www.LinkedIn.com/groups/Pick-Users-Group-64935 http://BitBucket.org/FOSS4MV ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] No mail
I'm getting mails for this thread, nothing else seems to be going to the list at the moment except for the TU.TO.EXCEL discussion last week and the Colorado job. http://listserver.u2ug.org/pipermail/u2-users/2013-September/date.html Nothing like a scare about mail not getting through to stop people from sending mail, eh? Or, ya know it's possible that people just don't have anything to say at the moment. I dunno how you can be getting zero emails from the list - you've been responding to recent postings... Shall we just assume it's business as usual here and that the stutter with your own personal email has now passed? From: Will Johnson Are you saying you got the emails? Cause I'm still getting ZERO emails from the list, for over a week now. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Looking for work in Toronto area
http://Nebula-RnD.com/blog/tech/mv/2013/08/pickjobs1.html From: Michael Spencer If you know of any current offerings... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Select from one file with save-list from another file
Not sure where to toss this into this thread so I'll start at the beginning. I wanted to see the solutions that would be offered. I blogged on exactly this topic back in 2008. The solution I published for D3 uses @environment variables to allow us to do inner queries with a tiny bit of simple and reusable code, no dict items, no work files, and no save-lists. Perhaps someone can describe the UD/UV-specific equivalents so that we can accomplish this here using similar methods? I'll be happy to add the U2 solution to the blog for future reference. http://Nebula-RnD.com/blog/tech/mv/2008/03/d3shell1.html Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com http://Nebula-RnD.com/blog http://LinkedIn.com/in/TonyGravagno http://Twitter.com/TonyGravagno http://PickWiki.com http://groups.google.com/group/MVDBMS http://www.LinkedIn.com/groups/Pick-Users-Group-64935 http://BitBucket.org/FOSS4MV/ From: Hilk, Brandon UniVerse 10.1, HP/UX, Pick. Is there a way I can build a save-list from a selection from one file X.INFO (where the record ID is an 8 digit number) and use that list to select from file Y.INFO (where that 8 digit number is not the record ID but does exist as a foreign key elsewhere in the file). In SQL this would be considered a join and would look something like this: select * from X.INFO, Y.INFO where X.INFO.packet.id=Y.INFO.packet.id and X.INFO.status='ccc'; I can run this in TCL and have it return the results I want but can't build a save-list from it because I don't know the UniVerse/SQL syntax to do so. So to summarize, is there a way to use a save-list built from X.INFO to make another save-list comprised of the record ID's from Y.INFO? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Select from one file with save-list from another file
This line caught my eye: readlist var from 10 else then result = lower(var) else then ? I get it, but ... yuck. :) T From: Martin Phillips Spotted a bug - I knew this would turn out to be the wrong source code!!... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [JOB] Las Colinas (Irving), TX
The company may also wish to post to http://www.pickjobs.net/ which now has 12 other MV jobs listed. Best to ya, bud. T - From: Bruce Holt Luxury retailer has need of a UniVerse DBA Where: Irving, TX What UniVerse DBA (must be on site, no telecommute) When: Now! Why: I vacated the position and my replacement could not make the move to be on site How: e-mail me your Resume/CV at mvdbman at gmail dot com Best regards, Bruce Certified UniVerse DBA ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] PickJobs.Net for MV Jobs/Contracts
The website http://PickJobs.Net has been re-launched with a new look and tools for matching people to work. Read about it here: http://Nebula-RnD.com/blog/tech/mv/2013/08/pickjobs1.html Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com http://Nebula-RnD.com/blog http://LinkedIn.com/in/TonyGravagno http://Twitter.com/TonyGravagno http://PickWiki.com http://groups.google.com/group/MVDBMS http://www.LinkedIn.com/groups/Pick-Users-Group-64935 http://BitBucket.org/FOSS4MV/ ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] I am looking for a CRM package on multi-value
You're quite clear that you don't want a pitch for non-MV so that's not where I'm going here. I think this inquiry is fascinating for how it's presented rather than what it's about. In short, in this case I think you're doing MV a dis-service by being so supportive. Because my response isn't specifically about U2, and not a direct answer to your question, I've posted it as a blog: http://nebula-rnd.com/blog/tech/mv/2013/08/compete1.html Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com http://Nebula-RnD.com/blog http://LinkedIn.com/in/TonyGravagno http://Twitter.com/TonyGravagno http://PickWiki.com http://groups.google.com/group/MVDBMS http://BitBucket.org/FOSS4MV/ From: Wjhonson I am looking for a Customer Relationship Management application. I have a client who is familiar with Universe and would prefer that, but willing to look at other MV database applications. However they also will want to demo this to their own clients from time-to-time and so want a pretty looking face on it. The backend has to be multi-value of some sort, so don't pitch me non multi-value solutions please What are my choices if any? Only looking for *already installed* choices, not custom work. Some customization is always necessary, but they want to see a working application from the get-go. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] XAdmin wiki?
From: Daniel McGrath Subject: Re: [U2] Pick flavor in U2 personal edition XAdmin, part of our U2 DBTools package: http://www.rocketsoftware.com/products/rocket-u2-clients-and-dbtools/t ry-now I confess that I've always had a lack of skill with detailed U2 administration. Some people pretend that all MV environments are the same but when you move away from R83 compatibility they become very different. XAdmin presents a wide variety of tools to the U2 DBA but I'm not aware of any tutorials that take users through the various features. Is anyone aware of a wiki or ebook that documents each of the features with notes about how they can be of use, when to use various features, etc? A wiki can be infinitely better than company documentation because it would include real-world tips and tricks that developers never include. And when a public wiki is open to the vendor/developers, they can occasionally add insight that we'd never see in company-provided documentation. (Personally I think ALL MV documentation should be in wiki format but getting that off the ground is an exercise in futility.) Is a wiki for XAdmin something that would get any traction at RS, U2UG, or PickWiki? I'd be happy to help coordinate the effort but frankly I'm not qualified to contribute detailed content. My contribution would be more about asking questions for others to provide answers, as well as editing, formatting, etc. As to motivation or de-motivation - I'm sure there are companies that offer training on U2 administration with focus on XAdmin. People from these companies aren't motivated to provide a lot of data for free on a public wiki. Then again, demonstration of expertise is like a business card which lets people know who are the experts on the topic. I'm not one to fall for carrots dump everything you know into a free web page and you'll get lots of business but there is some value for people in efforts like this depending on how it's approached. Anyway - am I missing something that's already in progress? Thanks. Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com http://Nebula-RnD.com/blog Visit http://PickWiki.com! Contribute! http://Twitter.com/TonyGravagno http://www.LinkedIn.com/in/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] OPENSEQ
From: Al DeWitt I'm a Domain Admin so permissions is not an issue. I understand the sentiment there but we may not be aware of the permissions required for the operation in question, so it's tough to know if the right permissions have not been granted. My related experiences, dunno if this helps anyone... Some products need their own access to remote data resources. The permissions of the current user, especially telnet, are not used to access remote resource, because it's the DBMS not the user that is doing the access. Most sites don't run their DBMS services with Administrator privs - that's a huge security issue. (I can just see people now going huh? really? and checking their services ... go ahead, we'll be here when you get back...) I'll sometimes temporarily open full permissions to the target and give admin privs to the client application just to see if that resolves the issue. You'd be surprised at how often this does reveal a permissions issue - but again you shouldn't leave it like that because this is a huge security issue. NOT being a domain admin I usually have issues getting the right restricted permissions back so I always try to have someone else handy to fix it. :) I also use Sysinternals tools to find out exactly what the system is trying to do. Maybe in this OpenSEQ case it's not actually reading from the intended target. Again, you might be surprised at all of the disk reads that need to be done to get to the real data you're trying to access. This could help to identify performance issues too. http://technet.microsoft.com/en-us/sysinternals/bb795533.aspx HTH T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] XAdmin wiki?
Whoe dude, hang on. :) The answer to the question does this exist or what do you folks think isn't to do an install. There are already generic resources available. We don't need yet another wiki site with yet another login and markup language. I was hoping we could make use of one of the existing, well-known resources before jumping to something completely new. Yeah, I know the SB/XA wiki has been around a while but unless a site uses SB, chances are they don't know about that site ... like me. I didn't even know that SB/XA Wiki existed - there isn't a single mention of it at PickWiki. Honestly, I don't believe yet another site will thrive in isolation. There are too many of these already. And ... SB/XA is NOT the XAdmin. These two offerings deserve their own homes... Regards, T From: Jo Lester I am attempting to install right now. While looking for answers, this site keeps cropping up in my search. http://sbxa.wikia.com/wiki/ ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] XML or JSON converter for Unibasic
I do this sort of thing all the time. I'm also curious to know if a Uni-query can be rendered directly as XML or JSON. I know QM can render as XML with a simple modifier on the command-line, thought U2 could do this too. JSON is a different animal and I'm not aware of any decent JSON builders for any MV environment - they're all proprietary and unpublished except for the new one in Unidata. The real problem with all of these XML/JSON solutions is that the output we get from our reports is 2-dimensional columns and rows - a curious anomaly after all of these years, considering how much we pride ourselves on being multi-dimensional. XML and JSON aren't of much use with flat data. Coding a 2D export to XML or JSON is trivial. Where this gets complex is in nested relationships, XML and JSON excel in representation of multi-dimensional data, and again, none of the MV platforms have rushed to provide decent rendering in this area. (Except maybe TigerLogic which has built a rich XML server around the D3 core, like DataStage was built around Universe.) In plain terms, a U2 report will have something like: ORD# SHIP.ADDR SHIP.CITY ... ORD# SHIP.ADDR SHIP.CITY ... That's 2D. But when you're passing data to another environment, it expects 3D: order id123/id shipto addr.../addr city.../city /shipto /order JSON is exactly the same as XML in structure, just different in syntax. Part of the problem is that the output here needs to use names which are acceptable in XML/JSON tags. That might come from the dict item, probably not unless you have custom dict items just for this. The way this is usually done is with metadata stored in the dict item or somewhere else. So you'll have a dict item named ORD#, the description might say Order ID but the node name will be id. Note above that I'm using id123/id. But that could have been done like this: order id=123 The issue here is that there is no schema definition that defines whether you use elements (unique nodes) or attributes (id=123) within elements. Hardcoded general-purpose solutions will work for your internal purposes but they won't work as a general solution for exchanging data with other entities. And let's not even get into namespaces. In summary, the above explains why it's tough to have a general-purpose solution for rendering query output as XML or JSON. A lot of other metadata is required in order to describe what the document will look like. The only recourse we have is to use the XML hooks provided in the DBMS, to hard-code on a case-by-case basis, or to export and let some external tool do the formatting ... but in all cases you still need to provide metadata or none of these tools will know whether to use id or ordnum, or whether to use elements or attributes. All of that said, the nature of my business is to create solutions to problems like this. I'll be happy to do so for any company that associates value with such solutions. HTH Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com http://Nebula-RnD.com/blog Visit http://PickWiki.com! Contribute! http://Twitter.com/TonyGravagno http://groups.google.com/group/mvdbms https://bitbucket.org/foss4mv/nebulaware From: Charles_Shaffer I am looking for a way to send the output of a Unidata data query in Unibasic back to a web server (PHP) for building web pages. Up until now I have used a proprietary method (LF, HTAB, etc.), but I would like to simplify/standardize the method. Seems like this could be done with XML, or JSON or something I don't know about. Has anyone had experience with this and could you offer some advice? Hoping for a simple subroutine approach as opposed to a comprehensive commercial package. Management here is very price sensitive. When I say price sensitive, I mean that if it costs anything, they get their panties all in a bunch. A few hundred dollars might be sellable, a few thousand would not be. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Pick flavor in U2 personal edition
From: Eric Armstrong I downloaded the U2 personal edition to my pc, and it is working, but how do I get it to use the Pick flavor? If I care about the flavor I'll use UniAdmin to create accounts - or whatever they call that thing now that takes 10 minutes to start up on a system with no other activity. ;) HTH T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] What is true
Fascinating stuff. :) I don't like the idea of spaces being numeric but when I get data from unknown sources I do tend to TRIM and test for NUM(x). With the following program: - Universe in Information flavor reports True on all tests. - Unidata only reports 3-8 as True - D3 does not consider any of the tests as True, and flags 5,6,8,9,11,12 as non-numeric This is obviously not consistent across all platforms/flavors. X = 1 IF 3 = 3 THEN CRT T1 IF :X = X THEN CRT T2 Y = TEST IF Y THEN CRT T3 IF (Y) THEN CRT T4 Z = IF Z THEN CRT T5 IF (Z) THEN CRT T6 Z = Z:2 IF Z THEN CRT T7 IF (Z) THEN CRT T8 END From: Martin Phillips Not odd at all. The language defines the relational operators as performing a numeric comparison if both items being compared are numbers or can be treated as numbers. It is valid for a numeric string to include leading or trailing spaces. From: Ed Clark A curious feature of true and false on universe: 0001 x=char(32) 0002 if x=0 then crt 'is zero' else crt 'not zero' 0003 if x then crt 'true' else crt 'false' 0004 x:=0 0005 if x=0 then crt 'is zero' else crt 'not zero' 0006 if x then crt 'true' else crt 'false' space is true, but space:zero is false. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] What is true
Just adding a little more subtlety. Consider: X = Y = 3 In some languages this sets Y to 3 and then X to Y, so X=3. But in BASIC, as Brian said, we need to force the precedence on Y=3 before X=Y. In other contexts, parentheses force an equation. Consider: SUBROUTINE FOO( X,Y,Z ) and CALL FOO( X,Y,(Z) ) In this case, X and Y can be set and returned. But the third argument is an equation, and while FOO can write to the variable in its own context, when the data comes back it's read-only, since what went out was not a variable but the result of the evaluation of an equation. (X) does nothing to define the Boolean nature of a variable. While it's a nice visual cue it's not functional in the code. T From: Brian Leach It's not the parentheses that define the Boolean, it's the equality by the way. Parentheses just force the precedence. From: Jim Swain This is not true as when A='HELLO' IF (A) returns true. You use the parenthesis to set a Boolean variable, i.e BRITISH = (COUNTRY = 'ENGLAND' OR COUNTRY = 'WALES') etc the var BRITISH is set to 1 when the conditions inside the parenthesis are met, otherwise BRITISH is set to 0 From: Tom Whitmore If you wrap a variable in parenthesis it will be treated as a Boolean test. For example: A='HELLO' IF (A) THEN CRT 'TRUE' ELSE CRT 'FALSE' will result in TRUE. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] What is true
You're right. X is never 3, but I did say so. As I said below, that's the way it works in languages other than BASIC. X=Y=3 will set both values to 3 because of the order of operations. And I was wrong when I said we Need to force precedence. It doesn't Need to be forced in BASIC, but in other languages it does. In BASIC, without the parentheses each developer will be left to wonder or just know from experience that BASIC is different from other languages. The parentheses in this case provide clarity and force precedence for anyone coming to BASIC from the outside world. Hehe, but we know that never happens... Thanks. T Last time I agree with Brian on anything... ;) From: Jim Swain Now I'm getting confused... its not a case of precedence In the case of X = Y = 3 X is set to 1 (true) when Y = 3 X is set to 0 (false) when Y # 3 X in this instance will never = 3 From: Tony Gravagno Just adding a little more subtlety. Consider: X = Y = 3 In some languages this sets Y to 3 and then X to Y, so X=3. But in BASIC, as Brian said, we need to force the precedence on Y=3 before X=Y. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Anti-fraud software
From: Jerry Banker Are any of you using some sort of anti-fraud software? If so, what? Did you build it yourself or is there a software package out there that will work with UniVerse. Could you be more specific? If you're talking about protecting your BASIC apps in the field, I can describe how our Nebula RD products are activated and protected. Comments and suggestions are welcome from our colleagues here. In summary, I have a security mechanism which I've considered offering as a separate product. The user sends a key request and we return a key which locks the product to the specific system over a limited or infinite period of time. It's evolved in response to changing environments, and now works with all MV platforms and versions, OS's and OS versions, can be used with different company products, and keys to specific product versions. I can provide more info on request. Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Copy File to SharePoint
Has anyone figured out a way to take a file from UNIX and copy it into SharePoint? Google for unix to sharepoint returns good results. HTH T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] accuterm WED issue
AccuTerm adding a space into code might be an issue to report to supp...@asent.com. I think the segfault should be addressed with Rocket Support. HTH T From: Bertrand, Ron Interesting issue popped up a couple of days ago with Accuterms WED. We have a program calling a subroutine that wraps to the next line: CALL GETENTRY.TO( CMDDATA, CMMND, '30L', '_', '0X', CMDHELP, 01, 22, CMDPROMPT, 'QEGIA', 59 ) When I formatted the program in WED it added a space after the 01 on the next line. At least I assume it's a space because the Universe editor does not show any other characters with an ^. This caused me to be blown out of universe - still not sure why yet- with a segmentation fault. CALL GETENTRY.TO(CMDDATA,CMMND,'30L', '_', '0X',CMDHELP, 01 ,22,CMDPROMPT,'QEGIA',59) Removed the space and everything works fine. Curious if anybody has seen this activity or had the same thing happen to them? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] What services to MV DBMS VARs provide?
Comments welcome on new blog: http://Nebula-RnD.com/blog/tech/mv/2013/08/var1.html ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] What is true
From: Keith Johnson Hi Tony, 'Twas a teensy bug under an unusual circumstance... Hey, wait a minute, you're the one who complained that no-one updated other people's code! You wouldn't be trying to yank Will's chain, would you? Indeed I do comment occasionally on the proportion of takers to givers with MV FOSS, and the unfortunately low number of takers at that. When I saw your name on a recent update I had to chuckle at the coincidence/irony - no yankin intended. BTW, Keith, I dunno if you got an email I sent to Emerald Glen today. The old domain is gone and your contact info on PickWiki is old - I was concerned that we had lost ya. Thanks for chiming in. Since we're here, as to testing file vars - in a platform where we have so few data types I'd consider it quite poor for a developer to not know if a given variable was supposed to contain a file descriptor, or to try to use it without testing for assignment. My approach is to use IF NOT(ASSIGNED(FVAR)) or in Unidata IF UNASSIGNED(FVAR). But at a higher level where I only open files once, I do this: IF NOT(ASSIGNED(INITIALIZED)) OR ( ASSIGNED(INITIALIZED) AND NOT(INITIALIZED)) THEN OK = 1 GOSUB OPEN.FILES ; * note, no need to check individual files IF OK THEN GOSUB OTHER.INITS IF NOT(OK) THEN GOSUB REPORT.ERROR RETURN ; * leave without setting init, app is in a bad state END INITIALIZED = 1 END * OK to continue from here * Don't even attempt file operations if Not(Initialized) T http://Nebula-RnD.com/blog http://Twitter.com/TonyGravagno http://www.LinkedIn.com/in/TonyGravagno Visit http://PickWiki.com! Contribute! http://groups.google.com/group/mvdbms https://bitbucket.org/foss4mv/ ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] What is true
From: Wjhonson I saw it here by KRJ whoever that is http://www.pickwiki.com/cgi-bin/wiki.pl?Compare That's Keith Johnson in NZ. What an unusual last name... ;) Ironically, it looks like he recently modified one of your postings to PickWiki too. About the true/false thing, I always use 0 and 1 but I was chastised about that by a colleague recently, that it might not be completely cross-platform, and now I stutter on it every time I do that, wondering if I'm not really following a best practice: OK = 1 IF OK THEN FOO ELSE BAR IF NOT(OK) THEN BLAH ... I'm curious too - is anyone aware of a platform/flavor where this has not worked in the last decade? Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com http://Nebula-RnD.com/blog Visit http://PickWiki.com! Contribute! http://Twitter.com/TonyGravagno http://groups.google.com/group/mvdbms https://bitbucket.org/foss4mv/nebulaware ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UD] BASIC Code Failing
From: Charlie Noah 1. If POLREC6 is null, an empty value won't be inserted... 2. INSERT sometimes doesn't like delimited source 3. If POLREC6 has multivalues itself... Charlie, you present a valid discussion of a failure with the Insert statement, but that might not be the problem at all. Bill Haskett's original statement says he just inserted a DEBUG statement before the problem line and the problem went away. We're not talking about syntax or any one statement. We're talking about a run-time failure to execute any random statement in your code base. The ramifications for that are huge. The best thing that can happen to anyone here is to find one of these buggers in some non-critical location. The worst thing anyone can do is to hide the condition so that the problem doesn't occur in a benign area - that just leaves the problem undiagnosed and unresolved for potentially critical areas in the current application or others. I can't emphasize strongly enough how devastating a problem like this could be ... if indeed this is the problem. I strongly encourage any sites still covered by support to report this issue to RS if they have a repeatable case. Diagnosing these issues in the wild can be extremely difficult, making it easy for too many people to get lazy, delay, defer, work-around, and not get aggressive about the problem. But any manager of any large site here should be thinking about how much damage an issue like this can do to their business if it's not resolved. People who do Not see this problem in their systems should be as assertive about seeing it resolved as those who Do see it. And Rocket stands to reap huge rewards in terms of customer satisfaction if they pro-actively take steps to resolve this issue with anyone who reports it. It doesn't make sense to avoid an opportunity to resolve an issue for paying clients just because a system where it's repeatable isn't currently covered. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UD] BASIC Code Failing
From: Woodward, Bob If this occasional problem is consistently the same lines then just validate the insert afterwards... Dale, don't accept that solution. (Sorry Bob) Note, we're still not really Sure yet that this is a good definition of the problem, just a working theory... Overall, the problem seems to be that some statements can't be trusted to be executed - not specific statements or functions, but random lines of code in different systems. The problem might not be something wrong with the statements themselves but just where they happen to be in the program. The issues might be fixed with some extra code, or by putting the few lines in question into an internal subroutine just to move the bytecode to a different location. But a solution like that is random and subject to just moving the problem to an as yet unknown and perhaps more critical location. When you can't trust a line of code to be executed in a linear series of statements the reliability of everything we do comes into question. If this is indeed the problem, fixing it by writing work around code isn't good for anyone here. It's tough to call in Support when the problem is so vaguely defined but having sat in the chair as a QA Manager and Product Manager for a related product, I can tell you the resolution starts with finding sites that seem to have this issue, assigning someone to the task of gathering data and scheduling tests on the target systems, getting engineers to verify the issue, and establishing a pattern from which a problem can be diagnosed. I don't know who has to initiate that with Rocket Software but I'd assume it starts with paying clients filing formal requests with Support and committing to follow-through toward a resolution. And while re-compilation might indeed be the correct fix, don't accept a tier-1 techie solution intended to just get you off the phone! HTH T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UD] BASIC Code Failing
Bill, at Pick Systems we occasionally saw issues like this, where the object code would behave differently if specific statements (their opcodes/tokens) were broken across frame boundaries. Until DBMS patches become available, the problem could be avoided with some carefully-placed NULL statements. I've seen this with RPL too, for exactly the same reasons. I know nothing of U2 internals but the internals are of course similar. Unfortunately without a confirmed cause/effect scenario defined by engineers, it's a crap shoot as to whether inserting NULLs will help, or where they can be inserted to ensure they work. I suggest you contact Rocket and ask them to pursue this as a byte-level issue in your object code. Sending them the code might not help if they test in an environment that's different from your own. They need to see it on your system. I'm just trying to save you some wasted diagnostic time... Best, T From: Bill Haskett ... a single BASIC program didn't run a couple of lines of code... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] LIST reports and Fields that Do reads
From: David Wolverton In UniData we also make sure the file is opened to a COMMON variable. Makes a huge performance difference vs doing the OPEN on every call to the subroutine. YMMV From: Wjhonson I had forgotten that one! Wow, I thought that was SOP these days across all new MV apps of any size. Then again we hardly ever discuss style and coding patterns in these forums so it's no surprise that patterns like this aren't as common as Design Patterns ala GOF. I never re-open a file if it's used across many programs, and I use Include items to contain the housekeeping that determines whether to open the files and to do the opening. I use named common in D3 because it keeps the files open across level pushing and between TCL executions. The pattern is: - Enter into a program - Move into the Include code - If current account is not the same as the prior account, set INIT=-1 - Check INIT flag -- If not set or -1 do all initialization, open files -- Otherwise just continue - Return to the functional code These patterns make for small and well organized code. It's easy to make a single change that affects the entire application (need to get them right though). Adding new modules is easier because the housekeeping is already done elsewhere. Optimizations in one place can impact the entire app. HTH T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SBClient Issue
I dunno if this is the situation here, but a Google search for dde flush returns some hits that indicate you may need to flush the DDE buffer before exiting. HTH [related plug] : http://Nebula-RnD.com/products/xlite.htm From: Al DeWitt We have a custom report that was written using paragraphs and the DDE functionality. Our process is to 1)Open an Excel Worksheet 2)Run the report which outputs to the worksheet. We are encountering situations where the report appears to work normally but not all the data is written to Excel. This was first noticed on Excel 2010, but I am able to reproduce this on Excel 2003 as well. Is there some temporary file or buffer in SB+/SBClient that I might need to expand the size of? If so what is the name of it? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] CentOS with Universe?
From: Dawn Wolthuis We have a VAR who would prefer to load Universe and their application on a supported platform, but we would prefer not to pay for RHEL 6. I searched the list and found a few tidbits, but does anyone have a good list of what changes might be required to successfully run Universe 11.1 on CentOS? How much pain would we be introducing for ourselves and our VAR, if they were willing to play along? Dawn, you have accurate responses from everyone: 1) Should be exactly the same. 2) Might not be. 3) There is risk involved. Personally I run CentOS whenever I need Linux. But it does have its own errors from time to time, and sometimes it takes a while to get them fixed - just visit the CentOS forum and see what people are talking about. That's the gamble we take for freeware. (It's only free if your time is worthless.) How much does RHEL Support help? Well, many systems I know never even update their RHEL systems. They install and then don't want to patch because it might mess up dependencies, forcing a reinstall. And RedHat does the same themselves to an extent - they guarantee that their distro isn't volatile like Fedora - in part because they don't provide many updates to common FOSS after production. As an example, you need an update to something like cURL (v7.19 from the current RHEL6 yum update but v7.31 in real world) you'll have to get it from somewhere other than RedHat, and that could break a lot of stuff. And because they bashed Windows for so many years about this (DLL HELL) before drinking the Linux Kool-Aid, these folks are afraid to say Linux has exactly the same problems, or afraid to admit they don't update their system, or maybe they just don't know that their packages are a couple years old and unpatched. (No need for people to jump in to reassure us that you update your personal system(s) - trading anecdotes doesn't change the fact that other people do things differently.) But the real point here ... is that once U2 is working, and it should out of the box, then it shouldn't break, as long as you don't change anything. It's been around since 2010 and CentOS is right there with it now. The only time you could have issues is when U2 is certified over a new RH release and CentOS hasn't caught up to them yet. The cost for not being with a current RHEL release is that you won't be able to install a brand new OS/DBMS combo with confidence, you'll just have to wait a while for the dust to settle. Now, what if you do get that brand new release of RH/UV and it breaks. You need to wait for Rocket to work with RH anyway. So if you're going to wait there anyway, why not just wait a little longer and get it all free? You asked how much pain would we be introducing ... all we can tell is how much pain you could or might, not would. The odds are in your favor - chances are very slim that there will be an issue in RHEL that affects U2, that it will get fixed by RH but not passed on in CentOS. There's just a time delay - you'd be paying RedHat to get changes to you faster, that's all, but you'll eventually get the same changes from CentOS. HTH T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Fwd: UML mapping tool for MV (UniVerse)
From: George Gallen Maybe because of Pick's lack of organization enforcement - that is one of it's failings - it puts all the burden of documentation onto the programmers That's the essence of our being and arguably the strength of the platform: RDBMS sites have DBA's separate from the programmers. MV sites traded away the DBAs and left schema to application developers who know BASIC ... which according to Edsger Dijkstra, the teaching of BASIC should be rated as a criminal offence: it mutilates the mind beyond recovery. Nuf said. :) Nobody got time for that! LOL - The quote that became a phenomenon - I only wish the poor person who originally said it got royalties. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [U2} UniVerse, ODBC, 64-Bit, Windows7
From: Robert Houben \windows\syswow64 Rather than Windows On Windows I like to think Microsoft has built-in World Of Warcraft. With Microsoft typical logic this is where 32 bit versions of commands reside on x64. 64 bit ones are in system32. (I know Robert is aware of why MS did the WoW thing initially but I'm having some fun here.) Yes, compare this to the perfectly logical Linux where /usr/lib64 is just a symlink to /usr/lib, where both 32bit and 64bit applications are stored together. Of course that depends on your distro but that apparently hasn't confused any Linux developers ... oh wait it has. As an example Ubuntu is more explicit with /usr/lib, /usr/lib32, and /usr/lib64. Oh wait, they changed between v2 and v3 to multiarch with usr/lib and now /usr/lib/x86_64-linux-gnu. But I'm sure that moving target didn't confuse developers ... oh wait it did... I'm not adverse to bashing any entity for stupidity, and Microsoft deserves its share. But it's tough to bash one group when the alternative is just as bad at the exact same things. That's twice just today that I get a chance to comment on such things. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Fwd: UML mapping tool for MV (UniVerse)
(Hey Don, I think you have your ReplyTo set, so replies to your posts to the list go to you direct.. Resending this to list...) I think Don is spot on - substitute time off and other consequences for finger breaking, though the Italian in me is quite partial to the finger solution. It's assumed that the norm is to have bad dicts with no documentation - a problem that needs to be remedied. That's just accepted norm. If it's clear that it's not accepted then it doesn't become the norm which then requires some sort of remedy. If the norm is established as policy, and consequences for failure to adhere to policy are well known, then most of these problems with administering chaos go away. That goes for backups, version control, comments, application of patches/updates, and other areas where change (or inaction) in an environment can have adverse effects. T From: Don Robinson Wj, Sarcasm on: Use the Don security theory, first offense, cut off a couple of fingers, second offense, cut off right hand, problem solved. Sarcasm off Seriously, this boils down to a management issue, employee supervision and buy in. Don From: Wjhonson But with programmers able to create new DICT entries as they will, how do you *keep* it spotless? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] [ANN] FOSS4MV - Free Open Source Software for the MVDB world
Posted for Kevin Powick === Fellow developers, I'm happy to announce a new resource for MVDB developers. FOSS4MV! FOSS4MV is a community for people that use or develop Free and Open Source Software for MVDB platforms, such as D3, OpenQM, jBASE, U2, Reality, Cache, etc. As such, it has three major offerings to promote communication and collaboration. A Google+ Community, source code repositories at Bitbucket, and a Twitter account to keep you in-the-loop. Google+ is a surprisingly useful communications platform that makes it easy to share information with individuals, groups, or the public at large. Some G+ communities have memberships that number in the tens of thousands, and I know that many MV developers already have a G+ account. Bitbucket, from Atlassian, is a leading provider of source code repository hosting using today's two leading source code control platforms, Git and Mercurial (Hg). Not only does Bitbucket support the top two SCC platforms, but they also allow unlimited, free public and private** repositories. FOSS4MV is set up as a bitbucket Team allowing people to join the team and create repositories under the FOSS4MV banner, while still retaining complete control over the management of their repositories. However, there is no requirement to join the FOSS4MV team account to get your code on the site. If you're just looking for a good home to share your code, but do not wish to manage a repository, let us know via email (foss...@gmail.com) and we'll post it for you. Twitter Is a great way to keep-up with what's going on with individuals, companies and communities such as FOSS4MV. You don't actually have to tweet to follow a Twitter account, so if you're not already on Twitter, sign-up and subscribe to FOSS4MV to keep an eye on what's happening. The traffic should be fairly low volume. == Final Remarks == Promoting software development and collaboration amongst MV developers is not a new idea but, until fairly recently, a standard set of tools for building communities wasn't readily available. Today, we have powerful and widely accepted tools that make collaboration not only easier, but enjoyable. Participation grows communities, and every little bit helps. With all the knowledge that we have amongst the veterans with 20 to 30+ years of MV experience, I'm sure we can build something useful to all MV developers, both old and new. So, at the very least, if you have any tips, tricks, or code that you wish to share, join the G+ community, get on the FOSS4MV Bitbucket team, or just send us your code and we will give it a good home. == Links == G+ Community: http://goo.gl/aLfKV Source Code: https://bitbucket.org/foss4mv Twitter: https://twitter.com/foss4mv Email: foss...@gmail.com Regards, Kevin Powick ** Private, free repositories are limited to 5 members. Once a private repository exceeds 5 members, you require a paid account. The nature of FOSS4MV makes this a moot point as its repositories will be public by default. ___ 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] Mobile phones
From: Symeon Breen I have an application that is based in the UK, one of the things it does is allow entry of a phone number, I then determine if this is a mobile (cell phone) and send a text (easy in the uk as all mobiles begin with 07) We are embarking upon our first US client (well existing uk customer with a US presence) so my question is - how with US phone numbers can I determine if it is a cell phone ? Symeon, I can confirm that you can't tell if a US number is a mobile. I have another business where I use Pick as the backbone, and we provide phone numbers, short code, bidirectional text/SMS (broadcast outbound and process inbound requests), and related services internationally - and it's all done with BASIC. In short, anyone can port a land line number to a mobile, and transfer mobile numbers amongst carriers to a point where you never really know anymore. This is a good thing in a way, it's the same sort of federation that we enjoy when we don't have to know the OS under a website, or the mail server under an email address. My suggestion would be not to try to be so smart. Just ask the user if they want to provide a mobile number And if they want to opt-in to SMS messages. You don't want to be one of those slimeballs that send text messages without approval, and in some areas that might be illegal anyway. Best to you, T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Mobile phones
From: Peter Cheney There is the cost associated with this too. Currently I think it is $0.50 per international SMS message and given that there's no guarantee of delivery success, the likelihood of repeated failed attempts is quite real. Peter, my mouth fell open at that. We provide messaging to 150-200 countries for 3-12 cents (US) depending on the target location, and this service can be integrated with any MV system on the planet originating the message. You'll never get guaranteed delivery anywhere. SMS receipt depends on the consumer's phone carrier, their phone, whether they're roaming, whether the user is on a national Do Not Call list, and many other factors. Sometimes you'll need to use a different prefix or other code to SMS a mobile phone, and in some countries some local carriers don't support inbound international SMS. Nor are there ever bounce messages because the carrier can't tell if the message was received, only (with luck) that they sent it. Since all carriers intend to send messages, they don't expect to provide bounce services. As I said, the best way to know if you have a mobile phone number is to get the user to provide it. The best way to get a text to the mobile user is to get their collaboration - at minimum with a confirmation from the mobile user that your message was received. It might seem inelegant but we're talking about reaching out to an audience of some billions of people. The scope is huge and technology isn't perfect so we must use the easiest and ideally lowest-cost remedies available. Sometimes end-users tell you how they want things to work. I'm telling you what works, which is usually what end-users Really want. Contact me for related solutions, including cloud-based services that just do what you want. HTH Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com 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] Monitoring Program: Can This Be Done?
Dove-tailing with Ian's response, AHK would be an excellent solution, not only for acting on the client PC but also for monitoring window usage, PC transition to screensaver or hibernate, etc. It's also free - but a hefty learning curve if you're not familiar with the scripting language. To answer your question, yes, with C# this is also do-able, free, and with no new languages to learn. If you want to do this on your own, find some freeware that listens for Win32 events - though that area can present as much of a learning curve as AHK. You want a tray app that runs on system startup or with the SB client, to identify the SBClient window when it opens, then check for various events like minimize and window activated. You also want a timer that periodically checks to see if the screensaver is running. (The first mechanism is reactive, the second is proactive.) You will need to DllImport user32.dll for this. A search on the topic reveals many hits, including this helpful blog with a C# solution that you should be able to tweak for your purposes: http://bit.ly/1afWhF3 If you do Not want to do that on your own, you can email me to discuss development services. HTH 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 From: McGowan, Ian For your original question, I don't know about how to capture the timestamp for SB activity, but http://www.autohotkey.com/ is an amazing piece of software that can definitely switch to the SBClient window and hit escape a bunch of times. I have used it several times to 'scrape' data from one system and plug it into another, when more elegant solutions wouldn't work for whatever reason... From: Al DeWitt I have been asked to inquire if there is a way I can write a C# program to be installed on certain (shop floor) PCs to log SBClient activity (keystrokes?) with a timestamp. This program would then read the last activity timestamp, compare it to the current time and if the interim is greater than a certain number of minutes execute a series of Escape strokes to back the app out to the close screen and thus free up licenses. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [JOB] Work for Tiger Logic
From: Wjhonson As to the point of competing only, I would suggest that most if not all the people who read this list, also read others, and have various skills, not just U2 skills. Are you suggesting that a U2 person would not also have skills in say... D3 ? Yeah, I am suggesting that. But skills does not equate to expertise. I have skills with SQL Server and MySQL but I'm no guru with either. Let's separate developers into two broad groups. There are those who only know Pick through their U2 experience. These are developers in end-user shops who have no need to know anything about other MV platforms. In fact this one group is not one group at all but two groups, the Universe people who don't care an iota about Unidata, and the Unidata people who feel the same about Universe. This is only a U2 group for political purposes, and because the platforms have common features now simply because they have had common ownership for so long. We can talk about BASIC, verbs, and correlatives in common terms, but some people here (long-time Pick professionals) have commented on the stark differences between these platforms that have made migrations difficult. It's not just the differences, it's that it's so hard to know what all of the differences and similarities are, despite the platforms commonly being lumped under a single U2 banner. Then there are those like you and me who work across two or more MV platforms. YMMV, but as much as I've tried to become more competent with U2 over the last decade, I find the impedance mismatch between the platforms pushes me back home to D3 every time I focus energy on U2. I have apps that run on both Universe and Unidata and I competently support these apps for my many U2 clients. I also provide specialty development services and have no problem integrating with U2. But I wouldn't dare to be so arrogant as to call myself a U2 expert in this respected audience, despite my 30 years of experience with just about every Pick platform available. My experience with D3, QM, jBase, Ultimate, ADDS, GA, and a dozen other platforms still doesn't make me a U2 expert. And there are enough U2 experts here who haven't ported their wares to D3 to prove that the comfort doesn't translate in the other direction either. Coming back to the topic, the U2-only people would not be qualified to provide DBMS support for any other platform without a good amount of re-training. They'd do better than a SQL-only person but they're also disadvantaged with a number of preconceived notions of how the system works, details which don't apply to other platforms. And I believe most cross-MV people would also not be qualified to provide DBMS-level support for any DBMS unless they already focused on it. Knowing UniBASIC as a U2 developer doesn't make someone qualified to debug BASIC compiler or runtime errors for an end-user calling for help on D3. I work with people all the time who use platforms other than D3 and they freely admit they are as distant from D3 as I am from their platforms of choice. I have D3 clients who have contracted U2 people who profess to be Pick experts (avoiding the assertion of being competent with D3) only to find the situation didn't work. So while TigerLogic is open to considering someone with experience with another MV platform, I wouldn't want one of them answering the phone when I call TL any time soon, any more than you'd want me answering the Support phone at Rocket Software. That doesn't apply to everyone of course - I'm sure there are people out there who can transition well between platforms given a fair amount of time. I think that's the kind of person they're hoping to attract. As a final note, and perhaps with some irony... any of these MV companies would do well to hire people with experience with competing products. I think a huge tactical error that TL has made over the years is that they do not have enough people there who understand the other MV platforms enough to provide competitive data to prospects, or existing clients who are considering migration. That's one of the reasons why they've lost business to competitors. D3 has many features available elsewhere, TL as an entity just doesn't know they do, or how to articulate that. So someone from, say, Rocket comes along and says to a D3 site lookie what We have and a site will leave, not knowing they already have that feature. Someone who knows both platforms could help save that loss. Well, that's TL's loss and everyone else's gain. Sun Tzu said: Know yourself, know the enemy, know the terrain. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [JOB] Work for Tiger Logic
Wow. I mean, no surprise, but ... you're nosey. :) So salary commensurate with requirements but you'd like people to guess at it anyway, even though we'll never know what it actually is. That's a spectacular waste of time. Having sat in one of the chairs for which they are advertising, and with regular contact with their Support department for the decade-plus since, I can tell you that someone who does not have the required skills will not do well there and will therefore not survive long in the job. So no, those are not just would be nice to have's, with the exception of the one item that says a plus. And unless you're providing a community service to U2 people who may be looking for work, I'd suggest that this topic is more suited to the MVDBMS group or LinkedIn than this (competing) product-specific group. T Wjhonson wrote: Looking at these requirements, and the well-known phrase that salary is commensurate with experience. I wonder if anyone wants to hazard a guess at what salary these requirements might command in Orange County. http://www.tigerlogic.com/tigerlogic/company/careers/rdemp.jsp I know what they'd command in the bay area and it's not pretty :) Of course maybe some of these requirements are merely would be nice to have's ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Signature Capture and use
Harold, I created a general-purpose solution for this a few years ago, documented on my blog. I'd be very happy to discuss it with you next week. (out of the office this week) http://nebula-rnd.com/blog/2009/09/signatures01.html Harold.Oaks wrote: I'm sure some of you are implementing signature pad capture to a Universe system. What are you using and doing? I'd like to look into adding that feature to our jail system. -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Signature Capture and use
Indeed. Typed manually on my phone. Here is the correct link. Thanks. http://nebula-rnd.com/blog/tech/2009/09/signatures01.html Robert Frailey wrote: Link doesnt work http://nebula-rnd.com/blog/2009/09/signatures01.html - Original Message - From: Tony Gravagno Harold, I created a general-purpose solution for this a few years ago, documented on my blog. I'd be very happy to discuss it with you next week. (out of the office this week) http://nebula-rnd.com/blog/2009/09/signatures01.html Harold.Oaks wrote: I'm sure some of you are implementing signature pad capture to a Universe system. What are you using and doing? I'd like to look into adding that feature to our jail system. -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. ___ 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 -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Recognition for Rocket and Rocket's U2 in dual rankings today!
From: John R. Israel I believe new management came in and decided to totally re-write everything is something else (SQL?) (huge snip) Here is an article related to the RR debacle. It was a $67Million mistake that other companies should learn from. http://www.roughtype.com/archives/2005/09/thanks_but_no_t.php Other articles are still available I'm sure, but finding them is kind of tough now given that this was from 2005. We were discussing this and a similar failed effort at Oxford Health in CDP between 2005 and 2007. I proposed then that we could create a whole page at PickWiki called FailedMigrationsFromMV. Funny how so many years later that still seems like a good idea. ;) RR had a lot of bright .NET/SqlServer types who arrogantly thought they could completely replace the rules of a system that had years of detailed MV rules. They over-designed, over-coded, and did all of the things that curmudgeons accuse new developers of doing with the new toys that come around every couple years. They thought they knew better without understanding what it was that they were trying to replace. To their credit, RR announced the error, wrote off the $67M, and then went on to do something else. Most of us remember that they failed in their first attempt but I don't know anyone who knows what they did after that - certainly no one in this industry who will admit that they were successful at migrating away from MV. :) My take on this was that this industry lost something like 25,000 seats because there weren't enough people there to convince RR that they already had the tools required to update their existing application for a new millennium. In this regard, Their failure is Our fault. I can't tell you how many times I find myself in end-user meetings where senior management Still doesn't know what's possible with their MV system (until I speak up). MV is Always on the chopping block just waiting for the axe to fall. For this condition I continue to blame the DBMS providers and their hands-off policy regarding their reseller channel, where most VARs would rather tell an end-user that something can't be done than to admit that they just don't know how to do it. While that's a discussion for another time, I suspect that's how it played out at RR too. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV] UniObjects.Net vs Thrid-party Products
I'll preface by saying I catch some heat when I advocate some products, because I happen to sell them too. People confuse the cause and effect there. I sell products because I use them - I'm putting my money where my mouth is. I was using them first as a choice, having considered other options just like fellow colleagues, and then I decided that I liked them so much that I would sell them too. When I sell a product like mv.NET, I get feedback from my clients. I pass that back to the up-line developer, we get product changes, and we all win. That's my motivation - to ensure that the products I like stay good. Some people here know that when I decide that I can't rely on a product anymore, I stop advocating it. And with that said, I've been using mv.NET happily for about 8 years now. As Symeon says, mv.NET is a super-set of the free DBMS tools. Comparing them is like comparing water to coffee, apples to apple pie, or radio to TV. You can survive on the former but you'll get much more from the latter. The difference with the software, again echoing Symeon, is that mv.NET doesn't need UO.NET or any of its functionality - mv.NET can use telnet or SSH or UO as the basic transport too. IBM saw the value-add of mv.NET compared to UO.NET, and purchased a version of the source to re-brand and sell to U2 sites. I don't think they continued that - their version couldn't keep up with mv.NET itself. The point here is to emphasize the conclusions of the evaluation of their own product. While this doesn't apply to most U2 developers, one of the big advantages of mv.NET is that works for all MV platforms. For third-party developers this is huge because it means reporting tools, communications interfaces, and entire applications can be portable across a wider variety of DBMS products. YMMV Please feel free to contact me for more info. Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET worldwide and provides related development services http://Nebula-RnD.com/blog http://Twitter.com/TonyGravagno From: Symeon Breen Uniobjects.Net is the base requirement. MV.NET builds on this and gives you a heap more (tho infact you can use it without uniobjects.net) So it depends if you want simple connectivity to the DB to do commands and subroutine calls, for which uniobject.net would suffice, or if you want any of the other fancy stuff on top that MV.NET will give you ... From: Perry Taylor I'm investigating the pros and cons to using UniObjects.Net vs third- party products such as MV.Net, etc. Anyone care to chime in with your experiences? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV] UniObjects.Net vs Thrid-party Products
From: Wjhonson You stated below that its transportable. Maybe you could give a few examples of what mv.NET can do for those who don't need the transportable feature. Fair question. I'll provide some examples here but invite anyone with more detailed interest to contact me directly. - mv.NET includes a code generator which creates strongly typed classes from U2 files. You can pass an assembly to someone who has never seen the MVDBMS and they'll see a collection of Customers, with individual Customer objects that only expose what you want them to see. One developer might just get name/address info, another will get read-access to accounting data, and another will get read/write access to contact info. Of course you can create POCO's manually but you don't need to. The generated classes can use your BASIC programs for read/write/select. And because they're partial classes you can intercept/insert/override functionality. - mv.NET includes sophisticated session management to ensure you have processes to respond to inbound requests, and you can manage exactly how that's done for all of your applications in one easy to use interface. - mv.NET includes built-in paging for selections. Most new multi-tier developers will code a Select and populate a list box with the results, and Then realize that this doesn't work well when a million records are in the pipe. But here your code can set a retrieval interval and just pull data in batches, as needed. - mv.NET includes an RPC class which allows the DBMS to trigger client-side events. - It has a built-in XAML generator/editor for Silverlight. - It has built-in web services for those who don't want to roll their own. - Similar to UO.NET it also has a built-in ADO.NET class library, allowing developers more familiar with relational databases to operate on U2 data in a manner that's more convenient for them. Note, this doesn't mean you need to do SQL queries against your MV DBMS - it means it looks relational to them without you needing to do anything on your side. For every one of those and other features, different people will say I can do that on my own. In my experience about 50% of the people who say that about many features might be able to. But the point is that even those folks will wind up writing a lot of wrapper code that's already built into this other product. And they'll need to maintain it. How much is your time worth? Is free software really free when you spend That much time building on features? The decision here is up to the individual. After writing my own connectivity products for years I decided to stop doing the lower-end stuff so that I could focus on higher-end apps and interfaces. YMMV. HTH Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET worldwide and provides related development services http://Nebula-RnD.com/blog http://Twitter.com/TonyGravagno ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV] UniObjects.Net vs Thrid-party Products
From: Daniel McGrath Tony, out of curiosity, have you looked at UO.NET's replacement: U2 Toolkit for .NET? Not recently bud. Once I settle on a toolkit that works well, my research in that specific area slows down. How much research do we continue to do on cars after we've made a purchase? Do we keep house hunting after we move into a new home? It's appropriate to be informed about what's happening in our industry, but I have dozens of platforms, frameworks, toolkits, and related versions that I need to keep up with - that still means time needs to be allocated for hundreds of permutations of all of these blasted software packages that are all supposed to save us time. Like everyone else here, I need to use whatever free time I have to hone my skills with the latest versions of the tools I already use, rather than continue to look into replacements. Despite professional curiosity, at some point we need to stop playing with tools and just hunker down to write real code. I'd like to say that at some point I'll cycle back around for another look at the U2 toolkit, but remember that for my purposes of writing applications that are the same across all MV platforms, a platform-specific tool is generally off of my radar. Sure, it would be nice to save my clients money using free tools, but I have U2 clients that have been running a single license of mv.NET for years. The tiny cost of the tool is trivial in the big picture. People need to think hard about exactly how much free costs them, or how adverse they are to buying a low-cost license for something that will last years. And that's just the cost of the tool. When a U2 site posts a job ad for someone to do UI work or web services, they might say must know U2 Toolkit for .NET. If they have a tool that anyone in the MV industry can use, the scope of candidates broadens to include U2 developers And everyone else. .NET developers have already broadened their scope to the outside world. Once they/we have made that jump, there's no reason anymore to limit one's self to a single MV platform and related tools. A company that is going in this direction should think hard about branching out and then snapping right back again to platform-specific tools. Sure, you're going to find someone who does U2-only work with .NET, but why limit your scope to U2-only people? The non-end-user developers that I know who use mv.NET aren't interested in limiting themselves to one platform anymore. It doesn't make sense to not have access to that pool of talent just because you want to use a free tool. And no, the DBMS vendors shouldn't feel threatened by this - we're enhancing applications for everyone, not the competition. It's the end-users that win here as well as their up-line channel. So Rocket Software and Tiger Logic and Ladybridge and everyone else should be encouraging their developer channel to use mv.NET rather than somehow feeling threatened by it. (More than I expected to write on that one, sorry.) T Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET worldwide and provides related development services http://Nebula-RnD.com/blog http://Twitter.com/TonyGravagno ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How to create WCF oData Service using Visual Studio 2012, Code First Entity Model and U2 Toolkit for .NET?
That's some great info but I think the Stack Overflow people would object to their site being used as a blog/wiki by a commercial entity. I recommend putting nice articles like that on CodeProject.com, the company website, or PickWiki.com. T From: rkumar http://stackoverflow.com/questions/16642223/how-to-create-wcf- odata-service-using-visual-studio-2012-code-first-entity-mode ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] U2 demos and sample code now on Github
From: George Gallen What might be helpful, would be a little help Blurb about what github is, and how to use it? You can download the e-book Git Succinctly, generously provided for free by Syncfusion: http://www.syncfusion.com/resources/techportal/ebooks/git That page has a summary of the contents. (BTW, they have a Lot of other great+free ebooks there.) For GitHub in particular: - Google how to use github - At YouTube search for github. You'll find a huge number of pages and videos to suit every need and learning style. Finding information is easy. Consuming information and translating that into expertise and daily habit requires time and patience. HTH T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Illegal use of the file, select, cursor, BCI, Socket, HTTP, XML, SCTX , MQS, SOAP or database variable.
From: Wjhonson I'm assuming that a file you want to read into a Pick system, with embedded MM.MM dollars is coming from an outside source. I can't recall ever seeing 12.2 used for 12.20 outside of a Pick system. This is weird, I've seen a few discussions within the last week where people can't tell the difference between data storage format and rendering or transport format. With regard to: I can't recall ever seeing 12.2 used for 12.20 outside of a Pick system. I have news for you - they ALL do. Other systems don't store data with trailing zeros because they have no need to store them. It's up to each individual user/application to decide whether to use 1 digit, 2, 4, or none. Data is stored with as few characters as possible, which is part of the reason why we tend to store integer-only in MV. Our system of storing integers with implied 4 digit precision is flawed and archaic, but we all live with it, except where apps have been written where the author was unaware of such conventions. When importing data we can expect to see just about anything. The format is determined by accepted convention and is largely unimportant. Most applications use classes to define their data types, whether Integer, Float, Decimal, or Currency. When discussing data transfers the discussion usually includes how do you want your numbers?. To that I generally respond, I don't care, whatever works for you, just document it and keep it consistent. If they say Integer, I mask it as required. If they mask it, I convert to integer. If they want to send a dollar amount, it's usually sent with two decimals as an output format, but since we all know it's just data, it's not unreasonable to expect dollar figures with 0 or 1 decimal. In other words, there are no conventions - we make it up with each project and site, following app-specific standards as possible. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Illegal use of the file, select, cursor, BCI, Socket, HTTP, XML, SCTX , MQS, SOAP or database variable.
There are a couple ways to prevent automatic numeric reformatting in Excel: 1) Any value preceded by a single quote is not treated as a number and is thus not reformatted. So a telephone number becomes '123-456-7890. 2) If the document is real Excel and not just CSV rendered in the Excel application, you can format the column to be Text. This also has the advantage of avoiding a warning which may display from 'values, where Excel keeps trying to let you know that a value looks like a date or some other format. [ad] And of course all of these situations are avoidable by using NebulaXLite. http://Nebula-RnD.com/products/xlite.htm [/ad] HTH T From: Jeff Schasny You can create a custom format in Excel containing a zero mask of how ever many characters you like and that will preserve (well, actually replace the already stripped) leading zeros. Anthonys Lists wrote: With our phone numbers ... we are forced to use a database that exports to excel ... And if you don't put spaces and whatnot in phonenumbers to force excel to realise it's text, all your phone numbers have their leading zeroes stripped ... (I believe it's written by outside consultants, but the lady internal to the organisation who looks after it thinks it's wonderful. As a database programmer forced to use it, my opinion of it is unprintable ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] AES Encryption Of CC Numbers
From: Wjhonson en.wikipedia.org/wiki/AES_implementations Looks like no to me. Maybe someone could write one ? Yeah, and maybe someone could give the source away for free too, eh? Things like this shouldn't be built into a database. The database should call to well-maintained underlying utilities written by people who specialize in such things. That can be done with GCI or other mechanisms. If you do link with a dedicated solution, I know some people have expressed concern that simply by transferring credit card data into another tool the data is exposed. For example, the most naïve approach would be something like this: CMD = \aes.encrypt \ : INFO : \ result.file\ EXECUTE \sh -C \ : cmd CAPTURING OUT ; * ignore syntax READ ENCRYPTED FROM F.TMP,\result.file\ ... The problem there is that a hacker could put code into the system to log process activity. For example, the above commands would be openly visible to a ps auwx | grep encrypt. Some people like the idea of writing stuff to disk, processing it there, and then importing the results. But a simple file activity monitor could grab that data in the time it takes to process and delete it. Now someone could respond that if you have a hacker who can do that on your system that the gig is already up. Sure, but that's the nature of hacking, and blind confidence in security is exactly what leads to announcements in the nightly news, fines, and law suits. One disgruntled employee or consultant could easily accomplish that - attacks like this don't always come from outside. Just the concept of storage of credit cards brings up all kinds of warnings. There are laws and protocols for such things requiring a Lot of research and internal compliance - this game is not for amateurs. The bottom line is usually simply not to do that, which leads to authorize.net and similar solutions proposed in this thread. Don't accept cards in your own web pages for local storage, and don't allow customer service people to enter CC data in your green screen app. Use resources provided by professionals. Integrate. Everything doesn't need to be DIY. Shout out to Gary Heiman - wow dude, it's been more than 25 years... T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] FOSS
From: Wjhonson Tony, the link I posted has tons of free code. Just no MV BASIC implementation. So the tons of free code there has nothing to do with your suggestion that someone write something new. So giving it away for free is not anything new, although I know that attacking that idea is your own personal hobby horse :) I manage and/or contribute to freeware on Google Code, Codeplex, Sourceforge, GitHub, PickWiki, my own freeware page, and elsewhere. I also provide occasional forum support for various freeware projects and Android apps. It's easily evident that I don't have any axe to grind against freeware. I was just suggesting maybe there could also be a BASIC algorithm listed on that link, along with all the other ones listed. And I just have a visceral reaction when people _assume_ that something of value is going to be written on uncompensated time, given away for free, and then maintained at no cost by people who obviously derive commercial benefit. You mistake my pro-FOSS comments as attacks. The problem with the FOSS model is that it's horrendously abused by people who take but don't give back, by people who assume that there is no cost in terms of time or contributions, let alone money) for what they consume, but people who casually suggest that someone else will provide slave labor for the benefit of all. The FOSS world is a mass graveyard of dead projects abandoned by altruistic developers who've been abused by hoards of people who love their software creations - and when one developer is beaten down the locusts fly off to the next project. Our own community has hundreds of offerings that have suffered this fate. I support the model enough to point out its faults in the hope that good software doesn't go away because of the propagation of this inane idea that somehow it's all free - as in beer. One of the problems with this MV industry is that it's all about Take and not about Give. If this industry as a whole had a clue what FOSS was about (rather than just paying lip service) then we could be following the lead of many other platforms out there and attracting new developers. Far from attacking FOSS, I have strong objections to those who chronically don't understand how it works, especially when that erodes at our everyday business lives. _That_ is the hobby horse that I ride. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] revision control with git/github
We had a discussion about his recently in the MVDBMS group. http://groups.google.com/group/mvdbms From: Aaron Titus I am curious to know if anyone has implemented revision control with git or github for Unibasic programs, and system builder objects. If so, how did you do it? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] History of Prime Information
No, SMI was always in Des Plaines, IL. Oak Brook was home to the McDonalds User Group (MUG) which managed accounting for hundreds (thousands?) of McDonalds hamburger franchises. That software was originally in RPL until it was ported to BASIC. (I had a hand in that.) I have a couple clients in Oak Brook now, including a Universe site that will not be outted without their permission. I dunno about any other large/famous sites... T From: Mike Street SMI and, of course, RPL. From: Wjhonson Now where have I heard of Oak Brook before? I mean in relation to Pick ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Refactoring Tools
Brian, on my freeware page I have a Merge/Split routine. I use it to merge Included code modules so that I can run, debug, and edit them as a unit, then split the modules off back into their components. From there, re-compiling all code allows the entire app to benefit from an individual effort. http://Nebula-RnD.com/freeware/ The utility gets a uniquely stamped backup of every item before every operation to ensure nothing gets lost. WRT your query, it sounds like you want to factor out common code. I'd approach this by writing a utility that scans items for common blocks of text, wrapping those blocks with start/end markers which I use in the Merge/Split. So let's say you have 100 lines that start with label FOO: * do foo. Wrap that as follows: *! START.INCLUDE INC.FOO FOO: * do foo *! END.INCLUDE With all program items marked like that, run the Merge/Split on them and do a split (without a prior merge since you're creating new Includes). You'll get a single INC.FOO item and all other items will then INCLUDE INC.FOO at the right location. This will take some manual effort. You don't really know what blocks to refactor out until you've looked around for common patterns, and you will find a lot of blocks that are close but not quite the same. You could factor out all FOO subroutines into individual items, then delete items that are the same, and modify code which includes that code to use a single Include item. The most benefit comes when you find lots of large common blocks of code. This usually comes in the form of long EQUate lists, Common definitions, blocks of Open statements, and logging and other housekeeping. You may even find value in Includes of Includes. If you do use the Merge/Split freeware, I'd appreciate if you'd pass back any updates you make for this specific purpose. Aside from that more manual approach, check out mvToolbox. It has a ton of features that do all sorts of magical things - for all I know it might have some hidden function to help to refactor out an entire application. Some developers load it to every new site they work on, to organize app code before doing any other work on it. (Yes, that needs to be done properly.) http://www.mvtoolbox.com/index.html Use that link to avoid getting passed off to the awful awful web ring. While marketed via a poor website, mvToolbox is great software which only suffers from having too many features and too much documentation. Get over the too/too issue and you will find a number of gems in there at too low of a price for such a useful tool. HTH T From: Brian Leach I'm doing some intensive work with a large UniVerse site to assist them in migrating their 20 year old code base and working practices to full Agile, XP and TDD. They are really enthusiastic in embracing the modern world and making good progress, but there is a huge amount of legacy code to be cleaned up and test harnessed. So before I spend time possibly reinventing the wheel, does anyone know of any good refactoring tools for UniVerse Basic? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] c#/uniobject/chinese/spanish characters
Doug, I wrote a couple short extension methods which convert from Arabic to UTF-16 and back. The pattern goes like this: - Get input from GUI - Convert from known code page to utf-16, in this case that's windows-1256 - Save the data into MV ... it's just text and doesn't get munged on the wire To display in GUI: - Read the text from MV - Convert back from utf-16 to original code-page - Display in GUI I believe you would just substitute a different code page for other languages - obviously it must be the same language going in both directions, this isn't Bablefish. ;) It works great for platforms that have no I18N or other language support. This dealer in Amman Jordan has 40 old mvBase systems in the field that are now adopting a GUI based on mv.NET and this small bit of code. I don't think you can sort or select on this kind of data in MV. Although once it was in the DBMS, I think we were able to see everything great with AccuTerm in a character interface. It works in D3 too. I didn't try any others. U2 might support a better storage mechanism, so let's see what others say. But I'll be happy to provide the C# code that does the translation. Just email me. HTH 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 From: doug chanco Subject: [U2] c#/uniobject/chinese/spanish characters anyone care to share any suggestions on the best way to create pick records that include chinese/spanish characters via c# and uniobjects or just c# and writing to a unix file? I have some ideas I am mulling around in my head but I thought I'd tap into the vast knowledge base available on here. I am basically looking at creating a pick record (or a unix one) that is a mixture of html and text (in english/chinese and spanish). any thoughts/suggestions are extremely welcomed ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Social Networks for MV
*From:* symeonb Marketing has always been about multiple ways to do predominantly the same thing you have a newspaper campaign, poster campaign, radio, tv, cpc ads, web banners, cold calling etc, these are just some more. From: Bill Haskett That isn't mostly true if you're a small business. ... In a small business, there isn't such a redundancy of resources that these decisions don't matter. In short, I believe that's only a small part of the decision process. A longer response is on the blog, now Part5 *gasp*. It's generally a recap but if you're still not quite sold in one direction there's extra commentary there that might help. http://Nebula-RnD.com/blog/tech/mv/2013/04/socialmv5.html Regards, T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Hibernate and UniVerse
Dan, that's a great answer and the right answer and I don't mean to take anything away from it here. This is one of the biggest stumbling blocks for many of us in the MV world - getting mainstream tools to work as easily with our databases as it does with others. I spend a Lot of time doing things like creating ObjectDataSource wrappers in .NET for MV, where SqlDataSource and XmlDataSources are readily available. I created an Entity Framework provider for MV. I write custom BAL/DAL implementations in Java and other languages simply because these can't be generated from MV server schema with existing tools. Get FOSS software for ECommerce, a CMS, or CRM, and it will have ready-made data access for MySQL or perhaps SQL Server - but you can't use them with MV. ORMs like Hibernate, NHibernate, CSLA, or OpenAccess requires custom providers, as do NetTiers templates (for which I created a provider) and other code generators. Getting help at that low level is difficult, lonely work because very few people write that kind of code and documentation is always sparse. Hibernate has been around for a decade, but poor Bill here is facing this task on his own like this is some new technology. I have to believe a bunch of people have dabbled with this over time, perhaps even made inquiries to their VARs, or with IBM/Rocket Sales or Support with questions like do you support Hibernate, and if not, who might be able to do this? Does anyone track requests like that? Does Marketing ever get a peek at inquiries like that to consider new development, or perhaps to act like a partner and link up developers in the field with common interests? It seems like every time a question like this comes up, it's from one guy who gets convinced that he's the only one who's ever asked the question before. And given all of this, is it any wonder that we can't get new developers into this industry when there are no standard providers (database access layer / interfaces) for common mainstream libraries and products? Why don't the MV DBMS companies have a standard protocol for new technologies: When something new is on the horizon, do some research in the client base, find out what people need to do development, and then (based on cost-justification of course, which is always tough) create the tools. But be pro-active about it. Consider it an exercise in self-preservation. off the soap box / Thanks for your time. T From: Daniel McGrath Every relational database uses its own custom 'flavor' of SQL (after all, that's what standards are for, right?). To handle these differences, Hibernate uses the concept of 'dialects' so it knows what keywords are valid for that type of database. UniVerse is not one of the stock dialects available, so you will have to create a custom dialect to support it. On the positive side, this will allow you to register keywords such as SAMPLE, SAMPLED and UNNEST that are unique to UniVerse. I can't offer you much more help than to point you to some starting points: http://keyurj.blogspot.com/2012/12/creating-custom-dialect- in-hibernate.html http://www.systemmobile.com/?p=177 Hope it helps, Dan McGrath Managing Director, U2 Servers Lab Rocket Software From: William Brutzman When trying to do ORM (Object Relational Mapping) with ColdFusion... I am getting an error message... Hibernate Dialect must be explicity set for dataBase: Universe. Tips and tricks on Hibernate configuration settings would be appreciated. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Compressing PDFs
In addition to 7-Zip (the software, not just the compression algorithm), consider WinRAR. They're both based on the same UnRAR decompression. They both support multiple platforms, multiple compression methods, multiple volumes, security, etc. I hope I don't start a war by suggesting that anyone spend money for software or anything, but WinRAR is shareware for $30 and has Windows extensions for a UI that make it worth it to some people. You don't need to pay for it, and I'd guess most people do not, but it's a good thing to do, especially for a company. There is a tiny nag on file opens which is easy to dismiss. I've been using WinRAR for almost a decade and swear by it for all compression needs. For some people the choice is just a matter of personal preference where most other comparisons are similar. You'll see arguments out there about 128bit AES vs 256, or how many CPU cores are utilized, or whether you get 80% compression vs 85%. At some point it just comes down to feel. I'd recommend that you do not provide your trading partners with software, but tell them the compression mechanism you use and why, and then point them to a couple websites from which they can make their own choices. Otherwise you could get stuck providing support because YOU told them to use brandX. As to your local storage, consider delivering files to your trading partners in a format that's easy for Them to manipulate, but re-compress/store files in a way that's easy for You to manipulate. The content is ultimately the same and file transport/unpacking issues are rare and easy to remedy. HTH T From: Israel, John R. There are several issues here that I am dealing with for this project. #1 The company that we are sending the PDFs to is Windows based, so I am limited as to the formats they can accept (zip and 7z being two of them). #2 In my testing, I have found that 7z gives significantly more compression. In my test, I took a single PDF that was 17k in size. I made 3 copies of it for a total of 17 x 4 = 68k. Using a traditional zip, I was able to compact these 4 PDFs down into a 33k file (about half). HOWEVER, after compressing it down with 7z, those same 4 PDFs went down to only 8K! That is a SIGNIFICANT difference. #3 I wrote a program we all use that archives the intended file, then transmits the archive to the 2nd party. That way, if they did not get it, I can re-send it from the archive w/o having to try to re-create the data (which may have changed). Also, if there are any issues, I can look at the archive file and determine exactly what they got and then determine if the problem was mine or theirs. From: Israel, John R. HPUX, UniData SB: After a bunch of work, I have a UNIX directory that has a bunch of PDFs. I wish to bundle these PDFs up into a 7zip formatted compressed file. I see that there is a ported version of the Windows version of 7zip for UNIX called p7zip. Has anyone installed p7zip and if so, what else needed to be installed with it? Is it stand-alone or is it dependent on other software packages being loaded first? OR Does anyone have a simple way for UNIX to run the Windows command line version of 7zip against my UNIX PDF directory? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Social Networks for MV
Oh dear, you gentlemen seem to have coerced another blog out of me in response to your comments. :) Really, I'm just trying to keep my content in one place so that others can see the common message. http://Nebula-RnD.com/blog/tech/mv/2013/03/socialmv4.html From: Robert Houben If you are consumer oriented, you may need to assign more resources to managing the activity on a Facebook page, but then you'll probably get more value from it, too. Note that we are a very small B2B company, but in my opinion, the effort I've put into social media has been hugely rewarded. Follow-up for Bill : You provide property management companies with software to manage properties. As I understand it, your browser-based app accepts requests from residents which are then scheduled for handling. Consider that in your business you could offer an option for the system to send a tweet to a resident when their lights are fixed or when the garage is unavailable. This is how people use these services now - it's often very pragmatic and not social in the least. Consistent with my messages here - don't just look at these media with a subjective/personal view. Your clients could be willing to pay for integration with social media. But as many of us with decades of experience here know, end-users won't ask their Pick developers for a lot because they generally don't expect that they will get what they want. So offer it up. See what happens. If nothing else, just the fact that you're offering to integrate with social media puts you in a different category from traditional Pick developers and application providers. HTH T [ad]I would be remiss if I didn't mention that I can integrate any U2 system with any social media service. Inquiries for related services are welcome.[/ad] Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com 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] SENDING BARCODE COMMANDS TO OKI PRINTER
From: Nancy Fisher Thanks. I'm beginning to think we're having printer commands stopped by our (accuterm) terminal interface. Accuterm!? Heck yeah. You didn't mention that part! :) Those ESCape sequences tell AccuTerm to do all sorts of cool stuff. You'd hope that it's smart enough to not process the codes until it receives the AUX-off, but... Check with Pete Schellenbach. You might be able to execute a script to turn off command processing and then do something to turn it back on something that would not occur during the printing process. T [snipped mile-long digest] ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SENDING BARCODE COMMANDS TO OKI PRINTER
General response... This is why I love PrintWizard: PRINT \barcode src=1234567890 style=code39\ Done! Really. Look below. Now look above. Now think about which code you'd rather maintain, or pay someone else to maintain, every time you get a new printer. Jus' sayin'... I do not sell PrintWizard and do not get commissions or any recompense. Bob Rasmussen does provide it but he's respectfully modest here. I do have pages up on my site with code samples and screenshots from a time when I was considering selling it: http://Nebula-RnD.com/products/PW/demo2.htm Save yourself some pain. Check it out. Contact Bob. T From: Nancy Fisher I'm having some problems getting the internal barcode to print on an okidata 320 turbo: Sending to an aux printer: PRINT CHAR(18): PRINTTEST PRINT PRINT CHAR(27):CHAR(16):CHAR(65):CHAR(8):CHAR(2):CHAR(0):CHAR(1):CHA R(1):CHAR(2):CHAR(2):CHAR(3):CHAR(1): PRINT CHAR(27):CHAR(16):CHAR(66):CHAR(10):1234567890 PRINT PRINT PRINT CHAR(20) I get the TEST and sometimes I get '67890'. I could certainly have the Aux codes messed up, or just about anything as this is my first attempt at sending codes to an OKIDATA. It says it's the IBM PPR emulation Mode, and has the internal barcode (using code 39). ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Date conversion..
From: Sathya Hi experts.. I have one problem in creatin a spreadsheet report with date format. One of the column in the spreadsheet is a date and it is displaying as numbers. Please help me in printing it as a date. BTW I'm using OCONV to write the value to the column. The problem isn't with MV. When you say spreadsheet people here imply Excel, and I'm guessing that's what you mean too. What most people do is they generate a CSV file with no formatting and then expect Excel to format it in specific ways. The simple answer is, if you just want text in Excel, put a single quote before the value: 123, abc, '3/22/2013 You can also force it to text like this using a formula: =3/22 The immediate response might be but I want a Date column. OK, but you're not doing anything to tell Excel that the column itself should use date formatting. [AD] This is exactly the reason why I created NebulaXLite. It gives you any kind of real Excel formatting of your choice for any cell, column, or row. With nothing but BASIC, you can: - use set fonts, colors, text rotation, and borders, - set column widths and row heights - merge cells, use hyperlinks, add comments to cells - set document properties, add multiple worksheets in a workbook - and documents open in Google Docs and OpenOffice Compare all of that (and yes, much more) to plain old delimited text. Lots of companies here use NebulaXLite. It's free for developers and only a one-time purchase price of $200 for production end-user systems. Support and enhancements are free. http://Nebula-RnD.com/products/xlite.htm [/AD] HTH Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com 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] Social Networks for MV
From: Robert Houben And just to mess with your heads a bit more... http://smallbiztrends.com/2013/03/10-reasons-business-pinterest.html Oh dear, you seem to have provoked yet another blog. :) http://nebula-rnd.com/blog/tech/mv/2013/03/socialmv3.html Summary: It's not just the individual services. Each of us has different roles in life. Pinterest might not appeal to us as MV people but it might appeal to the companies we support who wish to use it for marketing. And while you might not want to tweet about your MV epiphanies, in the broad landscape of social media there are many APIs (web services) for extracting data into your MV system, and publishing data from your MV system. As professionals and business people, ignoring this can be a strategic mistake. Thanks for the ongoing inspiration. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Social Networks for MV
Wow, what an awesome set of responses. Thank you VERY much. There are consistent opinions in many of the responses. So I hope all of you will forgive if I respond to my own post here with a new sub-thread, and with another blog, as I wanted to keep all of the thoughts together. http://Nebula-RnD.com/blog/tech/mv/2013/03/socialmv2.html In summary, what We think about social media is unimportant. What is important is, that is where other people are, so that is where we should be too. I'd be interested to know if this second blog entry prompts any re-consideration. I recognize that this isn't directly a U2 topic. This is more of an industry topic, of which U2 users are a part. Increasingly, U2 is becoming less associated with the MV industry and more a self-contained industry of its own. I don't think that's the right direction. We all lose personally, and the industry suffers, because there are so few common places where MV/Pick users congregate. I'm encouraging people to broaden the horizons rather than furthering the contraction. Our scope as more diversified professionals shouldn't be limited to any one group, or just to U2 groups in different web sites. In this forum in the past, we've discussed the merits of email versus browser-based forums, Usenet, Google Groups, etc. The passionate preferences expressed for all of these media is exactly the same as that expressed, for or against the various social media. I'm suggesting that now the question is not just which forum but what other media should we consider in addition to forums? It's almost the next inevitable question ... Twitter is OK for some purposes, not others. Same with LinkedIn, etc. No one medium is good for all purposes. I think everyone should give proper consideration to each venue, individually, on its merits as a tool for providing and receiving specific kinds of information. Your (really really verbose, thankful, and apologetic) colleague :) Tony Gravagno, Nebula Research and Development USA 949-380-1668 Skype: gravagnot http://Nebula-RnD.com/blog http://Twitter.com/TonyGravagno http://www.LinkedIn.com/in/TonyGravagno Visit http://PickWiki.com! Contribute! http://groups.google.com/group/mvdbms ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Social Networks for MV
I'm on a mini campaign to make more MV colleagues aware of the benefits of using Twitter and other social media. Everyone is welcome to visit my blog on the topic and to comment here or there. http://Nebula-RnD.com/blog/tech/mv/2013/03/socialmv1.html 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] Replacements for Old SB?
From: Martin Phillips The Nucleus product from BinaryStar (www.binarystar.com/nucleus.html) can import SB projects. This is the recommended route for SB users migrating to QM and is probably equally applicable for users migrating to other platforms supported by Nucleus. Thank you my friend. I didn't know Nucleus had this feature. I trust Harvey would build quality into that import process. The next question would be whether it's a high-quality import of 80% of the functionality or a high-quality import of 98% of the functionality. As time permits I'll follow-up on this, but if anyone has done this specific conversion I'd be interested to know of the experience. Regards, T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Replacements for Old SB?
WJ: http://www.intersystems.com/press/2007/sc.html http://www.casoftware.co.uk/OSMOSiS.html -Original Message- From: Tony Gravagno I'm also aware of another product based in the UK that has excellent tools for migrating From SB, but I don't like where they migrate To. From: Colin Alfke What about Osmosis? (Please forgive what's as much a dump of information as introspection. I hope it's of use to someone.) That's the one. I won't disparage a fine product like this. Osmosis is good software, does a lot of things, and its SB conversion is the best I've seen. But Osmosis hasn't caught the attention of this industry. I won't recommend replacing a dead-end offering with another offering that doesn't have an established history and no firm future. It's a good technical solution but as yet I don't think it's a good business decision for a variety of sites. Perhaps in the future. About its future: InterSystems now has a partnership with SC Systems who created Osmosis. I'd be real concerned that this whole exact scenario could play out again at some point with InterSystems only supporting Osmosis over Caché. What a tragedy that would be for some shop that just wants to sell widgets. Now, I said I don't like where they migrate To. That's wrong. Like SB, Osmosis supports both character UI and thick-client. It's not that I don't like it. It's that I haven't had a single department manager tell me they want a thick client GUI in almost a decade. Anyone who is looking to me for GUI these days wants a browser. That's what I based that statement on. However, the success of SB and ATGUI fly in the face of that. People probably just ask me about browser UIs because that's what I tend to talk about in public. These orphans who would rather face a hard drive crash than upgrade are probably not that picky. They probably could do well with a thick-client GUI, and that means Osmosis. Given the politics of the product I'd still have a hard time recommending it at this time, but if a site is willing to get back on support and spend the money to bring their app into this century, then Osmosis might be the right, perhaps only solution for them. As a side note, with DesignBais resembling SB as it does (foundations in SB actually), at one point I tried to pull together the teams from DesignBais and Osmosis, to combine the best of what these products have to offer - excellent SB conversion into a well-supported browser-based product. Neither side was interested - and years later I'm still constantly stumbling on potential prospects for that. Oh well. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Replacements for Old SB?
I'm still running across sites that have 1990's versions of SystemBuilder on different DBMS platforms. What's the latest wisdom on either migrating away from SB to another cross-platform product, or the pain of migrating/upgrading to a current UV/SB+ ? I'm fully aware that DesignBais is very familiar looking to SB users but there are no good conversion tools to get to that product. I'm also aware of another product based in the UK that has excellent tools for migrating From SB, but I don't like where they migrate To. Thanks for your thoughts. T Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET 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] Replacements for Old SB?
From Wjhonson Of all the jobs posted over the past several years, several have asked for SB+ experience, none have asked for any other product of that class. I'll respond to that here because it dove-tails with what I have below. You don't see ads, in-part, because the sites still running the old software are largely not aware that an MV community exists that might respond to such an ad. Many of them don't even know what software they have running on their DOS system. Most of them that I run across have no consultants (I dare say Value-Add Reseller) who strongly insists on upgrades. The result is that they only reach out to the world after a hard drive failure, hurricane, or some other catastrophe. More below. From: Brian Leach So an 80% conversion is easy .. Yeah, everyone claims to do 80%, some only really do 50%. But we all know it's that last 20% that occupies your time for the next year or three. So perhaps to further refine the query, I'm looking for tools that really do bring us closer to that 95-98% mark - with no marketing fluff to bridge the gap between there and 80%. I don't have any immediate opportunities but I keep stumbling on these poor sites. And if I do, and picking up orphans isn't my business, then you gotta know that people who do go after that business must be finding more of these. Some of these sites have gone through developers (aka snake-oil salesmen) who claim they're going to convert the software but never do, and eventually the sites just migrate away from MV. It's a terrible story. [uh oh, soapbox alert] You'd think the MV DBMS providers would take some interest in this but I've yet to see any of them pro-actively offer assistance to any of these sites, for-fee or otherwise. I know the original intent was to discontinue support for SB and earlier SB+ in an effort to force end-users to migrate to U2. That tactic worked for some sites but the people who implemented that policy simply didn't have a plan-B for the large number of sites that didn't fall for it. They were thinking about starving out their DBMS competition by leveraging this tool. What actually happened is that end-users decided not to upgrade their DBMS just so they could keep using SB, and these sites migrate away from the model as soon as some young nephew comes along. So everyone loses with this predatory approach. I'm not asking any company to maintain software when it's not in their financial interest, nor to chase small sites that are more inclined to drop support than to migrate to a new platform. But from a marketing perspective we all lose when a policy like this is only half-implemented. Regards, T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Replacements for Old SB?
From: Wjhonson Not sure what you mean by saying that discontinuing support for SB would make people migrate to U2 ? System Builder and U2 have been married since the days of Ardent. Not all U2 sites use it, I would suggest no more than one third of all U2 sites have ever user System Builder. Maybe you meant that they wanted people to move to .NET and Uniobjects? Prior to the SB/U2 marriage, SB wasn't as monogamous. SB and SB+ were supported on other MV platforms. Ardent or IBM decided that SB+ would not be supported for other databases. It was an obvious effort to compel migrations to supported platforms, now only Universe and Unidata, where end-users would also now be forced to pay for DBMS licenses in addition to SB. Some end-users migrated from their original DBMS just to keep SB, it wasn't any newfound appreciation for U2. Many of these sites don't care about the DBMS at all, they just use whatever their VAR sells them under the application. I'm talking about the sites that had a choice and decided not to play. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Replacements for Old SB?
From: Wjhonson Thanks I never knew that history. I've been fairly focused on [what is now called] mvEnterprise, followed by Universe, MvBase, and then back to Universe. So never got into the D3 stuff. So if SB is not supported on D3, I wonder if there is a competing product that runs on D3, *and* more importantly actually has a toe hold in the market. Well, I didn't mention D3 in my original note because that's not the only platform affected. mvBase is also affected. I dunno about mvEnterprise. But yeah, let's face it, Ardent/IBM targeted PS/RD/TL with a legitimate but fairly hostile competitive move, and yes all of those platforms belong to TigerLogic. As to competing product, I wouldn't really use that term. If you use a product like SB that you can't get away from because your application relies on it, then there is no competition as in alternatives of choice, any more than chocolate is an alternative for someone with a cocaine habit. That's why this was a fairly predatory tactic. If one considers alternatives in the same class as SB+ for _new_ development, there are a bunch of them including DesignBais, Viságe, ATGUI, and OpenInsight. Those are application development platforms. Then there are connectivity tools with similar but varying degrees of integration and GUI design, including FlashCONNECT, mv.NET, UO.NET, and Coyote. All of these tools, and many others compete with SB+ in an audience where people have more of a choice and limits on time and cash. My original point was that there's no clean path from old SB to _anything_, including the current SB+. I can't easily recommend an old site migrate to UV with SB+ now because the pain is about as bad as going with other options. The options I want to avoid presenting to any MV user is migration away from the platform, or getting a completely new MV application. There are plenty of people offering these solutions. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] ISO Date Format
It's things like this that make me wish more MV platforms had user-defined processor codes. U2 excels in the versatility here. I can't use wonderful codes like this because most of my code needs to work across platforms. Wah. :'( T From: Charles Stevenson OCONV( 16507 , DYMD[4'',2'',2] ) -- 20130311 ICONV( 20130311, DYMD[4'',2'',2] ) -- 16507 From Brian and Robert: D-YMD[4,2,2] ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Unidata index and short-circuit evaluation
Side comment: I understand what Wil is saying and I think he has a valid point. But I believe the value of the point is now insignificant. The tiny bit of contention that Will brings up here is about just how much disk access is done by any given process. Eliminate disk reads and the process speeds up - or so it used to be. I confess that over the last decade my certainty about such matters has continued to dwindle, as well as my concern. It used to be easy when there was a single fixed drum with some number of platters and heads, sectors were 512 bytes, rotation rate was 5400rpm, and you could measure memory + L2 cache and get some idea of where your data was and what the latency to data was going to be like. These days sites are running many different kinds of drives. SSD (HHD and now SSHD) drives now have as much capacity as disk-based drives, making disk almost as fast as cache (depending on what kind) - and the cost has come down to nearly the same price as hard drives. These tiny disks spinning in a box are almost as obsolete as 9-track tape. Now couple that with virtualization where you have no idea which part of the virtual machine is in cache. Couple that with RAID where multiple drives and controllers add some latency, but also reduce some disk hits with striping. That's just in the hardware, and I didn't even mention caching controllers. When working with traditional MV blobs we can also map processes to memory, allocate more frames to processes to eliminate hits to overflow and file space, and thus reduce the number actual file reads. With U2 and other systems the OS caches for us, whether on disk swap space or in memory. So what IS a disk read anymore? A read from disk is completely unrelated to actual disk activity these days. As I said above, we're not even really talking about disk anymore. Sure, at a higher level we just want to reduce the number of READ statements, regardless of where the data comes from in the universe (oh, I didn't mention virtualized data in the cloud either...) but these days, a READ statement is more like a virtual read, just telling the system to get the data from wherever it is now - it's not a directive to go to disk. I've lost touch with all of the places where data can be. But I also realized a while back that it's futile to beat my head against a wall trying to chase disk reads around for better performance this week, because I'm never really going to have a good answer, and it's just going to change next week anyway. Well, that's how I see it. YMMV Comments? T From: Wjhonson I didn't miss it. The point of the request, was from the beginning to the ending. Of course the first *portion* will be quick and use few disk reads. I was discussing the full example. From: Wol Wjhonson wrote: If your file is small enough, and your system idle enough that the file remains *in memory* for all possible scenarios below, than you may not notice speed issues. However, the monster in the kitchen, is the number of DISK READS you are doing. If your prior reads get cycled out before they are read again, then you should run a single combined select which will do all accesses at the same instant. You missed the fact that the first select is based on an index. That should not go anywhere near the data anyway. So doing it before or at the same time as the other selects is irrelevant. But yes. I based my recommendations on minimizing the number of disk accesses ... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] VOC Pointer
From: Israel, John R. I need to copy PDFs from a Windows server into a UNIX dir (where UniData lives). Can I map a VOC pointer? Other thoughts? Running HPUX, UniData 7.2.1. I'm not as familiar with internals in UV/UD as with other platforms so this may not apply - and I'm eager to understand exactly how these systems Do work in this regard... If you create a Voc pointer and use Copy, I believe the DBMS would pull data through the virtual machine, drawing it into the DBMS from the source, applying EOL/AM conversions, then writing it back out to the target with similar character translation. That can be hugely painful. On other platforms that have a virtual machine environment (blob), overflow frames, etc, that would also mean pulling lots of frames from overflow and then just releasing them. Again, a major performance issue at the time of operation, and a source of rapid overflow fragmentation if done too often. I agree with the suggestions by others to use FTP, etc, and for the reason stated here I would strongly discourage using DBMS verbs for OS-level file transfers. Now, can someone familiar with UV and UD internals confirm or correct that? Thanks. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV full screen editor
I'll second the vote for the wED utility in AccuTerm. In the recent v7.1 a Lot of welcome enhancements were made which take this Far beyond similar editors - and free with the emulator aint a bad deal either. I'm also quite fond of mvToolbox (http://www.mvtoolbox.com/) It's a fabulous bit of software, and it's only fault is that it does too much. It has too many features, too much documentation, and the author is too eager to update the product. I'm serious. This is proof of the concept that software with too many features can confuse an industry into lack of adoption. But this software does more than any other in its class in this industry, and if you like a real does everything kind of product then you should look at this. The website is unmaintained, marketing is almost non-existent, and the author is too eager to give the software away just to give it exposure. I swear, it's the weirdest story of any product around. But the bottom line is that this is great software that responds to the current inquiry. HTH T From: Bill Haskett Probably the simplest, and easiest to use, would be AccuTerm http://www.asent.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UniData PE on Fedora 18
In the bigger picture, Fedora is a hobbyist system and changes very rapidly. It's not meant to be used for production applications. You could get UV to work on it this week and it will break with a core update next week, or with some tiny dependency change or profile setting that's tough to trace. MV databases aren't oriented toward agile/chaotic environments like that. Serious developers should strive for stability in their own environment, with an eye for deployment over end-user systems with equal stability. Sure, I enjoy a challenge as much as the next geek, but at some point you need to ask yourself if you're wasting time chasing drivers and patches and hacks (like symlinks) when you really want to be doing something more productive. Get CentOS or RedHat. They're stable, well supported, and certified by the DBMS providers. HTH T From: Bob Little I have UniVerse PE running just fine on Fedora 17 which uses version 4 of libgdbm.so Perhaps the newer library is perhaps backward compatible to version 2 in which case a symlink may work. From: James Canale, Jr. Thanks for the suggestions. I'll give CentOS a shot (OpenSUSE 12.2 and Fedora 18 didn't locate libgdbm.so.2). ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Dumping data to file from TCL
From: Mike McGuane http://curl.haxx.se/docs/manpage.html From: Phil Walker Hi Mike, I might be just being dumb, but how would curl help me here? I'm, guessing he posted to the wrong thread. That's the right answer to the question by Peter in the Consuming HTTPS service thread where he asks: Is it possible to have a UV basic program communicate with or consume / use a restful http service? I use cURL all the time because it's independent of MV platform and OS. I have standard wrappers for parsing responses to various queries. Rather than wondering what SoapCreateRequest() or protocolLogging() will do for you under the covers, personally I choose to have full access to the source and control my own destiny. Symeon said as much in his note about Restful webservices are nothing magical, William also posted here about using Dynamic Connect, and I think cURL is a possible replacement for some applications for that as well. As to something like SELECT File SAVING IType, uh, if File is a remote datasource then you could use cURL for that, otherwise as we degos say, fuggedaboudit. :) Regards, T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [AD] FREE pick date conversion android app [/AD]
From: doug chanco another option would be write a web service that your B4A could call and it would use uniobjects to get pick data and return it to your program. That's the way to do it - and all such projects. You use their tools to do things in their environment, find out how to make a web service call, and use that to get into your environment. Don't try to put your tools into their environment. BTW, for real geeks, just use straight Pick BASIC code to generate Java and the apk. You can make use of tons of free code out there, including pre-developed activities and views, and also make use of standard web service client code to call your UO interfaces. Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com 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] Quick Question on u2 toolkit for .net
From: Bill Haskett Really? I've never heard that, or seen that either. Bill, in VS2008-2010 there the DataManager is built-into VS and when you open a program a menu bar allows compile/catalog of BASIC with simple keyword highlighting. These features are not yet in mv.NET on VS2012. I can show you (or anyone else) when we're online... Best, T Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET 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] : Evaluating DCOUNT
I have multiple views on this category of inquiry: I think only an engineer at RocketSoftware can answer this question. Some people actually use the non-optimization to their benefit. They count on the fact that the expression will be evaluated on every iteration, whether it's a DCount, Field, or some other calculation. Changing this could break applications. Evaluation of expressions might be dynamic - they might only re-evaluate if they need to. The BASIC runtime could setup a dirtyFlag on loops with an expression as an operand. If any component of the expression changes, set the flag. Next time through the iterator check the dirtyFlag. If it's set, then the expression must be re-evaluated, else use the previous value. However, a new problem here is that now there is a special check being set on every variable assignment, which can be a performance issue in itself. More variables involved in the expression means more runtime checks and performance can become worse than if it were just re-evaluating the one expression on every loop. This falls into the category of be careful what you wish for, you may get it. My bottom line is that we should strive for more options to define and override behaviors like this. We should have the option to make code behave as we expect, using compiler directives - and if a developer doesn't understand the options they're using, that's their problem, not a platform issue. THAT is what we should ask for when looking for features. It's not so much how it works, but knowing if it's possible to change behavior so that the runtime processes our code the way we want. 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 From: Peter Cheney Does a DCOUNT get evaluated again for each iteration of a loop? Or is UniVerse these days intelligent enough to keep track of what's going on? e.g. for i = 1 to dcount(array,@fm) *commands here next i versus totalattributes = dcount(array,@fm) for i = 1 to totalattributes *commands here next i Apart from readability and perhaps easier debugging is there an actual internal difference? I know it was an issue on older pick releases but I cannot remember if it ever affected UV? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Job on Dice
From: Wjhonson Who is this in Sacramento? I don't know of any pick companies in the Sacramento area Dude, really? Are you serious? Sacramento is a major metro area, state capitol city, and not only are you surprised that there are any Pick companies there, but you think it's worth our time to know that your personal database doesn't include such companies? Please... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Record locks (Unidata 7.2)
I think people understand exactly what you're saying, but disagree. Most applications don't use the more rigorous coding for having a Locked clause that provides additional information to the user, retries, etc. That's not wrong, it's just not necessary ... depending on the site. That said, when we used to have a lot of people in an office and a dumb terminal beeping was a recognized message to everyone, it was OK (generally) to just do the READU. These days with more alternative UIs, thick-client, thin-client, web services, mobile, etc, there's no one to hear that beep. So for modern development I would agree that you really don't want an unconditional lock hanging around, you want a Locked clause with logic to rollback the transaction and exit gracefully, perhaps with a message sent to the site admin. The penalty for Not having a Locked clause with a new UI is that the port will hang, the UI will receive a timeout (which many clients aren't prepared to process), and the DBMS port could be sitting there indefinitely with no one aware of the condition. This can cascade to multiple ports until suddenly everything grinds to a halt and GUI users around the world are unable to access the app. I believe some heads will be nodding here because I hear about this happening occasionally. T From: Wjhonson Then you're misunderstanding what I'm saying. From: Kevin King +1. Well stated. Woodward, Bob wrote: In an active user session where users are obtaining a lock for a length of time, you're right. There are lots of times, though, that lock intervention is not a benefit. It all depends on the need of the application and many situations where I would highly recommend using the default locking system of READU. From: Wjhonson I wouldn't however *recommend* this approach to locking as the user can never tell if their terminal is waiting on a lock, or just hung in some other odd manner, or perhaps processing a batch of something. So it's rather a nasty trick to play on the user, to just use READU without a LOCKED clause ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Searching for 'Bad' Dates
From: Peter Cheney How about a DICT item that performs a match like 2n'/'2n'/'2n on that field? Better to simply look for anything non-numeric. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Universe and ADO connections
[AD] Mike, in response to your question: mv.NET has an ADO.NET-compliant provider called Adapter Objects. It exposes the MV environment as tables, rows, columns, and stored procedures for all CRUD, rather than files, items, attributes, and BASIC programs, respectively. So the ADO.NET developer gets what she/he needs without being a Pick expert. The queries to U2 are pseudo-SQL, rather than being something like SQL-92 compliant. The idea here is that the MV developer(s) collaborate with the .NET developer(s) to craft queries with Where, and OrderBy clauses, where we would normally use WITH and BY. For anything more complex the best approach is to expose a BASIC subroutine as a stored proc, and accept parameters. mv.NET includes Adapter Objects to help keep non-Pick people happy, but also included is Core Objects, which is more of a Pick-like interface. This is a super-set of UO.NET. mv.NET uses UO.NET as a basic lower-level transport and wraps round it a more powerful set of functionality. If you already abstract your UI from the middle-tier and the data (Business Access Layer=BAL, Data Access Layer=DAL...) then replacing existing code should not be a challenge. mv.NET also includes Solution Objects, which generates strongly typed classes - completely abstracting you away from database queries. This will be familiar to those who know NHibernate, CSLA, the .NET Entity Framework, and other ORM tools. You generate collection classes like Customers which encapsulate instances of Customer, and those might have methods like .Save or .UpdateSalesRep. So the mechanics of data access are eliminated and the classes are usable by anyone independent of their experience with RDBMS or Pick. There are also built-in facilities for session pooling, Web Services, Silverlight, and other common requirements. Please feel free to contact me for more information, including mentoring and other services to help with the conversion. 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 From: Mike Randall Anyone out there have a list of the various ADO connectors for Universe? I'm looking for pros and cons of the various offerings. We had been using the data provider from IBM and now have Rocket's version. As we have experienced some issues,I need to know what is available as options to possibly migrate our current web applications over to. New management and customer complaints about the web applications are a bad combination. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Web service
Brian, excellent point, and I'm indeed using that feature in a small JavaScript wrapper for MV that I use. However, this is where you get into the devil in the details. A JSON query must be POST, even if it's really just a GET request, and once you do that there are some issues with IIS6 and older IE which require some very specific JS calling parameters. The whole idea of web services is that they should be generic and callable from anywhere. In this respect, WCF is better than ASMX. That said, you're right, received wisdom or not (excellent phrase BTW), I tend to start with ASMX because it's so easy, and only use WCF if I need something more rigorous (or if I'm afraid of getting laughed at, or questioned by a client who only wants the very latest tech). ASMX is easier to create and use, maybe just as a prototype before you need to get into details about service contracts and other messy mumbo jumbo (not so excellent phrase). On topic - when someone says I want a web service, my response is always OK, that's dirt simple, see my articles or video. But then the more specific they get, the more we need to start going down these twisty little passages of detail - and frankly I prefer to leave that for official engagements. (I'm reminded of prospects who say I need a web site, how much will it cost? ... I get that a LOT.) It's very hard for us to provide good answers without better questions. Of course when we provide half-baked answers to casual questions, our astute colleagues will eagerly and correctly let us know how inadequate the initial responses were. :) Best, T From: Brian Leach Note - these days ASMX and SOAP services are getting a little passe', and the favored approach is using WCF and REST. That's the received wisdom but it's worth pointing out to the group that from .NET 3.5 ASMX pages automatically switch to JSON format if they receive a suitable http content type that avoids the XML bloat so you can call them directly from jQuery, DOJO etc., and are far less messy to set up and deploy than WCF. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Web service
No, it shouldn't be different. The UV service exposes a WSDL definition of the web service (I don't recall how but I'm sure someone here can say). See my text which you snipped below ( *grin* ) where I describe how to create a web service client from VS using a URL. Point that to your UV WSDL and it will generate the C# client as you describe here. The only issues I've seen in stuff like this is with namespaces and odd attributes on nodes rather than nested nodes. For example: some-ns:address city=foo / compared to: addresscityfoo/city/address HTH T From: Rudy.Cooper I’m using soap. I have a service in UV that get’s called from a Seibel app, which has been running for several years now. I created the soap server using the UV web services developer. It works great for the Seibel app. So now I want to consume that same web service but I want to create the client in vs2010 using c#. So would consuming it be any different if the web service was written in UV as opposed to one that is an asmx web service? From: Tony Gravagno I have a video which shows how to create and consume ASMX web services in just a few minutes: http://nebula-rnd.com/products/gallery.htm It's using mv.NET… ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Web service
I have a video which shows how to create and consume ASMX web services in just a few minutes: http://nebula-rnd.com/products/gallery.htm It's using mv.NET but that's irrelevant, as that is the part that gets executed after the web service is invoked. The call to the web service and the response are exactly the same with UO.NET or any other DBMS tools within the called method. Rudy - there are a million examples of C# web service clients and servers out there. This isn't a MV-specific topic. Is something missing from your description here? You can easily generate a C# web service client by going to references, Add Web Service Reference (or whatever that is) and enter the address to the WSDL for your service. You don't need to code a web service client, you can generate it and just use the resulting strongly typed classes. I do this stuff all the time and I rarely need to craft a web service down to the point where XML parameters or some other protocol nuances need to be coded. If you're in that spot then you're probably not going to get much help from this group or anywhere else on something that specific. I'd guess your situation is not as dire and you can have this up in a few minutes. Note - these days ASMX and SOAP services are getting a little passe', and the favored approach is using WCF and REST. HTH, T -Original Message- From: Rudy.Cooper I’ve been banging my head against the wall but getting nowhere trying to find a good example of of a c# program consuming a web service. Specifically, I need an example of a c# program consuming a UV web service. We have a few web services in UV that are consumed by a Seibel app. I would like to write the same thing in C# using vs 2010. Does anyone have an example in C# that they could send me or provide a link to a good working example? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How to create/consume WCF oData Service (RESTful Service) using U2 toolkit for .NET?
Lame question followed by an awesome response by Rajan Kumar of Rocket Software! From: rajank rkumar-at-rs.com This is information for U2 Community. Please read: http://stackoverflow.com/questions/14312892/how-to-create-consume-wcf -odata-service-restful-service-using-u2-toolkit-for ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] U2 Database provider for .Net
From: Daniel McGrath It is part of U2 Toolkit for .NET 1.2, which is currently in beta (I believe has now invited you to the beta). To avoid the impression that this is a new product for a very old framework, the branding for that should probably be: ..NET U2 Toolkit v1.2 or U2 .NET Toolkit v1.2 or U2 Toolkit v1.2 for .NET or v1.2 U2 Toolkit for .NET At some point the framework version and product version may coincide and you guys are going to have an identity crisis. Just don't put the version next to .NET or U2, which are versioned products of its own. Imagine if the toolkit gets to release 10 and someone writes: U2 v12 Toolkit for .NET 9 v10 :) The only way to simplify that is: U2 Toolkit for .NET (v10 certified for U2 v12 and .NET v9) Whenever we get there of course... Or you can just assume that if someone isn't smart enough to figure out what you're talking about that they're not smart enough to use the product anyway. :) Consequences of the world we live in... HTH T v2.2 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Secrets was Vinnie Smith
When WJ talks about publishing a list of MV end-users I strongly object. But in this case I agree that a list of MV VARs and applications is of value. Our colleagues here are right about it not being important that MV is the database under a new application. However there are two audiences that need satisfaction: 1) New prospects that do go to the next question does anyone else use this thing? It would be good for the MV industry to have some evidence of a diversity of applications. We all know that Universe and Unidata have a lot of apps, but at the risk of being disparaging, if I mention the Univision database, few people here would know what I was talking about and the natural question might be OK, are there any apps or users for it? We can't even answer these questions for ourselves. 2) Existing sites planning to migrate because they don't see what we here refer to as an Industry or a Community. I think there are a huge number of these, perhaps one in five companies or worse. The companies that have been using Pick forever have old management and they won't be asking questions until there is a turnover. New management at these companies need to be sold on the technology which was already purchased. And they're not going to go to their existing VARs to be re-sold. They need that information coming to them so that they don't feel a need to look elsewhere. Too many people (Pick VARs) don't get this : Marketing is an ongoing effort even to the existing client base, it's not an event and not something that just needs to be done once in a while. There are always people out there asking why are we using this thing? These people were raised on MySQL and SQL Server, and now they're fond of MongoDB and NoSQL and cloud solutions. We need to be able to re-assure these people that this industry is vibrant, that there are many applications still in active support/development status, and that their investment isn't going to wither with age commensurately with their VAR. The other side of that coin is that we need to convince ourselves of that first. The MV industry is not going to prosper with so many companies competing with one another in an effort to make one another smaller. We need collaboration amongst the DBMS providers toward improving the image of the industry to the outside world. We need more cross-platform information repositories like PickWiki and the Google and LinkedIn forums, and more independent businesses like International Spectrum. We need a better presence so that people here don't silently or publicly express concern for the dying breed of Pick developers, lack of qualified and employable talent for a modern age, and the increasing volume of orphan applications and end-users. When each one of us feels secure with our own next 10 to 20 years of professional growth, THEN we can argue about the need for lists of apps and other data. Until then the need for better marketing of some kind has been obvious for as long as this market has existed. Whether the solution is a list of applications is irrelevant. (Some including myself would say a list like that might be too small and actually damning compared to the huge PickHits book of the 90's.) OK, maybe that idea has issues, but this industry needs something more than what it has now. T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Wally Terhune
Breathing a sigh of relief. These days whenever I see someone's name in a subject and nothing else, I immediately brace myself for an obituary - consequences of a long career in a small and aging community... Good luck Wally. T From: Dan Goble Congratulations on your upcoming retirement. Thanks for all the support you have given us over the years for us Unidata guys. Your breadth of knowledge will surely be missed. Enjoy retirement, -Dan ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Creating XML nodes with a namespace prefix
Hey Gregor, your blog is inspiring, will need to spend some time there. Over the weekend I wrote a XPath-like parser to extract data out of XML documents like you explain how to build them. At some point I'll probably FOSS this at PickWiki. I invite you to post to PickWiki, or at least link to your blog in key spots where others provide XML info. Email me if you need assistance. All: One thing frustrates me about content that's hosted in private websites and Not hosted in the wiki. People have a tendency to post content and then stop paying for their domain. So huge repositories of valuable code and wisdom get lost. PickWiki links to a few sites that were lost like this. Either the people died or lost interest or re-hosted somewhere and didn't bother to tell anyone. If you have code or info of value, post it to PickWiki - or at least make sure there are plans to share your published information in the event of your untimely STOP/END. Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com http://Nebula-RnD.com/blog Visit http://PickWiki.com! Contribute! http://Twitter.com/TonyGravagno http://groups.google.com/group/mvdbms From: Gregor Scott Of course it can go on a wiki - I documented it so people know there is a way. Which wiki - pickwiki or the U2Ug wiki? http://gdoesu2.wordpress.com/2012/12/10/creating-xml-elements-with-a-n amespace-prefix/ ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Another job ad written by people who have no clue
From: Martin Braid I don't have time for this Give us all a break I completely agree. This is nonsense. And for historical accuracy and with some relevance to Pick, RPL did and still does support one or multi-line IF just like every other language on the planet. So please, done already? T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] U2 Toolkit for .NET and Windows PowerShell - how?
Or someone here can post to PickWiki.com which is there for Exactly this purpose. That way if someone wants to augment the info with better code or examples or documentation, you don't need to wait for some company to find the resources to do it for you. Or someone at Rocket can post to PickWiki and Then the community can provide supplements. T From: Wjhonson It seems like the U2 Support Team, should put these examples of How To Do, on the Rocket website From: rajank Please visit the above link (stackoverflow). There is an answer (*ADO.NET *way and *UO.NET *way). See screen shot and PowerShell script. If you have more question, you can ask U2 Support Team. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] BFORMAT
From: dennis bartlett Does anybody have a working copy of BFORMAT... To answer the question: http://www.pickwiki.com/cgi-bin/wiki.pl?BFormat For printing: http://www.pickwiki.com/cgi-bin/wiki.pl?LFormat A Lot of other utilities here: http://www.pickwiki.com/cgi-bin/wiki.pl?BasicSource In addition to suggestions for ED/FOR and FORMAT, I also suggest using the wED editor in AccuTerm which supports code formatting - the upcoming v7.1 has some dramatic enhancements in this area. HTH T ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] converting D3 to UniData
From: Daniel Ruckel Can I convince someone in this group to share their experience/s converting D3 to UniData? As someone who uses both platforms I'd have to ask why anyone would want to do such a thing. I support clients and products on both platforms - there's no big difference. As someone who has probably used every MV platform in existence since the early 80's (like many here), I'm telling ya, I don't see anything compelling in a sideways move. Migration is mostly just a huge, very time consuming (months typically), and costly annoyance. So as to experience - yeah, it's a lot of work for no significant purpose. If you have a beef with your VAR, change your support provider. No need to change the DBMS too - that's babies and bathwater... As far as TigerLogic, they had some shaky times some years ago and it cost them some business, but they really straightened out. Management is on the ball and Support is on par with everyone else, for better or worse. I know a number of people made Business decisions in the past to leave Raining Data, but that was because they weren't pleased with pricing or support, not for technical reasons. Those business dynamics have changed. These days I can't see any company really making a sideways move like this because there's nothing That compelling going on in our market right now - it's all just vendors fighting for one another's scraps. That said, InterSystems brings a lot to the table technically and in a business sense, but even they have all but said if you aren't going to really build on their platform, they don't want just another sideways migration - you aren't going to give them anything to brag about unless you really take advantage of what they offer. And the same goes for migration amongst any of the other MV platforms. Which leads to the ultimate (pun intended) question here - Why are you even considering a migration, and why in the world is Unidata even on the list of options? HTH T Feel free to contact me off-list TG@ remove.before.sendingNebula-RnD.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Fwd: [MailServer Notification]Content Filtering Notification
One of the annoying things about this list is that when you respond to a post it seems to go directly to the author as well as to the list. And people tend to Reply-All when they should just Reply. Because of this I sometimes get a direct response from the author as though I contacted him directly, and an off-list discussion ensues. *sigh* Anyway, it looks like your posting went to someone in South Africa with an Exchange server and an overly aggressive filter. (Exchange.axiz.co.za) AxizWorkgroup axiz.com HTH T From: Bill Haskett Anyone see anything like the below? I just received two emails at the same time as my post today. I wonder if this is a U2 group thing. The header information is below the message. Thanks, -- -- Received: from Exchange.axiz.co.za (exchange.axiz.co.za [41.160.73.125]) Received: from nobody by rs.za.axiz.com with local (Exim 4.71)... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] United States Postal Service - Intelligent Mail barcode
IMb includes POSTNET and PLANET. PrintWizard does POSTNET with a single line of code: PRINT barcode pointsize=20 src=:INFO: style=POSTNET I dunno if PW supports PLANET or IMb. Bob? But rather than full IMb, this end-user might be OK with just POSTNET, so the solution is readily available. POSTNET info: http://www.ni.com/white-paper/5027/en T From: sam.alan We have a client that needs to print the United States Postal Service’s Intelligent Mail barcode (Imb) on their bills. The USPS has provided specifications for encoding the zip codes into the format needed to print the IMb. https://ribbs.usps.gov/intelligentmail_mailpieces/documents/tech_gu ides/SPUSPSG.pdf (The encoding specifications begin in section 3.2, page 4.) The ideal solution would be for us to add a call from our UniBasic bill print program to a subroutine that performs the necessary steps to encode the zip codes into the IMb format. Has anyone already written a program that does the encoding? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Improving performance
A join is a join in any DBMS. In SQL you'd do something like this: SELECT DONOR.id, PERSON.first_name, PERSON.last_name, DONOR.given_amt, DONOR.pledge_amt, PERSON.email FROM DONOR INNER JOIN PERSON ON DONOR.id=PERSON.id WHERE PERSON.spouse_last='Smith' ORDER BY PERSON.last_name BY PERSON.first_name We trust that a RDBMS will cache each person related to each donor, just as in MV we trust that the PERSON item won't go out of memory while we are processing a given DONOR item. Further, if we're talking about polygamists and two Donor Persons have a single Donor spouse, we trust that the translate will keep the spouse in memory for as long as possible as well. So this isn't a situation where MV should or should not be one's friend - every platform faces the same challenge. In your example where the ID is the same in both items, it's certain barring some .0001% possibility (time slice issue where some other process consumes all memory ... not really possible) that the Person won't be in memory for the Donor. But your question becomes more valid when, for example, you're sorting pledges by date, and you hit the same donor/person/spouse at many different times throughout the rendering process. If you have 80,000 pledge records and record 1 references Donor1, then you get to the last record which also happens to reference Donor1 after so many other records have consumed cache and forced flushing, will Donor1 and related records still be in memory? I believe the answer would be that it depends on how much memory is available, how big those records are, and what each MV implementation does with data that it caches like this. Only an engineer at Rocket can answer the question for current Universe and Unidata platforms. Not much of an answer, just refining the question... HTH T From: Jeff Butera At the outset, I'm a lover of Pick/MV but also have experience with 1NF (mostly mysql/postgresql). Here's my delimma: For the sake of simplicity, let's say I have two tables with the following data attributes: PERSON: id, first_name, last_name, email, phone, spouse DONOR: id, given_amt, pledge_amt The ID for PERSON and DONOR are same, and spouse is a X-pointer to another PERSON record (if populated). Often our fundraisers write reports out of DONOR and often want spouse info (name, email, phone). This is typically accomplished with I-desc in DONOR such as: spouse_first: TRANS('PERSON',TRANS('PERSON',@ID,'spouse','X'),'first_name','X') spouse_last: TRANS('PERSON',TRANS('PERSON',@ID,'spouse','X'),'last_name','X') spouse_email: TRANS('PERSON',TRANS('PERSON',@ID,'spouse','X'),'email','X') spouse_phone: TRANS('PERSON',TRANS('PERSON',@ID,'spouse','X'),'phone','X') Thus, for each DONOR record in my report if I want the four fields above I've got to perform 8 reads of the PERSON table. Sure, caching will improve this performance - but let's forget that for the moment. So for 8 DONOR records I'm doing 64 PERSON reads. Am I correct about how TRANS is working in these cases? In an attempt to improve performance, I've taken to replicating the spouse field in the DONOR record by using an update trigger on PERSON to ensure spouse is updated in DONOR as well. By replicating the spouse in DONOR, I eliminate one TRANS in each field and cut my 64 PERSON reads to 32 reads. That said, I'm looking for other means - this is one place where Pick isn't my friend as we often have reports written out of various tables and need to use 32+ TRANS statements to pull in PERSON demographic info. Any insight appreciated. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users