Author Topic: Sharing Enhancements  (Read 9008 times)

Tom Pellitieri

  • Rock Star
  • *****
  • Posts: 224
  • Tom Pellitieri - Toledo, Ohio
Sharing Enhancements
« on: December 30, 2008, 02:03:36 PM »
I created a rather extensive "add on" module that I want to share with another Prelude customer.  Is there an easy way to do this?  I've never shared more than a BASIC program or so before, so I'm sure there's an easier way to do this.

I used a Binary FTP session to export everything and e-mailed the files, but I don't know if I missed anything.  Here's what I pulled from our system:

1) Dictionaries for the new files I created.  I asked them to use the SB+ File Creation tool to create new files, then replace the dictionaries with my files.  This should get all reports and screens as well as the attribute definitions.

2) Data for new files that were application support (i.e., not tied to our business data).

3) I copied the appropriate entries from DEVPROCESS, DEVMENUS and DEVDEFN to separate work files.  They should be able to bring each of these into a work file and copy the items to their corresponding files.  I did the same for the BASIC programs in our local program file directory.

I got both the named processes and the generated Screen/Report processes from DEVPROCESS.  DEVDEFN had Code Tables, Function Keys, Periodic Updates and a Dialog.  Fortunately, I forced myself to use a specific naming convention for this project.

There was just one item I added to the CONTROL file.  It was short and simple, so I provided instructions for creating it using ED.

Is there anything else I might have missed?

--Tom Pellitieri

precisonline

  • President
  • Administrator
  • Rock Star
  • *****
  • Posts: 1612
    • Precision Solutions
Re: Sharing Enhancements
« Reply #1 on: December 31, 2008, 08:55:29 AM »
Sounds like you got everything covered IF you included the secondary records for the dictionaries and definitions.  As you know, non-work field definitions have 2 entries in the DICT of the file (1 with a preceding dot, one without) whereas work field definitions have only 1 record in the DICT (with the preceding dot).  Screen definitions have the screen definition and the .TXT overlay, and if GUI is in place there could be .GUI records to move as well.  If language translation is enabled, there can be even more records to move, though I rarely see this in practice.  (I usually don't move the GUI definitions, instead I'll typically regen them on the destination system.)  Report definitions are the same as screens with the report definition itself and the .TXT overlay.  Periodic update definition have n+1 records, where n represents the number of files listed in the "Other Files Update" prompt.  And of course, there's the DEVPROCESS records that go along with all of these.

You kinda lost me on copying to the work file thing.  Did you know that we have free tools for creating ravel files and installing them on the destination system?  Sounds like this could have greatly simplified the procedure.  Moreover, these tools keep a backup of anything that gets overlaid during the installation so that if something doesn't go quite right, it's a snap to put things back the way they were.  Yet, now that I look for it, I'm not seeing it on the website, so how would you have known?  Nonetheless, if you're interested in checking this out let me know and I'll send you a .ZIP file with everything you'll need.
-Kevin
Accidents "happen"; success, however, is planned and executed.

JOHNR

  • Associate
  • **
  • Posts: 5
Re: Sharing Enhancements
« Reply #2 on: January 02, 2009, 10:07:36 AM »
Isn't this something that the REV CONTROL in SB+ can handle?

Set the "version number" and then SB+ will collate all (or most) of this stuff for you - as you develop.
You can manually add anything it does not catch.

It will than write all the "stuff" out to a single file for delivery (via ftp).
At the other end it can all be unwrapped and installed pretty much as a single operation.

That's the theory anyway.

Cheers

JR

precisonline

  • President
  • Administrator
  • Rock Star
  • *****
  • Posts: 1612
    • Precision Solutions
Re: Sharing Enhancements
« Reply #3 on: January 02, 2009, 10:25:11 AM »
Definitely the theory, but in practice it's never been all that good.  The problem is that SB+'s revisioning was designed for a single developer working on a single mod at a time.  If you have several different mods that may or may not be related, it creates mud.  And while the revision stamp that SB+ puts on everything is a GREAT thing, the revision lists that it generates from those stamps are... well... mud.
-Kevin
Accidents "happen"; success, however, is planned and executed.

Tom Pellitieri

  • Rock Star
  • *****
  • Posts: 224
  • Tom Pellitieri - Toledo, Ohio
Re: Sharing Enhancements
« Reply #4 on: January 05, 2009, 07:02:03 AM »
Well, I don't know what a "ravel" file is... or how much trouble it would be.  I'm using AccuTerm on Windows to interface with Prelude, and the other user has a Linux desktop.  More info (in another thread?) would be useful.

On the Dictionaries, I copied (via binary FTP) the ENTIRE dictionary file, not individual items, so everything should have gone through.

For the system files, I have a temporary work file called CEI.WORK and did something like this:

SELECT DEVDEFN WITH @ID = "[CEI.MRKT]"
COPY DEVDEFN
TO: (CEI.WORK

Then I used Binary FTP to transfer the data portion of CEI.WORK from AIX.  The other user should be able to overwrite their CEI.WORK data file with this file, then use

COPY CEI.WORK *
TO: (DEVDEFN

to get the items into their DEVDEFN file.

[ADDED] I don't think the REV CONTROL would work for us here, since this is a independent add-on that works with Prelude's software.

--Tom
« Last Edit: January 05, 2009, 07:05:16 AM by Tom Pellitieri »

precisonline

  • President
  • Administrator
  • Rock Star
  • *****
  • Posts: 1612
    • Precision Solutions
Re: Sharing Enhancements
« Reply #5 on: January 05, 2009, 12:03:26 PM »
With the ravel tools, you simply create a list of everything you want to move in a list (in the INSTALL file) called:

DICT*file*item
DATA*file*item

...and then use a program MAKE.RAVEL to build a file of all of these patches.  You then ftp that patch file to the destination system and run INSTALL.RAVEL on that system and it extracts everything from the file and puts it in the appropriate location.

There are a number of tags supported by the ravel programs in addition to DICT and DATA.  You can compile an item - a very important thing for USER-FORMS items on Prelude installations - with COMPILE*file*item, and the new version will also have the ability to delete and decatalog as well as run programs before and after - which can be very handy for installing user exits.

Most importantly, however, the ravel tools backup anything that is overlaid, so if there's any problems with the install, you can run INSTALL.RAVEL on the backup file and it rolls back to the earlier version.  If you - or anyone - is interested, I'll make a point to get these up on the website soon.  After all, free is a very good price for all this functionality.
-Kevin
Accidents "happen"; success, however, is planned and executed.

DonQuixote

  • Rock Star
  • *****
  • Posts: 204
  • To Dream the Impossible Dream...
Re: Sharing Enhancements
« Reply #6 on: April 14, 2009, 10:57:56 AM »
What does the Add-on module do?

Tom Pellitieri

  • Rock Star
  • *****
  • Posts: 224
  • Tom Pellitieri - Toledo, Ohio
Re: Sharing Enhancements
« Reply #7 on: April 14, 2009, 11:20:21 AM »
The Prelude enhancement I wrote was to allow us to track additional customer contact information our primary vendor needs on our accounts, and to allow us to control how marketing mail pieces are targeted.

--Tom