Summary
| Mentor(s): | Dr. Mike Murphy |
|---|---|
| Project Type: | Software development |
| Technologies: | Python, HTML, SSH/SFTP, Git |
| Undergraduate Credit: | CSCI 399, CSCI 490 |
| Graduate Credit: | IST 659 |
| Locality: | Main campus and/or remote |
Purpose
At the moment, the TealSite static site generator produces output inside a local directory. It is up to the site author to upload the generated website to its final destination. However, it would be easier for site authors if TealSite could also perform the upload. In the ideal case, TealSite would only upload those files that have changed since the prior version of the site was uploaded.
Adding upload support using the common Secure File Transfer Protocol (SFTP) should be reasonably straightforward if the Paramiko library is added as an optional dependency. Conditional uploading is a more advanced step that would require tracking which files have already been transmitted to the server. Several approaches are possible, including hashing, file manifests, and recursive comparisons. However, each approach has trade-offs between performance and accuracy.
Scope of Work
Integrate Paramiko as an optional dependency of TealSite, and add support for uploading the entire site to a remote server via SFTP. At a more advanced level, the scope would expand to finding and implementing a mechanism by which file changes could be detected, allowing only those files that are new or have changed to be uploaded to the server.