Summary
There are a number of different types of hooks available within Redmine, but the odds are that most use-cases we'll encounter will call for view hooks.
In this chapter, we were introduced to the various types of hooks Redmine provides as well as some sample implementations of each. We also implemented a basic view hook, from which we gained a better understanding of the hook implementation and integration process.
In the next chapter, we will cover the permission registration process in detail and will discuss how plugin permissions are administered and enforced.