Kevin Absolutely agreed: dictionaries have a strange place in the MV world since they can be user defined for a useful report, but changes might screw up a selection required for a program. Which, as we all know, can be bad bad BAD.
My approach has been to make everything 'source'. Rather than create dictionaries directly (urgh) I create a simple script to define one or more files - a bit like CREATE TABLE but just for regular files. An example might look like this: BEGIN TABLE BOOK_TITLES SUBJECT "Audio Book Titles" FIELD TITLE_ID FNO 0 NUMERIC FIELD SHORT_TITLE FNO 1 LEN 30 FIELD UTITLE FNO 1 LEN 30 CONV "MCU" (etc) FIELD PRICE FNO 6 MONEY ENDDEFN BEGIN TABLE BOOK_SALES ... FIELD TITLE_ID FNO 10 NUMERIC MVED FIELD QTY FNO 11 NUMERIC MVED DEPENDS TITLE_ID ... FIELD LINE_TOTAL EXPR \QTY * PRICE\ MONEY MVED DEPENDS TITLE_ID ... ENDDEFN I then have a very simple program that parses this and builds the dictionaries accordingly. Why? So that I can put the script into source control, and handle it just like any other source item, and easily rebuild the dictionaries by running the scripts again. I can also version stamp the script along with the rest of my source code. I've recently written an article for Spectrum on version stamping (should be in this issue but I haven't got a copy yet!). Version stamping is one of those critical client/server things - ensuring that the right version of the client is talking to the right version of the server. There's no point getting the client side right in terms of version management, and then forgetting the server. Which leads on to a shameless plug ... <shameless advert> My mvInstaller program builds setups for deploying multivalue applications. One of my clients is using it to handle rollouts to 250 (that's right) servers in a distributed system. It is based on the installer I wrote at MMT - that saved me more time than anything else in terms of QA as well as deployment. It supports windows and server based installations, creates files, installs data and programs, executes commands and runs subroutines: and amongst its many useful features the installations can be version sensitive. And the setup definitions are scripts, so they can be version managed. If you're building windows setups for the client, don't forget the server. Read more on my website: www.[removethis]brianleach.co.uk </shameless advert> Brian > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King > Sent: 17 January 2007 02:42 > To: [email protected] > Subject: RE: [U2] Integration of UniVerse with Microsoft Team > System 2005 {Unclassified} > > Really, couldn't it be also argued that - along with what > Clif has mentioned - that ALL dictionaries - even phrases - > are code to be under control as well, not just I-descriptors. > If a dictionary changes, things could get ugly. > > -Kevin ------- u2-users mailing list [email protected] To unsubscribe please visit http://listserver.u2ug.org/
