Following my post here on some of the technology decisions in the XE architecture, another question that comes up in discussions on the evolution of Banner XE has to do with how Ellucian will enable institutions to make modifications without diverting from the baseline releases. Our approach involves making available repositories standardized on Git for XE version control and code access, and today Ellucian has made this method available to Banner customers (see the post on the Commons here). This post is devoted to the reasons Git is used.
Banner XE Source Code is now available to customers through the Banner XE Source Code Repository, which is based upon the Git revision control system. Git is an open source project started by Linux creator Linus Torvalds, and although a lot of software version control systems have a central repository (e.g. SourceSafe, CVS, Subversion), code changes with most of these approaches require each developer to make changes directly to the central repository. Git, on the other hand uses a distributed version control paradigm, where developers copy the whole repository to their own system, make changes on their local copy, and then check in the changes to the central server. The key here is that the behavior this fosters is sharing more granular changes and to collaborate more.
Ellucian provides authenticated access for customers and scripting to ensure access control and automation for cloning and refreshing the local repositories. By adopting Git, Ellucian is now providing the market with a version control mechanism that enables institutions to clone the Banner XE repositories, configuring an origin server, make modifications, refresh repositories, and merge institution’s commits with the latest Ellucian commits (representing a new product release).
The first step with Ellucian’s rollout of Git is to provide an improvement to the version control and development practices of Banner code on premise, and specifically to reduce the effort needed to re-apply changes an institution makes when Ellucian releases new versions of the Banner baseline. Refreshing local repositories at an institution with this method is quite simple, enabling local developers to pull the repository and subsequently merge the new baseline code branch into their branches containing modifications.
Eventually, Ellucian will enable contributions of modifications using a submit process to one or more repositories using this foundation.