I'm looking to hear other peoples thoughts on a nagging puzzle I've had in the back of my mind for a while.
One of my clients uses a software product, a windows application which is a general CRM/customer database, along with document production, and automated document production. There are many other aspects to it such as user to user messaging, a calendar. Synching with MS outlook and audio recording.
The product was written using a win16 product and with growing frequency meets problems because of either the latest OS, or the API's & Other software it uses to function, which sometimes require major rewriting of code to work with whatever may have change in either the OS, or the latest version of Word etc.
If the system was purely data input and retrieval, a web alternative would be fantastic for us to move to, cutting down the laborious maintenance task it is for us when we have to upgrade users, and having all the work done on a server cuts down the problems we've had with individual users systems.
I've tried to see us moving towards a web version of the application but the document production side seems to be my biggest wall to get across.
We generate documents with Word, and give out hundreds of word templates to our users as part of the application, which they can then edit to their content if need be or just use straight out the box, data gets merged with the templates producing a final document. I've no real idea at the moment how this would be carried out using an online system. I cannot imagine an instance of word running on a server generating documents again and again for many customers/users would be very efficient or reliable. But on the other hand I'm not sure what else to do to retain the complex formatting in the templates.
I'd be very grateful if anyone can share with me any similar requirement experiences and what solution worked best for them.
Regards, Dave Brown
SCJP 6 - [url]http://www.dbws.net/[/url] - Check out Grails Forum
Depends on how much of Word's weirdness you are really using. You gotta get it out of Win16, and soon, or you will go insane.
If the templates are using only the 80% of Word's capabilities that 99.44% of the world actually uses, you might be able to use OpenOffice. There are OO APIs and tools to put OO into apache, java, etc.
If your users demand the last weird percent of what Word can do -- and it can do some amazing stuff, then I have no clue how you can get out of the box.
Well I have given this a lot of thought, and if I thought my coding skills were up to it would gladly write the thing just for the practice.
Several things are apparent to me in one reading of your original wording.
1. As Pat Farrell states about Win16, almost the same words. 2. One of my clients uses a software product,I've tried to see us moving towards a web version of the application but the document production side seems to be my biggest wall to get across
There is a Styled Document available as a standard class which mimics dot doc files and may be effective for your design needs. What exactly do you mean by document production ? I think some moving away from propietary lock-in is the desired approach, but most everyone uses this Styled Document approach to data presentation and I have found that millisecond response to large data sets does not interest Joe and Jane Average User. Fancy stuff keeps them interested.
The problem here, a recurrent one is that much of what you call 16-bit is in fact sixteen bit and because it does what the customer wants, is used by software vendors to keep the customer buying software. If they ever fixed the real problem, they would be out of a job. They know this and are very smart.
16-bit is more of a compiler issue than it is a code issue, often you ( a coder generally ) can copy the same code or nearly the same code onto a source file and compile it with a 32-bit compiler or arbitrary word length compiler and the resultant is a true 32-bit re-entrant with few or trivial changes to the sources.
When you start talking a dot-doc format, suddenly we are in a campaign that will not allow in any way the move to contemporary compilation, for reasons unkown.
[Dave Brown:] I've no real idea at the moment how this would be carried out using an online system. I cannot imagine an instance of word running on a server generating documents again and again for many customers/users would be very efficient or reliable.
Can you give me a MOS ( man on street ) description of program concept and functionality ?
I think if I were to push towards a J2EE solution then using OpenOffice would be the smartest solution to document management, as it would allow the user to edit documents right there in the browser. However if the application was to be re-written as a desktop app, then ideally it would give me more flexibility to produce a more generic document management model which could utilise whatever word processor is of choice, however 90% of our users use Word.
To answer Jeanne, we ship several hundred templates with our application depending on what 'modules' the user has decided to purchase. We then allow them to edit the templates at will and add their own to the system. By adding their own, the steps involved usually are to use our program to generate a 'new template' which generates a new word file(from a default template) and brings up word allowing them to edit it.. Here they either start editing it from scratch or bring up manually one of their firms existing letters/templates in another instance of word and copy & paste from their old doc to the new one.
The more I think of converting this project, the more daunting a task it seems, Should I just stay with Win16 which at this time we have a good product and a happy set of customers but with the risk of impending doom when some new OS service pack feature is released that screws up everything preventing our software to run - or start to consider alternatives.
I have colleagues who at the moment are more than happy to keep developing the win16 product, as do I as thats what I'm paid to do but I cannot also sit around waiting for the next big problem to occur. Aside from the obvious shelf life issue of Win16, there are a growing number of real incidents that are related to the OS and although we find fixes, its hard explaining to users sometimes why these fixes have to be made. E.g. Our software cannot even start on one particular customers machine since they installed a new HP printer, something to do with the printer driver probing from Win16 Level causes a GPF at system startup, the solution was to ensure that they change their default printer.
Aesthetics also is starting to become an issue, a number of customers have whined that although the application does what they want, it isn't pretty enough for them as we're relying on very simple form elements and basic windows dialog boxes. Of course my argument here is that the design of the program revolves around functionality but it would also be nice to have the option of more modern controls, some of which would make our applications functionality much better.
Having multiple threads in our app will make a huge difference to functionality also, there are a lot of Pro's to moving away from Win16.
The con's obviously are development time, the possibility of losing functionality and change of work flow moving from a record centric database system to a result set database.
Im even considering the idea of .NET as the next platform if I were to go down the desktop app path and not a web based solution, although I have a personal preference to Java, the product tie's in heavily with MS Tools, so in terms of dev time I imagine it would be greatly reduced to go down the MS route. By MS Tools, I mean we use Word as mentioned and Outlook calendar, contacts & email. Faxing is provided using MS Fax, or winfax as an option.
I think really I need to strip down and note down all functions of our system and then decided what the best platform/route would be for each function.. Then eventually analysing that data and seeing on a whole what the best way forward is. At the moment for every aspect of the program I seem to have a dozen pro's and con's.
If anyone still reading wants to see what my existing app is, please PM me for a link as I dont really want to publicise it here.
Joined: Sep 17, 2006
parallel development ....
Keep full focus available with 60 seconds to drop any explorations of Java based applications of computer science to your desktop app which can be site-centric with server built on one development platform plugged into the lan. Be sure to maintain the existing system without pushing or forcing any forward motion on you long-term strategy to avoid risk of impending doom when some new OS service pack feature is released that screws up everything preventing ( client ) software to run - or start to consider alternatives. such as mineral exploration assistant in The Udachnaya pipe, forget working from departmental server to world-class supercomputer.
The dot net strategy is a cost-effective maintenence / transition for the GPF type of end-blunt where user-manual fixups buy some time for you to send me the link, pm me: I really want to see what this looks like as a computer-science issue.
[Dave Brown:] I think really I need to strip down and note down all functions of our system and then decided what the best platform/route would be for each function.. Then eventually analysing that data and seeing on a whole what the best way forward is. At the moment for every aspect of the program I seem to have a dozen pro's and con's.
That's just the ones you can see. The human factor is a a really, really hard problem in general. The guy who said that could describe SRC's experience with Mary Ellen leaving RCPAC - you want to begin parallel development, you just have not walked the cake-walk yet.