Tools are self-contained modules, which form most of the "functionality" that the Learner interacts with in LAMS. For example, the Question and Answer screens come from the Question and Answer tool. The Survey screens are part of the Survey Tool.
A LAMS learning design has two components: the structure of the learning design and the content. The LAMS core manages the structure e.g. the order of the activities, allocating users to groups, managing when users can progress to particular activities. Each tool manages its own content e.g. the instructions shown to the staff and learners, the forum questions, the Q&A questions.
We have designed our architecture to allow tools to be "pluggable" into the LAMS environment. To build a tool, you will need to implement all the required tool interface and function requirements (known as the Tool Contract). If you are interested in building a tool, please let us know. We are currently developing an Eclipse plugin to create LAMS tools. It is at the testing stage, so all feedback is welcome.
Building a tool is not a trivial matter - you need to supply the user interface and functionality for authoring, monitoring and learning. But this part of the Wiki is here to make your tool journey easier. It will contain details on the Tool Contract, classes that may be used as a basis for your work and anything else we can think of that is tool related.
So you want to write a tool? Start with the LAMS Overview, then move onto the Tool Contract. When you are ready to play with code read of Alex Little's experience trying to build a LAMS tool and use the Tool Builder utility to copy an existing tool as a starting point. Please also have a look through the Best Practices section. This gives practices and patterns that we use through out LAMS.