One more point of clarification -- my code does NOT create file cabinets. A FileCabinet
object in C# is just a programmatic representation of an existing DocuWare file cabinet. I still had to create all the file cabinets by hand, saving off the XML used to create them as I went along (so I could more quickly create them when ready to go live).
My code just takes a document that is saved as a file, loads the dwcontrol
file alongside it (as indexes), then uploads the file and applies indexes using the DocuWare API routines
(depending on document size). In fact, my code does not show the part where indexes are generated from the dwcontrol
file -- that was a different routine. As long as you can load indexes into a DocuWare Document
class (in code), you can use whatever indexing scheme you want.
C# can manipulate the Fortis COM object, too, I just already had the Foxpro code for that. So, you could, if you wanted, use a single C# program that does everything in one flow, one document at at time:
- Find a the document in Fortis you want to migrate.
- Save the document itself as a file to a known location.
- Also save the indexes for the documents in memory (as variables in your program)
- Establish a connection to DocuWare and get a FileCabinet object instanced, representing the destination for the document.
- Upload the document and indexing information to DocuWare, assuming the indexes on the DocuWare cabinet match the indexes on the original DocuWare document.
If any of this helps you, I am glad! Good luck!