Redmine Plugin Extension and Development
eBook - ePub

Redmine Plugin Extension and Development

Alex Bevilacqua

Share book
  1. 114 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Redmine Plugin Extension and Development

Alex Bevilacqua

Book details
Book preview
Table of contents
Citations

About This Book

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.

Approach

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.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Redmine Plugin Extension and Development an online PDF/ePUB?
Yes, you can access Redmine Plugin Extension and Development by Alex Bevilacqua in PDF and/or ePUB format, as well as other popular books in Computer Science & Application Development. We have over one million books available in our catalogue for you to explore.

Information

Year
2014
ISBN
9781783288748
Edition
1

Redmine Plugin Extension and Development


Table of Contents

Redmine Plugin Extension and Development
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
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
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
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
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
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
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
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
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
A. Releasing Your Plugin
Managing your plugin's source code
Starting a blog
Publishing your plugin on redmine.org
Announcing your plugin on redmine.org
Summary
Index

Redmine Plugin Extension and Development

Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: March 2014
Production Reference: 1120314
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78328-874-8
www.packtpub.com
Cover Image by Aniket Sawant ()

Credits

Author
Alex Bevilacqua
Reviewers
Shamasis Bhattacharya
Petr PospĂ­ĆĄil
Kevin Vicrey
Mischa The Evil
Acquisition Editors
Akram Hussain
Neha Nagwekar
Content Development Editor
Larissa Pinto
Technical Editors
Aman Preet Singh
Nachiket Vartak
Copy Editors
Alisha Aranha
Brandt D'Mello
Adithi Shetty
Project Coordinator
Jomin Varghese
Proofreader
Maria Gould
Graphics
Ronak Dhruv
Indexer
Monica Ajmera Mehta
Production Coordinator
Alwin Roy
Cover Work
Alwin Roy

About the Author

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 http://www.alexbevi.com.

About the Reviewers

Shamasis Bhattacharya has been a part of FusionCharts since 2008. As a JavaScript architect, he heads the JavaScript development team and spends most of his time a...

Table of contents