PacktLib: Redmine Plugin Extension and Development

Redmine Plugin Extension and Development

Credits

About the Author

About the Reviewers

www.PacktPub.com

Preface

Introduction to Redmine Plugins

An introduction to our sample plugin

Generating a new plugin

Diving into the initialization file

Summary

Extending Redmine Using Hooks

Understanding hooks

View hooks

Controller hooks

Model hooks

Helper hooks

A sample view hook implementation

Summary

Permissions and Security

Summarizing Redmine's permission system

Declaring custom permissions

Ensuring access restrictions in models, views, and controllers

Understanding custom content access control

Summary

Attaching Files to Models

Model preparation

Enabling attachments in our views

Controller modifications to accommodate attachments

Listing and managing attachments

Managing attachment permissions

Summary

Making Models Searchable

Registering our plugin

Preparing our models to be searched

Configuring search options

Filtering search results using custom permissions

Including article content in the search

Summary

Interacting with the Activity Stream

Overview of the activity stream

Preparing our model

Registering our model

Configuring an activity provider

Customizing activity entries

Summary

Managing Plugin Settings

An overview of Redmine's global plugin settings

Enabling settings management

Configuration management

Exposing plugin methods to the settings partial

Accessing our settings

Summary

Testing Your Plugin

Testing infrastructure layout

Basics of test fixtures

Running tests

Writing functional tests

Writing integration tests

Writing unit tests

Preparing a test database

Continuous integration with Travis

Summary

Releasing Your Plugin

Releasing Your Plugin

Releasing Your Plugin

Releasing Your Plugin

Releasing Your Plugin

Releasing Your Plugin

Index