We're hiring!
Code Spaces is growing and as such we are looking for a software developer to join our team. Ideally we are looking for somebody with knowledge or experience of:
- C# (2.0+)
- .NET
- Ruby
- Oracle or SQL Server or MySQL
- Agile Methodologies
As part of the Code Spaces team you will gain experience in Ruby (on Rails) and MySql while working our products Code Spaces and Traqus, you will also gain experience in .NET and C# 3.5 while working on one of our many consulting engagements.
So if your an enthusiastic software developer, and would like to join our team, Send your resume to jobs[AT]codespaces.com
Upgrade Complete 4
Part 1 of 3 major upgrades to the Code Spaces software and infrastructure has now been completed.
This upgrade includes much of the v2.0 functionality and some of the hardware upgrades to support it, we will be doing the second part of this upgrade in two weeks.
So What’s New?
Project Portals
Each project can now have a project portal, which can be public (anyone can see it) or private (only users you create can see it) – Portals consist of several pages from you project wiki and can include pages to submit bugs and view public work items.
Email Notifications
You can now subscribe to events such as Subversion Commits via email, simply go to your profile admin and select the notifications you wish to receive – Make sure you check you registered email address is correct?
Document Module
You can now upload documents to Code Spaces.
Anonymous SVN access
We now allow anonymous SVN read access, to enable this go to the project admin section and modify the repository settings.
Wiki
We have improved the wiki syntax and rendering to support the project portals.
Dashboard
We have included a new Subversion Stats module to the dashboard which gives a visual representation of your teams activity.
Caching
Many elements of Code Spaces have been re-written to make better use of caching, which means you should see some performance improvements.
Office Move
As many of you may know we moved into a new office last week, as such our contact details have changed
Code Spaces
Unit 1.17
The TechnoCentre
Coventry University Technology Centre
Puma Way
CV12TT
PHONE : +44 (0)2476 792025
View Larger Map
Code Spaces Server Maintenance This Sunday
Code Spaces will be down this sunday for server upgrades and software updates, this outage will start at 08:00 (GMT) and will be finished by 12:00 (GMT).
Subversion services will also be interrupted however this will only consist of a few reboots.
For more information please Contact Us
Subversion Cluster Planned Maintenance
We will be taking down the Subversion cluster on Sunday the 27th April for planned maintenance and server upgrades.
The outage will occur between 10:00 GMT and 13:00 GMT and all subversion repositories will be unavailible during this time.
Please Contact Us for further information.
Code Spaces v2.0 6
For the last 3 months we have been working on a major update to Code Spaces and as we are now getting to the end of the development phase, I though I would share with you some of the features that will be included in the new Version.
Document Module
This is a basic document management module that allows you to store documents outside of your Subversion Repositories which can be linked to Work Items, Wiki pages or forums. The idea is that you can store specs and requirement documents here and link them to particular work items. These documents can also be marked as public which means they can be accessed by non Code Spaces user via the project portal.
Project Portal
Each Project can have a Project Portal which is a public facing view of your project. Elements of your project like Work Items, Wiki Pages, Subversion Repositories, Forum Threads and Documents can be marked as marked as public adding them to your project portal. Your customers and users can access the project portal at any time to raise issues, download files, Participate in the Forums, etc… The project portal look and feel can be changed by selecting on of the many themes. Project Portals are optional and can be switched off for any project that does not require public access.
Email Notifications
Code Spaces already exposes notificatoins through RSS, however each user now has the option to recieve notifications via Email.
Twitter Notifications
Each project can send notifications like Subversion Commits, Work Item status changes, Milestone completion/creation, etc to a desigbated Twitter account.
Project Email Addresses
Each project now has an email address which you can use to send messages into the project, messages recieved via this address will be turned into work items. Project Admins can specifiy white lists to avoid spam.
Anonymous Subverison Access
Each Subversion repository can be set to allow anonymous read access enabling you to give out a repository url to your customers or colleagues.
Fragment Caching
Code Spaces heavily uses fragment caching to speed up page requests, Dashboard and Work Item pages are now on average 20x faster, other pages also show impressive improvements.
Bug Fixes
All know issues have been resolved.
RELEASE DATE We are planning to release v2.0 into the production environment at the end of this month (Feb 2008).
NOTE This version was origionally scheduled to be released as v1.1 but due to the amount of new features in this release we have decided to jump to v2.0
UPGRADES All customer will recieve this version for FREE and will get access to ALL the new features, except for FREE users who will not get the Project Portal functoinality.
STAND ALONE VERSION The Code Spaces Stand Alone version (currently not released) will be based on the v2.0 code base, and is scheduled for a Beta release in March-April 2008.
Connecting to Subversion via a WebDav client.
Subversion has a number of very good clients, but sometimes you need to give non Geek staff access to your repositories, this usually presents a problem as the inner workings of subversion are hard to grasp if your not tech savvy.
Fortunately subversion (when exposed via Apache) partially implements a DeltaV server and exposes just enough to allow a standard WebDav client to connect, add, rename and delete files or folders. You do however need to explicitly enable this in order for it to work.
In your Apache http.conf you will have a location tag that exposes your repository to the out side world (something like this) :
<Location /repos>
DAV svn
SVNPath /path/to/repository
</Location><Location /repos>
DAV svn
SVNPath /path/to/repository
#Enable WebDav client access for my marketing department.
SVNAutoversioning on
ModMimeUsePathInfo on
</Location>All modern Operating Systems allow you to mount a WebDav folder as a drive or folder:
Mounting a WebDav folder in Windows XP
Open the special folder called “My Network Places”, then click on “Add a network place” and fill in the URL of your repository url (like “http://svn.codespaces.com/account/repos”)
Mounting a WebDav folder in OS X
From the finder Go menu, connect to server and supply the repository URL (like “http://svn.codespaces.com/account/repos”)
Mounting a WebDav folder in Linux
You already know how to do this right?
Once the folder (or drive) is mounted you can use it as if it was a normal folder on you hard disk.
NOTE When adding files or folders to a Repository via WebDav each transaction is a least one commit in the SVN repository and adding a file is two commits (one to add the file, and one to add the file data), so adding 100 files will increment your repository revision by 200! This is also very ineeficient as it has to upload 1 file at a time.
Apart form the limitation and inefficiencies noted above this is a really useful way of granting access to your repositories to non IT users, for instance we have a repository for our marking materials which is simply mounted as a folder (in OS X) or as a drive (in XP) allowing everyone working on a project to simply save images, pdf, etc into the repos without having to update and commit from within a Subversion client.
Code Spaces If your using Code Spaces for your Subversion Hosting (and why wouldn’t you!!!) we can enable WebDav client access for you (it’s not on by default), simply send a mail to support[at]codespaces.com with your repository URL and we will enable it ASAP.
Import an existing Subversion repository 2
To upload the history of an existing Subversion repository, use the svnsync tool that ships with Subversion 1.4. Run svnsync help to see the help for this tool.
Note that your Code Spaces Subversion repository must be at revision 0 to perforn a sync operation, so create a new repository if you need to.
Here’s a sample transcript that demonstrates how you can import the history from an existing repository (located at file:///c:/path/to/localrepos) to your repository on Code Spaces:
Windows:
C:\> svnsync init --username YOURUSERNAME https://svn.codespaces.com/YOURACCOUNT/YOURREPOSITORY file:///c:/path/to/localrepos
Copied properties for revision 0.
C:\> svnsync sync --username YOURUSERNAME https://svn.codespaces.com/YOURACCOUNT/YOURREPOSITORY
Committed revision 1.
Copied properties for revision 1.
Committed revision 2.
Copied properties for revision 2.
[...]
OSX or Linux:
$ svnsync init --username YOURUSERNAME https://svn.codespaces.com/YOURACCOUNT/YOURREPOSITORY file:///path/to/localrepos
Copied properties for revision 0.
$ svnsync sync --username YOURUSERNAME https://svn.codespaces.com/YOURACCOUNT/YOURREPOSITORY
Committed revision 1.
Copied properties for revision 1.
Committed revision 2.
Copied properties for revision 2.
[...]
When prompted for your password, use your Code Spaces password.
Running svnsync on a large repository will take a significant amount of time. If you are disconnected during the process, you may see the error message “svnsync: Couldn’t get lock on destination repos after 10 attempts”. If this happens, you can remove the lock yourself, see the “Locks” section of svnsync.txt.
Uptime Statistics
IF you would like to see the current “Uptime” status of the Code Spaces application and the Subversion cluster please visit this page
We are currently operating at around 99.9% uptime for both the Code Spaces application and the Subversion Cluster which is really good.
Get notifications about our uptime
Enterprise Customers can now receive emails and/or SMS messages when the subversion cluster goes down – not that it does very often ;-)
Subversion Clients 2
Many Code Spaces users have asked my which Subversion Clinets are the best for a given platform so I a have compiled this list of Subversion Clients and grouped it by Operating System, I know this list is not complete so let me know if i have missed any really good ones ;-)
For Windows- TortioseSVN is the de-facto standard when it comes to Subversion clients, on windows that is, TortoiseSVN is OPEN SOURCE, and FREE and is a complete implementation, featuring visual Diff and Merge and really good integration with the windows shell.
- Rapid SVN is a Cross Platform stand alone client. It sports a Simple interface that is familiar to most source control clients, and is OPEN SOURCE and FREE.
- SmartSVN is a commercial Subversion Client, which includes all the standard SVN features, with some nice additions like a fancy Revision Graph. SmartSVN costs $79.99 per user but for those of you who don’t do Open Source, it’s a good alternative to TortioseSVN and RadipSVN.
- SVN.exe is the command line Subversion client that comes with the standard Subversion install and for 90% of your subversion work is more than good enough to accomplish what you need, It isn’t a GUI and you have to learn all the commands, but once you have you will also have a much better understanding of the Subversion internals. SVN.exe is OPEN SOURCE and FREE.
Mac OS X
- SCPlugin is an open source project that is building a Mac version of TortoiseSVN (see above), and although its far from being complete it does give you the shell integration and the basic SVN commands. it is OPEN SOURCE and FREE.
- RapidSVN (See above) being cross platform is also a good client for Mac OS X, however the look and feel is not really what most Mac users expect. (Java tut).
- SmartSVM (See above) being cross platform is also a good commercial Subversion client on Mac OS X.
- The SVN command line client again is a great utility on the Mac.
Linux
- RapidSVN and SmartSVN also run on Linux systems (java required) and are both great on this platform.
- Svn command line is probably the tool of choice for most Linux developers. Linux users are generally more comfortable in the command line.
In my next post i will highlight some of the IDE’s and IDE Extensions that enable Subversion Integration.