Tag Archive for 'apache'

MultiSite Enables Agility For the Distributed Enterprise

The Agile methodology has become a wildly popular approach for software development with close to 50% of development teams using at least some agile techniques based on different surveys. The responsibility of an agile team is to deliver value in the software they are creating and meet the criteria or objectives that determine success for the project and a common set of development “best practices” have arisen that are crossdisciplinary. Adopting these best practices can be especially challenging for collaborating agile teams that are distributed or have distributed members.

The Agile principles state that successive short development cycles, popularly referred to as rapid iterations, be used to develop software quickly in little bits (pun ;) ) at a time. Different methodologies have arisen from the Agile principles like Scrum, XP, TDD, Crystal and others which define activities and process for agile teams. The process gets into the specific details for each discipline but agile teams enjoy a great amount of freedom for self organization as well as self definition which as a result teams may borrow one aspect of another methodology to apply to their own agile approach. Popular examples of this are the XP User Story or and the Scrum Backlog.

The common principles mixed together with the common practice of borrowing the best aspects of each discipline has helped popularize a set of software development best practices. These are practices which are good for any software development team but the popularity and nature of agile software development has led these practices to be commonly associated with agile specifically. Here is a list of the more common agile best practices:

  • Rapid Iteration
  • Continuous Integration
  • Parallel Development
  • Frequent Commits
  • Automated Testing
  • Code Review
  • Refactoring

If you are an enterprise considering a large scale adoption of agile software development practices then there are a number of challenges that you may be facing. Scaling Scrum is well documented in Ken Schwabers book “The Enterprise and Scrum” and he has special sections dedicated to the problems of distributed teams, distributed members and the scarce skills problem (eg: one DBA shared by many teams). Ken handles the issues associated with the organization and daily routine for Agile Scrum adopters, but what about the technical challenges especially those associated with the best practices I listed? This is an area where the value added services offered by WANdisco enter the conversation.

Using Subversion Multisite and Apache Subversion will enable teams to fully adopt an Agile practice like Scrum on an enterprise scale, especially where distributed teams or members are concerned. Here is how.

  1. Subversion Multisite instantly synchronizes development changes between locations. This means that distributed teams always work against a local source code repository, without which frequent commits, continuous integration, code reviews and parallel development might not be possible at all or at best will be severely hindered if users are required to connect across the internet to access the source code repository (for read or write activities)
  2. Multisite also supports local clustering option, an enterprise that sets up two or three load balanced Subversion servers will better handle the increased traffic from frequent commits and especially from continuous integration where automated tests and builds are being performed continuously and using up a lot of server resources.
  3. Multisite leads to improved team communication, imagine a tester working in Los Angeles getting the latest build locally almost immediately after a task is committed in New York (again locally). When each site has access to a complete replicated copy of the source code repository many things are possible and the usual downtime related to downloading a new build off a remote server or uploading a set of new changes to a remote server can be entirely eliminated.

An enterprise that is considering or has already adopted agile practices will also want to adopt the software best practices. Given the nature of agile development and rapid iterations adopting these best practices are critical and with Subversion Multisite many of the technical challenges facing distributed teams can be easily solved. There are of course other benefits to Multisite such as built in disaster recovery, guaranteed uptime that will also interest any enterprise and the value offered to Agile teams will be indispensable especially as the Agile usage scales upwards.

Subversion Tip of the Week

The Undo Button!

In the world of software development, client requirements change and new features can introduce more bugs than they fix – sometimes, you just need an ‘undo’ button! Thankfully, Apache Subversion remembers every change made to its files and directories, so you can roll back to a revision before it all went wrong! There are several methods for reverting to a previous version:

1) svn revert {filename} - this command overrides any local changes made to the working copy, with the code in the repository.

To run this command in TortoiseSVN, select ‘Revert…’ from the TortoiseSVN menu.

You will then be able to specify which changes you wish to implement. In this example, we are re-adding the ‘Help file.’

2) svn merge -r {revision number} – this command performs a reverse merge by rolling back to a change that has already been committed to the repository, and then applying it to the local working copy.
3) Alternatively, it is possible to simply delete your working copy and then checkout a fresh working copy from the repository.

Intro to Subversion Access Control 4.1

Big plans are brewing at WANdisco for 2012, and one project that has just been completed, is Subversion Access Control 4.1.

Access Control 4.1 includes a revamped user interface. The new look makes it easier for users to navigate through the security features offered by Access Control and setup new rules and permissions for Subversion repositories and paths.

The ‘Group’ concept has been replaced with “Teams’ and a new feature has been added to allow the designation of “Team Leader” who is then granted some administrator privileges. Specifically, the Team Leader is able to setup user access rules to a pre-defined repository path (or paths).

We are calling this new feature Delegated Admin since it allows granting of some administrator privileges to users. The context of how this feature could be used might be best described in terms of business units for an enterprise corporation. Consider the following scenario.

