Described here is a rough idea of what we are thinking of as deliverables.
Dev Stack
The dev stack is made up of everything a developer would need to develop an app on their workstation, including:
- Pre-configured Tomcat, JBoss, MySQL, Eclipse & plugins
- Maven, Junit, Webunit
Application Skeleton
A skeleton to start developing your apps
- Maven configured for building the app
- Spring, Hibernate, etc preconfigured
- UI stack
- SDK components
Sample apps
Some sample apps that use our services, etc
- Spring's PetClinic app configured to use our stuff
SDK Components
Pieces of functionality that people can use to build apps with, including things such as:
- Web service libraries to talk to MIT services
- Sash libraries - Hibernate, Struts, Spring, Tiles
- Maven, Junit, Webunit
- Acegi
UI stack
- Preconfigured generic layout for css
- Preconfigured struts and tiles configs
- Dojo js library
Hosted Project Tools
A set of tools used for development, sort of like an MIT-Forge, hosted on one of our servers, each project having it's own space, including:
- Mailman
- Forum
- Bug tracking
- Wiki
- SVN
Hosted Dev, Test, and Production servers
We would provide a chrooted/virtual server setup for developers to host their apps for dev, test and production, including most of the same setup they have for desktop development.
- Dev Tools Stack - tools that get installed on a person's desktop to develop an app, including Eclipse, Tomcat, etc
- Server Tools Stack - tools that get installed on a dev/test/production server to run an app, including Tomcat, etc
- Collab Tools Stack - tools that get installed on either a dev or other server that are used for group collaboration, e.g. Wiki, SVN, etc
All these stacks will come pre-configured to work with MIT services (like client certs, etc).
Docs
- Docs for all this stuff need to be provided