In this chapter, we're going to see how to extend the Intranet application, using mock (but hopefully realistic) feedback from users as a basis for the extensions. The feedback covers both desired enhancements to existing features, and new feature requests. Doing this will demonstrate more breadth of the features provided by the Rails, and how to logically add new components to an application.
The feedback received from the users included:
We're also going to look at integrating the work of other programmers into a project. The primary means for doing this is through plugins, so we'll see how to discover and install them for your own applications.
Users at Acme have been putting the Intranet system through its paces for a few weeks. They are generally happy with how it works, and Ken (the Managing Director) is pleased with its progress. But comments from users indicate that a few niggling issues have arisen during the pilot phase. Rory and Jenny have put aside some time to deal with these issues, as well as time to add new features to the system. They arranged the feedback from users in order of priority and ended up with the following list of points to address:
Rory and Jenny knew that simple listing of people would be insufficient in day-to-day work. As the system fills up with contacts, it takes longer and longer to page through the listing to find someone. They decide to extend the system to enable searching for a person by name, part of a name, keywords, or notes associated with them.
Rory and Jenny have done little to capture possible errors in the application. For example, if someone tries to access the record of a company that has been deleted, they get a nasty default Rails ActiveRecord::RecordNotFound
error message. They decide to tidy up the system, so it handles common errors more elegantly.
This request was made by quite a few members of staff, so Rory and Jenny decide that it should be given some priority. They opt for a simple task tracking utility, which will allow activities to be attached to a person's record. Each task will also be associated with an individual user of the system, so future enhancements could include tracking who's carried out which activities. They decide not to attempt a full-fledged calendar, as this would require too much work.
A file upload facility would enable members of the staff to attach documents (e.g. quotes, presentations) to tasks.
Having decided on a plan of work, they tackle each feature request in turn. We'll be working alongside them as they make these changes to the system.
18.119.122.82