The GEIDI web will be a part of Sharepoint, so basically we're going to create a site template and this site template will use GEIDI web as its landing page.
We're going to make GEIDI web as web part.
This GEIDI web will interact with three document libraries: XML, Docx, and PDF.
Flow of events:
- User input details in GEIDI web OR upload an xml
- The xml produced will be validated against a schema
- If it's not valid, it will tell which is not valid.
- If it's valid, the xml will be added to XML document library
- For xml document library, we will have a item added event, which will trigger to execute code which will produced the docx (QuickTrustV2)
- The produced docx will be added to Docx document library.
- For Docx document library, we will have two event receivers (1. Item added 2. Item updated)
- When docx is added to Docx document library, GV will be notified by email and in the email, a link to the item will be provided.
- GV must publish the docx to trigger Item updated which will create the PDF.
- The produced PDF will be added to PDF document library.
- For PDF document library, we will have item added event, which will basically trigger to send an email to the user who input the xml at first place.
So basically, we need to make content types for this document libraries, and use this content type to be able to do all these stuffs.
It seems simple, but it may get hairy.
That's pretty much the planned high-level design.
if it's possible, we can use workflow, but event receivers are easier to implement.
So basically GEIDI web is used to produce XML.
and QuickTrustV2 will be used to produce docx from xml.
Producing PDF is handled by Office objects by installing the pdf extension for office.
Content types are needed which contain fields that will be used around.