**Fossil Tk Client** * Mentor: Steve Landers * Difficulty: Medium The Fossil distributed software configuration management system is used in many Tcl-based projects. It's ease of installation and use, and comprehensive features making it an attractive alternative to the more complex systems like Git and Mercurial. Although Fossil comes with a built-in web interface, the objective of this project is to make a Tk-based GUI interface, and in doing so kill several birds with the one stone (so to speak) * a Tk GUI that could be more feature-rich than the web interface * SSL support (via TLS) * a Fossil Tcl extension based on the Fossil source but wrapped with Critcl to produce a scriptable fossil library * Starkit deployment as a single file executable One of the existing Tk GUI's (such as TkCVS/TkSVN or GiTk) should be used as a basis, and the first part of the project would be a review of these programs and an assessment of their suitability. SSL support already exists in the Fossil server and Unix clients, but building the SSL-enabled Fossil client on Windows has proven problematic. So this project, if successful, is likely to achieve wide visibility amongst the Windows Fossil users. The client could include a macro facility (scriptable in Tcl, of course) that would allow new functionality to be added by aggregating existing Fossil features. '''Benefits for studen'''t: Gain experience in reviewing and evaluating existing programs, learn about Tk programming and User Interface and User Interaction Design, learn about Distributed Software Configuration Management, learn about interfacing to C libraries via Critcl, learn about simple crypto concepts via TLS, learn about Starkit deployment. '''Benefits for Tcl''': Provide an improved GUI interface on all platforms for the many Tcl projects already using Fossil, and an easy to deploy SSL-enabled client on Windows in particular.