Developer Meeting 2010-04-30
We have picked a date and time for the first Redmine Developer meeting. It will be held on irc at 2010-04-30 at 14:00 UTC (check your local time). Everyone is welcome to attend and participate:
- Developers
- Contributors
- Plugin developers
- Users
- People interested in getting involved in the Redmine community
- Others who have nothing better to listen to on Friday
I'm hoping this meeting will help communicate the overall vision of the Redmine project and also involve more of the community in the project. I hope I can see you there.
Redmine Client - Access the Redmine API in Ruby
Redmine 1.0 will include a REST API so I've started to build a Rubygem to make accessing the API in Ruby easy. So far redmine_client has support for all of the current APIs in Redmine, including:
- Read/write support for Issues
- Read/write support for Projects
- Read support for News
Installation is an easy gem install redmine_client
and it's used just like ActiveResource. For example to change Issue #19000 on the demo.redmine.org site using the "bob" user:
require 'rubygems'
require 'redmine_client'
RedmineClient::Base.configure do
self.site = 'http://demo.redmine.org'
self.user = 'bob'
self.password = 'somepassword'
end
issue = RedmineClient::Issue.find(19000)
issue.subject = "Changed via the API"
issue.save
Both the Redmine API and the redmine_client are under development so I'll be adding new features over the next few months up to Redmine 1.0. Feel free to fork the project on Github and hack away at it.
Developer Meeting (Proposed)
UPDATE: The final meeting times have been decided on, see my update for more information.
There is a discussion about a Redmine developer meeting at the end of the month. Everyone is welcome to attend and we are currently collecting discussion topics on the wiki. We are hoping to schedule these regularly in order to have more community involvement in the decision making process.
Once the final date and time have been decided, I'll update this post.
YARD - Local Redmine Documentation Download
Redmine has a large codebase and sometimes it's hard to find the class or method that you need for your custom development. Since I recently added support to Redmine for YARD (a powerful Ruby documentation tool) I figured that I'd post the generated documentation here.
YARD generates HTML documentation from Redmine's code comments, so it's fully automatic. I like YARD over RDoc because it has a better design and has a JavaScript search builtin.
To install, just extract one of these zip files and open the index.html
in a web browser. Instant local documentation!
- Redmine YARD documentation from trunk at r3631
- Redmine YARD documentation from trunk at r3631 with Ruby on Rails 2.3.5
If you want to regenerate the documentation from your Redmine, just install the YARD gem (gem install yard
) and run rake yard
while in the Redmine root directory.
If you want to improve the documentation or code comments, feel free to submit a patch to Redmine and we will integrate it into the core.
Redmine Continuous Integration Server
The development group at finnlabs have setup a continuous integration server for Redmine at ci.finn.de. It's currently testing the entire range of supported Ruby versions and databases with Redmine (and some versions that aren't fully supported yet):
- Redmine 0.9.x on MySQL with Ruby 1.8.7
- Redmine 0.9.x on Postgres with Ruby 1.8.7
- Redmine 0.9.x on Sqlite3 with Ruby 1.8.7
- Redmine trunk on MySQL with Ruby 1.8.7
- Redmine trunk on Postgres with Ruby 1.8.7
- Redmine trunk on Sqlite3 with Ruby 1.8.7
- Redmine 0.9.x on MySQL with Ruby 1.9.1
- Redmine 0.9.x on Postgres with Ruby 1.9.1
- Redmine 0.9.x on Sqlite3 with Ruby 1.9.1
- Redmine trunk on MySQL with Ruby 1.9.1
- Redmine trunk on Postgres with Ruby 1.9.1
- Redmine trunk on Sqlite3 with Ruby 1.9.1
- Redmine 0.9.x on MySQL with Ruby jruby
- Redmine 0.9.x on Postgres with Ruby jruby
- Redmine 0.9.x on Sqlite3 with Ruby jruby
- Redmine trunk on MySQL with Ruby jruby
- Redmine trunk on Postgres with Ruby jruby
- Redmine trunk on Sqlite3 with Ruby jruby
It's hooked up to the official Redmine repository so every code change will run the tests to make sure nothing was broken and report to the #redmine
IRC channel. This will really make it easy for the Redmine developers to make sure Redmine runs correctly on the broadest set of platforms it can.
Thanks Holger Just, Gregor Schmidt, Konstantin Haase, and the rest of the team at finnlabs for managing this resource for the Redmine community.
Community Updates Resuming Soon
There's been so much happening in the Redmine community since the last community update, I haven't been able to find the time to compile it all together. So I'm going to try to post smaller updates more often, with the goal of publishing more current information.
The motto of Open Source is "Publish early and publish often" right?
Redmine 0.9.3 released
Redmine 0.9.3 was posted to Rubyforge yesterday. This is a release for the 0.9.x series of Redmine that includes 30 bugfixes since the 0.9.2 release. To upgrade, follow the upgrade process on the Redmine wiki.
Redmine 0.9.2 released
Redmine 0.9.2 was posted to Rubyforge yesterday. This is a release for the 0.9.x series of Redmine that includes 15 bugfixes since the 0.9.1 release. Upgrading from 0.9.1 should follow the standard upgrade process.
Redmine 0.9 officially released
Jean-Philippe just posted the official 0.9 release of Redmine to the servers. This is the first official release of the Redmine 0.9 branch that has been under development since December 2008. It includes over 269 new features and bug fixes. You can find the entire list of changes on the 0.9.0 and 0.9.1 roadmaps but here are some of my favorites:
- Asynchronous email delivery - can really speed up email delivery, which I written about before
- Browse through Git branches
- Copy A Project
- REST API for authentication
- Rails 2.3.4 support - it's actually 2.3.5 now but this opened up so many more API methods for Redmine plugins
- Remove email body via a delimiter
- Set session store to cookie store by default - this means no more 1000s of ruby_session files in /tmp
- Unlimited subproject nesting
- User groups
What are your favorite new features? What are you wanting to get added to the next major release of Redmine?
Community Update #6
There's been a lot of activity in the Redmine community over the past few months. Here are some highlights from November 2009:
Code changes
Close versions
Versions can now be given a status which will close a version, preventing assigning new issues to it (#1245). This is great if you want to prevent adding additional features to a version, like during a release process. The three version statuses are:
- open: no restriction
- locked: can not assign new issues to the version
- closed: can not assign new issues and can not reopen assigned issues
Url to fetch changesets for a repository
In #2925 a new action was added to allow fetching the changesets for a repository to be triggered by a url. This means that when:
http://your-redmine.com/sys/fetch_changesets
is called Redmine will fetch all of the changesets for all projects.
You can also specific only one project to fetch with http://your-redmine.com/sys/fetch_changesets?id=my-project-id
.
Update trackers from the issue form
Feature #2405 changed the issue form so the Tracker Type can be changed as part of an issue update. This means that if a Feature was entered incorrectly as a Bug, it can be updated directly. Doing this used to require Moving the issue first.
Add or remove columns from the issue list
Feature #4272 adds a new set of options to the Issues list filters. Now you can add, remove, and reorder columns on the fly. I've found this useful for running reports on the issues like: "What are the target versions of issues that have an estimate, are due this week, and are assigned to someone?".
Tree based menus
Redmine will now support Tree based menus. This means any of the menus (the project menu, the top menu, the administration menu) can now have submenus and submenus. The Redmine core isn't taking advantage of this change yet, but some plugins have created additional menus and I suspect this will be used more in the near future.
The feature request shows an example of how the menus are structured as well as how to use the new API.
Allow custom fields for Versions
#4219 added support for defining custom fields on Versions.
Copy and Move
A 'Copy' check box was added to the Issue Move form. This will make it easy to copy multiple issues to another area of Redmine (e.g. different project, different Tracker). Added for Feature #1847.
Managers able to create subprojects
#2963 fixed a bug so users with the "Add Project" permission can now create sub projects. Before, they could only create top level projects.
"View Issues" user permission
#3187 adds a new permission "View Issues". This permission has always been "on" for users but now it is possible to turn it off if you don't want someone to see the issues list at all.
Allow [#id] as subject to reply by email
When the Email Receiving option is Redmine is configured, sending an email with the subject line of:
Subject: [#101]
would not find issue #101 correctly. Bug #3653 corrects this.
child_pages wiki macro on with ?version in URL
#4152 added the ability to specify a specific page version when using the child_pages
wiki macro.
Community Events
6 new themes from Rajesh Krishnan
Rajesh Krishnan has released 6 new themes for Redmine. Each one has a different color scheme with some minor variations. If you're looking for a new theme for your Redmine, check them out.
Screenshot pasting plugin
Jean-Philippe Lang posted a quick plugin for Redmine that shows how a screenshot can be pasted directly into the issue form using a Java applet.
Redmine Harvest plugin
Jim Mulholland created a plugin to integrate Harvest time tracking into Redmine. He includes a short screencast of how it works on his blog post.
Scrum PM plugin
Marcin Jędras is working on a Scrum plugin for Redmine. It current supports some drag and drop planning but he's planning to add more features in the next releases.
iRedmine - iPhone app
Thomas Stägemann has released an iPhone app for Redmine called iRedmine. It's released under the GPL and the code is available on Github. I've tried it out and it's a great start. There are still some bugs but I've already found it useful, especially while traveling.