Redmine Plugin Extension and Development

Redmine Plugin Extension and Development
eBook: $17.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $47.98    Print cover: $29.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • 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

Book Details

Language : English
Paperback : 114 pages [ 235mm x 191mm ]
Release Date : March 2014
ISBN : 1783288744
ISBN 13 : 9781783288748
Author(s) : Alex Bevilacqua
Topics and Technologies : All Books, Application Development, Open Source

Table of Contents

Chapter 1: Introduction to Redmine Plugins
Chapter 2: Extending Redmine Using Hooks
Chapter 3: Permissions and Security
Chapter 4: Attaching Files to Models
Chapter 5: Making Models Searchable
Chapter 6: Interacting with the Activity Stream
Chapter 7: Managing Plugin Settings
Chapter 8: Testing Your Plugin
Appendix: Releasing Your Plugin

  • Chapter 1: Introduction to Redmine Plugins
    • An introduction to our sample plugin
    • Generating a new plugin
      • Using custom gemsets in our plugin
      • Generating models and controllers
    • Diving into the initialization file
      • Plugin attributes
      • Initialization checks
        • Checking for a specific Redmine version
        • Ensuring the existence of other plugins
      • Extending core Redmine features
        • Working with Redmine menus
        • Initializing named permissions
        • Project module availability
        • Adding custom events to the activity stream
        • Registering custom text formatting macros
    • Summary
  • Chapter 2: Extending Redmine Using Hooks
    • Understanding hooks
    • View hooks
    • Controller hooks
    • Model hooks
    • Helper hooks
    • A sample view hook implementation
      • Identifying the callback
      • Integrating the hook
      • Creating the view partial
    • 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
      • Managing user whitelists
      • Restricting access via whitelists
      • Enforcing the whitelist
    • 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 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
      • Working around a Redmine testing issue
    • Running tests
    • Writing functional tests
    • Writing integration tests
    • Writing unit tests
    • Preparing a test database
    • Continuous integration with Travis
    • Summary
  • Appendix: Releasing Your Plugin
    • Managing your plugin's source code
    • Starting a blog
    • Publishing your plugin on
    • Announcing your plugin on
    • Summary


Alex Bevilacqua

Alex Bevilacqua is an advocate for open standards, as well as a passionate and enthusiastic open source developer with over 10 years of experience. He is skilled in Ruby, Python, C#, Flash, Flex, JavaScript, and others. He is the author of a number of Redmine extensions and plugins; two of the most popular being the Redmine Knowledgebase and the Redmine Dropbox Attachments plugin. He currently works for a leading digital marketing company in Toronto where he works on process automation, data collection, and aggregation initiatives. His personal blog can be found at
Sorry, we don't have any reviews for this title yet.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Redmine Plugin Extension and Development +    Managing IaaS and DBaaS Clouds with Oracle Enterprise Manager Cloud Control 12c =
50% Off
the second eBook
Price for both: €20.60

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • 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.


This book provides a thorough look at the tools available within Redmine to facilitate the development of plugins and extensions. Full of tips and tricks, a recurring case study is also used to help guide you through the various content area extensions and plugin helpers and to provide context and real-world examples of the concepts being covered.

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.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software