Redmine Plugin Extension and Development

If you’d like to customize Redmine to meet your own precise project management needs, this is the ideal guide to understanding and realizing the full potential of plugins. Full of real-world examples and clear instructions.

Redmine Plugin Extension and Development

Starting
Alex Bevilacqua

If you’d like to customize Redmine to meet your own precise project management needs, this is the ideal guide to understanding and realizing the full potential of plugins. Full of real-world examples and clear instructions.
$17.99
$29.99
RRP $17.99
RRP $29.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
Code Files
+ Collection
Free Sample

Book Details

ISBN 139781783288748
Paperback114 pages

About This Book

  • Gain access to powerful and useful features by hooking into Redmine's underlying infrastructure
  • Real-world examples that will help you in building cross-platform applications using Redmine
  • Full of illustrations, tips, and tricks to facilitate the development of plugins and extensions

Who This Book Is For

This book is intended for those who want to build custom functionality into the Redmine project management platform. If you're already comfortable with Ruby, Rails, and Redmine, but you aren't quite sure what to do next, this book will walk you through the basics of getting a plugin written and integrated into various key areas of Redmine.

Table of Contents

Chapter 1: Introduction to Redmine Plugins
An introduction to our sample plugin
Generating a new plugin
Diving into the initialization file
Summary
Chapter 2: Extending Redmine Using Hooks
Understanding hooks
View hooks
Controller hooks
Model hooks
Helper hooks
A sample view hook implementation
Summary
Chapter 3: 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
Chapter 4: Attaching Files to Models
Model preparation
Enabling attachments in our views
Controller modifications to accommodate attachments
Listing and managing attachments
Managing attachment permissions
Summary
Chapter 5: 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
Chapter 6: Interacting with the Activity Stream
Overview of the activity stream
Preparing our model
Registering our model
Configuring an activity provider
Customizing activity entries
Summary
Chapter 7: 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
Chapter 8: 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

What You Will Learn

  • Understand the basic plugin setup from scratch
  • Exercise core Redmine enhancement through the use of model/view/controller/helper hooks
  • Apply and control the ability to attach files to custom models
  • Discover how to lock down content area access by leveraging the existing security infrastructure
  • Learn how to make model fields searchable within Redmine's existing search subsystem
  • Enable custom updates to be mixed into Redmine's project and system activity streams

In Detail

Redmine is a flexible project management web application that is cross-platform and cross-database. Redmine handles multiple projects and provides integrated project management features, issue tracking, and support for various version control systems.

This book provides an overview of the tools available to potential plugin authors who want to extend and enhance a product to work their way. It is meant to teach developers who have existing Ruby on Rails experience on how they can properly extend Redmine through custom plugins.

In this book, existing models, views, and controllers will be extended through the use of hooks. You will learn how custom updates can be tied into project and system activity streams.

Plugin models will be made searchable and custom permissions and security will be discussed. This book will also teach you how to create a sustainable plugin for an established product and maintain an ongoing relationship with the Redmine community as it relates to a new plugin.

Reading this book will provide you with the necessary skills to quickly and efficiently extend products through plugins.

Authors

Table of Contents

Chapter 1: Introduction to Redmine Plugins
An introduction to our sample plugin
Generating a new plugin
Diving into the initialization file
Summary
Chapter 2: Extending Redmine Using Hooks
Understanding hooks
View hooks
Controller hooks
Model hooks
Helper hooks
A sample view hook implementation
Summary
Chapter 3: 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
Chapter 4: Attaching Files to Models
Model preparation
Enabling attachments in our views
Controller modifications to accommodate attachments
Listing and managing attachments
Managing attachment permissions
Summary
Chapter 5: 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
Chapter 6: Interacting with the Activity Stream
Overview of the activity stream
Preparing our model
Registering our model
Configuring an activity provider
Customizing activity entries
Summary
Chapter 7: 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
Chapter 8: 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

Book Details

ISBN 139781783288748
Paperback114 pages
Read More