Mylyn integrationOne of or key goals with the new release is to continue improving Plastic SCM support for the Java/Eclipse ecosystem.
The new release includes a number of important improvements on the core Eclipse integration (such us the new Synchronize view, the ability to directly import projects from Plastic SCM during workspace creation and revisited check-in functionality) and the totally new Mylyn integration to improve parallel development within Eclipse.
The Mylyn integration represents a significant step for Codice as it will streamline parallel development for Eclipse users.
New Mylyn integration
Mylyn is the task and application lifecycle management (ALM) framework for Eclipse and as such is all about creating a task-focused interface for developers. Plastic SCM is designed to implement a task-oriented cycle through extensive use of parallel development with branching and merging. It is clear that the two tools can team up perfectly to create a really strong task oriented environment.
One of the Mylyn limitations when the underlying version control system has limited branching capabilities (as it happens with Subversion, CVS or Perforce) is the ability to correctly manage overlapping changes: What if two different tasks have to modify a colliding set of files? Mylyn, due to the SCM (Software Configuration Management) limitations, is unable to correctly handle the situation unless the changes on the task are committed prior to the switch to a different task. So, having simultaneous open tasks with pending changes is troublesome.
The Plastic SCM Mylyn plugin resolves the issue by extending the basic Mylyn functionality and associating each task with a different Plastic branch, hence implementing real parallel development and powerful isolation between branches.
As the following figure shows, when the developer activates a different task, the Plastic SCM Mylyn plugin is able to assist the user to create or switch to a different branch, associated to the mentioned task.
Task to branch association can’t be simpler nor more effective than the way the new Mylyn plugin implements: the entire branch management is driven by the tool, assisting the user at every step.
Plastic SCM integrates natively with a number of issue tracking and project management system like Atlassian Jira, FogBugZ, Mantis, VersionOne, Rally, Bugzilla and others. Now the integration and task visualization is also available from the Eclipse side as it is from the GUI. The following figure shows the Plastic SCM graphical user interface running on Ubuntu Linux integrated with Jira.
Eclipse plugin enhancements
There are several new features on the core Eclipse plugin for Plastic SCM, all focused on improving the general usability within the IDE.
The first functionality to be described is the new synchronize view, available from the team menu.
The new synch view introduces an alternative way to perform checkins of pending changes, more familiar than the former checkin dialog especially for Eclipse users previously using Subversion or CVS.
The team synchronization view allows an easy navigation and review of the pending changes and also enables an easy way to commit all changes together.
The second important change introduced by the release of this reviewed Eclipse plugin is the new checkin pending changes dialog, improved to match the user’s expectations.
Finally, we’ve added a new import option to the IDE so developers can easily configure new workspaces directly downloading the code from Plastic as they’d do using Subversion or CVS.
The import wizard will drive users through the workspace creation process and will also help selecting the repository and branch or label to work on.
Download and try!
It's been only a few days since we released the Community Edition, which as you know is free for small teams (up to 15 developers!). Interest is pretty high and we expect Eclipse users to be taking a look at Plastic too with this new enhanced plug-in.
So, you know: spread the word!! Tell every one Plastic is now free and they can start using it asap at no cost!