Codebase
Key Features
The list below outlines some of the key features of codebase - there are, of course, lots of other things which we haven't mentioned but you can explore these from your own account.
Quick Overview
- Manage Multiple Projects
- Activity Streams
- Full Source Browser
- Changeset and Diff Viewer
- Ticketing
- Deployment Tracking
- Full User Management
- Whitelabel-able
- API
Manage Multiple Projects
Add all your projects into one simple to use project manager - each project can maintain it's own access list, repository, ticket set as well as ticket milestones & deployment history. Whenever you need to add a new project, it's simple to quickly create one and start committing your changesets straight away.
Choose whether or not to enable various features - for example, create a code only project without tickets or a ticket only project without the source browser - it's up to you.
Activity Streams
Throughout the system we provide "activity streams" - these show all the recent activity across your whole account or for a specific project.
Including events such as ticket creation and updates, commits, deployments & project creations. If you want to keep an eye on what's going on within your project (or account) - the activity stream is invaluable.
We use the gravatar service to display a small icon for all your users displayed in streams.
Full Source Browser
View your repository branches, tags & trees in full with easy switching between branches & tags allowing you to view your source at any point in time. View text files directly in the browser with syntax highlighting or simply download a raw version of the file to your computer. Any image content in your repository will be displayed into your browser as a preview to save downloading it to view.
Changeset and Diff Viewer
Each time you commit into your repository, we keep a track of the change so we can easily show you everything you added, deleted or modified. We've created a nice little diff viewer to display these changes. As well as this, codebasewe also save the messages so you can easily search for a specific changeset if you need to.
We've also added some nice integration with commit messages and ticketing - for example, you can update specific tickets directly from your commit messages - you just commit as normal, and when you push to codebase, we'll deal with the tickets for you.
Ticketing
No code management system would be complete without a ticketing module — so we added one!
The ticketing system in codebase supports milestones, saved searches, ticket updating as well as being able to assign tickets to specific users. Also, as we mentioned above, you can update tickets directly from commit messages to have yourself time. Whenever an update is posted to a ticket, any users watching the ticket, will be notified by e-mail.
Deployment Tracking
If you use capistrano to deploy your code to a remote server - the deployment tracking module is really useful for keeping track of each deployment and which tree was actually committed, which servers it went to and who ran it.
The implementation is really easy, simply include the codebase recipes (included in the codebase gem) in your Capfile and add your API key to your global codebase config file and we'll do the rest.
We have also added support for adding deployment keys (SSH keys which can be used on deployment servers and only have access to a single project) — although this practice is mostly superseded by the use of SSH agent forwarding.
Full User Management
Users can easily register for an account and you can then grant users access to specific projects or simply give them an administrator account which allows access to all projects in your system.
Each user can upload their own public key which will grant them access to your git repositories via SSH. In addition, users can add an OpenID to use when logging into the system.
Whitelabel-able
Easily point your own domain to codebase allowing you to provide professional looking URLs to clients — for example, you can point
code.yourdomain.com directly to codebase. By default, we provide a URL in the format of account.codebasehq.com - but feel
free to change this.
You can upload your own company logo to display within the system and, also, you can remove any reference to codebase from headers and footers.
API
Each user is given a unique API (application programming interface) key which they can use to access the RESTful XML API within codebase.