Develop a set of tools to support the development and/or deployment of Seaside applications. A number of focuses are possible here, including:
- Improving the configuration/administration interface distributed with Seaside to make it easier to use by new developers and system administrators. This might include developing a task-oriented interface and providing more contextual information to guide the user towards appropriate actions. A "welcome dashboard" for new Seaside installations could provide documentation, examples, and next steps to guide new users through their first encounter with the framework.
- Developing tools for system administrators to facilitate the management and deployment of Seaside/Smalltalk images, including monitoring the state and configuration of images, adding and removing instances, upgrade and rollback, etc. These tools should be implemented so they are portable between Smalltalk platforms (but the expectation is that only one platform would be implemented during this project).
- Experimenting with web-based tools to allow "wolfpack programming" where many developers work simultaneously on the same codebase in the same image. The environment should encourage collaboration through various techniques and investigate issues like: what division of roles is appropriate within the pack? what is the impact on code versioning? how closely in the codebase can developers effectively work? what is the impact on other agile techniques?
Benefits to the Student
The student will develop skills in analyzing a problem space, defining tool requirements, and implementing a solution. They will gain experience developing user interfaces and implementing applications using the Seaside web framework.
Benefits to the Community
The community will benefit from a richer development/deployment environment for Seaside and Smalltalk applications.