Create a webform that accepts 2 required values (e-mail and website URL), 2 optional values that must be entered together (username and password), and an 'execute' process button.
For example, the e-mail addr provided is: [Posting contact details is Prohibited by [url removed, login to view] Admin] and the url is: http://stig.test.org.
All email and URL values would have basic value validation checking. Username and PW fields should accept special characters.
Upon entering both values, user clicks 'execute' button
Also create web API that can accept the above (4) values.
Store email address
Crawl website URL ([url removed, login to view]) with no depth limit within the domain ([url removed, login to view])
Must also be able to enter pw protected areas with supplied username/pw credentials prompted by textbox or within url (http://username:[url removed, login to view])
Convert HTML, images, css, script (php/xml) into PDF or ODF(Open Document Format). In other words, generate a 'snapshot' of what a browser would display into a pdf/odf.
Combine all these pages into a single document.
Name file <server.domain.extension>-<mm-dd-yyyy>-<24hr:min:sec>.pdf
Upload (ftp) document onto supplied web server.
If work order entered through webform:
Generate retrieval URL
Send retrieval URL to stored email address [Posting contact details is Prohibited by [url removed, login to view] Admin] originally provided in step 1 with unique transaction number in subject line and body.
If work order entered through API:
Return document payload back over open http connection.
In case of timeout, fall back to email delivery described above.
We can provide server support but we prefer that you develop and test in your own environment and then provide instructions/support to deploy in our environment. Linux (Centos) OS Platform implementation is preferred.
I will need 1 week to verify the completeness of the deliverable.
Please see attached example file.
Take note of source URL and timestamp at the bottom of each page.
If interested, please include example description of API call framework.