Chapter 8. Extending the Application

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:

  • Adding people search facilities
  • Handling errors properly
  • Using sessions and cookies for user authentication
  • Doing simple task tracking
  • Adding file uploads

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.

Dealing with User Feedback

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:

  • "It's too hard to find people. When I'm on the phone with someone, I need a quick way to locate their record."

    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.

  • "Sometimes I bookmark pages, and then when I come back to them everything's broken."

    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.

  • "I need to record the tasks I carry out, so I can see the history of what I've done with a client."

    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.

  • "I quite often send documents to people, but can't store them on the Intranet."

    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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.14.144.108