Areas | GUI |
Good if student knows | Tcl |
Priority | Medium |
Difficulty | Medium |
Benefits to the student | Learning Tk, GUI programming, review and evaluation of existing code, ... |
Benefits to Tcl | Improved GUI to an application used to manage the Tcl/Tk core, and many other Tcl projects |
Mentor | Steve Landers |
The Fossil distributed software configuration management system is used in many Tcl-based projects. Its 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)
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.
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.
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.
Some URLs here
Some comments here, and discussion of the idea