A company has 100 Apache Subversion users split into 10 teams, each associated with a separate BU, each team has its own Subversion repository. In the past, Access Control admin can go in and setup repository security rules that applies to all 100 users and repositories. With delegated admin the Access Control administration can create 10 new Teams and assign a Team Leader to each one, specifying the Repository that team should have access to. From there, the Team Leader can log into the system, add/remove the users for the team, and setup multiple rules needed to properly manage those Subversion assets.

Effectively what delegated admin does is allow Team Leaders, people in charge of their respective Business Units, to define and configure their own team rules. Access Control supports the concept of nested-teams which is called Sub-Teams (see screenshot) and this would even allow you to further organize teams from larger sections into multiple sub-sections (eg: West Coast Branch –> Plugins Team; West Coast Branch –> Application Team) and designate a team leader at each level to manage users and rules.

The role of the Access Control administrator now is to simply define Team Leaders and the resources which they can direct access over. Once defined the Team Leader can only create rules that affect their resources meaning the West Coast Branch won’t be able to setup access rules for the East Coast Branch’s repositories and vice-versa.

The ability to delegate some administrator functionality to Team Leaders, and in the context of specific Subversion paths and repositories, is a powerful new feature that will empower enterprise organizations and save time and money. Team Leaders are able to set access restrictions based on the need and requirements of their given team or business unit and no longer have to rely on a single administrator to do that for them.

WANdisco Updates Subversion Access Control

We’re pleased to announce a substantial update to our complete authorization, audit and access control solution for Enterprise Subversion, Subversion Access Control.

Subversion Access Control 4.1 is an innovative security solution for Apache Subversion that provides full audit, authorization and access control capabilities that go well beyond what Subversion offers on its own. Some of the key benefits to employing Access Control include:

  • Delegated administration option that allows the root administrator to create teams and delegate administration authority to team leaders.
  • Automatic synchronization of Subversion Access Control with LDAP user and group configuration. Subversion Access Control automatically picks up LDAP user and group membership changes and assigns new users to the Subversion team that corresponds to their LDAP group.
  • Comprehensive audit capabilities that report every repository access attempt down to the file level, showing user, Subversion command, date and time and whether access was allowed or denied. Security administrators receive immediate alerts for any access violations.
  • Can be implemented standalone or in combination with Subversion MultiSite 4.1 for distributed development teams. With Subversion MultiSite, security policy changes made at one location are immediately replicated to every other to enforce consistency across all sites.

Subversion Access Control 4.1 is a substantial update for the product, not only adding a list of new functionality, but completely overhauling the underlying access model. The access control lists previously required to maintain complex security policies, have been replaced by an all-new, streamlined approach that applies access rules to hierarchical teams. For more information on what’s new and noteworthy in this update, see the Release Notes.

WANdisco will be hosting a free hour-long ‘Introducing Subversion Access Control 4.1’ webinar on April 12th. Early registration is recommended, as space is limited.

Extending Jenkins with uberSVN

Installing Jenkins is made easy with our free, open ALM platform for Apache Subversion, uberSVN. But when installed through uberSVN, your Jenkins installation contains only the bare minimum; at some point you will want to extend your uberSVN and Jenkins installation with additional plugins. Thankfully, this is made easy with uberSVN, as any number of new plugins can be added without ever leaving your installation.

Start by going to the ‘Jenkins’ tab, followed by the ‘Manage Jenkins’ option on the left side of the screen, and finally selecting the ‘Manage Plugins’ link.

From here, click on the ‘Available’ tab, which will bring up a list of all the plugins you can add to Jenkins.

Scroll down to see the list of available plugins. If you need some more information on a particular plugin, clicking on the name of the plugin will take you to a product page where you can browse all the relevant information about the plugin in question, including the changelog, maintainers, and the date of the most current release.

If you wish to install the plugin, go back to the ‘Available’ page and select the tickbox on the left. When you have finished selecting plugins to install, scroll to the bottom of the screen and hit the ‘Install’ button.

The plugin will now be downloaded. Note that Jenkins will need to be restarted for these changes to take effect.

Once you have restarted Jenkins, go to the ‘Installed’ tab in the ‘Manage Plugins’ screen. You will see that the plugin you have just downloaded has been added to the Installed list.

Jenkins is available for free through uberSVN. Visit http://www.ubersvn.com/ now to download uberSVN. A professional support option for Jenkins is also available.

Using uberAPPS? Have your say on uberAPPS at the official forum!

Apache Subversion 1.7.3 Released

The first Apache Subversion release of 2012 is now available! Subversion 1.7.3 builds on the long-awaited enhancements of the recent Subversion 1.7 release, by introducing even more improvements. Subversion 1.7.3 improves the SASL error messages, allows committing the result of some copy operations, and fixes a source of possible FSFS corruption.

More information on what’s new and noteworthy in this release, is available at the Changes file. The latest binaries can be downloaded for free from the WANdisco website. As ever, our 1.7.3 binaries undergo the same rigorous quality assurance process as our Enterprise Subversion products.

Congratulations to Apache Subversion’s community of developers, contributors and users, on another great release!

Subversion Tip of the Week

Recovering Deleted Items

If you delete an item from your Apache Subversion repository and need to recover it at a later date, a useful tip is to locate the desired file in a revision before it was removed, and copy it back into the repository. The first step, is to run a search in the directory that used to contain the deleted item:

svn log -verbose

This will list all of the changed items in each revision, allowing you to pinpoint the revision where you deleted the file.

Now you have located the file, you can perform a reverse merge, which will re-add the desired file to your working copy:

svn merge {revision number}

Perform a commit, and the file will once again exist in the repository. Alternatively, the ‘svn copy’ command can be used, along with the revision number you located earlier:

svn copy {revision number}

WANdisco’s January Roundup

At WANdisco HQ we’re staring 2012 as we mean to go on: with a string of announcements and releases! Firstly, we are excited to announce two great new additions to uberSVN and uberAPPS: professional support for the Jenkins continuous integration server, and crowdsourcing functionality from the world’s largest marketplace for software testing services: uTest.

Just before the holiday season, the Apache Incubator gained a new addition, with Bloodhound being voted into the incubator. WANdisco are sponsoring some of the initial Bloodhound committers, so we’re excited to see Bloodhound taking its first steps to becoming a fully-fledged Apache project. Want to get involved? Head over to the Apache Bloodhound incubator page now, for more info.

Also this month, team WANdisco had a great night at the Sheffield Business Awards, where we were shortlisted for the Digital Industries Award. As a Sheffield-based company, it was an honour for our Made In Sheffield product, uberSVN, to be shortlisted for another prestigious award from our own city. We’d like to thank the Sheffield Chamber of Commerce for putting on such a fantastic awards show, and for award sponsors Highlander for shortlisting WANdisco.

Some of the core developers of Apache Subversion also paid a visit to WANdisco’s Sheffield office this month. To celebrate, we hosted a one off, free ‘Apache in the Pub’ event for the local software developer community. The event featured talks by Subversion’s release manager Hyrum Wright, and Greg Stein, director and former chairman of the Apache Software Foundation, where they covered everything from Apache Bloodhound, to Python, and even Greg Stein’s experiences at Google. Thank you to the Apache Software Foundation and our local GIST Foundation, for helping us out with this great event.

Finally, to celebrate the success of uberSVN ‘Blake,’ we decided a return trip to the Blake pub in Walkley, Sheffield, was in order. We presented the Blake’s staff with a special uberSVN plaque, so they never forget they have award-winning software named after their pub.

WANdisco Host Apache Meetup for Local Developer Community

This week, core members of the Apache Software Foundation, Greg Stein and Hyrum Wright, have been visiting WANdisco at our offices in Sheffield, UK. To celebrate, we hosted a special, one-off ‘Apache in the Pub’ event at the Rutland Arms, giving the local developer community the opportunity to meet these prominent ASF members, in the local pub!

The event was a great success, with a packed room of developers all debating open source topics: Subversion, Apache, Python, and of course the brand-new Apache Bloodhound project. We even got to hear some of Greg’s tales from his time at Google!

The event attracted much attention on Twitter. Here’s a selection of our favourite tweets from Apache in the Pub attendees:

  • Looking forward to a pint @RutlandArms with @gstein & @hyrumwright of @theasf tonight courtesy of @wandisco & @gistwire
  • @WANdisco @rutlandarms Apache in the Pub was a good event with a great turnout. Big thanks to you both for organising and hosting.
  • Good beer @RutlandArms and interesting people did fix bad day. Met a bunch of new bods from @WANdisco and talked about #bloodhound :)
  • @WANdisco @dchetwynd Hope everyone who came had a good time – those who didn’t missed out!

Thank you to our local GIST Foundation, and the ASF, for helping us host this free event for the local developer community. After receiving some great feedback, and being overwhelmed by the full attendance, we’re convinced the local community wants to see more of these sorts of events. If you have any ideas or feedback on community events you would like to see in the local area, please don’t hesitate to leave us a comment at the blog, or alternatively Tweet or email us.

We hope you all had a great time at Apache in the Pub, and we hope to see you at another WANdisco-hosted event soon!

WANdisco Host Apache in the Pub

Fancy an evening in the pub with core members of the Apache Software Foundation? This week, director and former chairman of the Apache Software Foundation, Greg Stein, and Apache Subversion release manager Hyrum Wright, will be paying a visit to WANdisco’s Sheffield office. To celebrate, WANdisco and the Apache Software Foundation, in cooperation with the GIST Foundation, will be hosting a very special, one-off Apache in the Pub event at the Rutland Arms pub in Sheffield, UK, giving the local developer community the opportunity to meet these prominent Apache Software Foundation members, and discuss all things open source, including the new Apache Bloodhound project, Python, and Apache Subversion.

If there’s time, maybe we’ll even hear how Greg launched Google Code, or some of his other war stories from the cutting edge.

This event is completely free, simply visit the Apache in the Pub Eventbrite page. And as an extra bonus, they’ll be a free pint for everyone who arrives on time!