We are excited to announce that we’ve moved all of our open source code to Github!
Author Archive
Open source libraries now on GitHub
Sunday, July 18th, 2010Selenium client for Racket
Thursday, June 10th, 2010Acceptance testing is a must for any developer of complex web applications. Selenium is a suite of tools to help automate acceptance by recording user actions, turning them into code, and playing them back in a remote controlled web browser.
Now, thanks to a lazy Saturday afternoon and a rather nice bottle of ginger beer, the joys of Selenium are available to the Racket community by way of our new Selenium PLT library. Check it out on our Github page and let us know how you get on!
Kahupdate 2
Sunday, January 31st, 2010We’ve just uploaded another weekly update to Kahu, including a few bug fixes and the following new features:
Automatic closure of tickets
We had a lot of requests for this feature from support teams. Tickets in the resolved state are now automatically closed after a week. An email is sent to the person who raised the ticket, just in case there is still a problem.
Better navigation on booking pages
Each of the booking pages gets five new navigation buttons to make it easier to move around. In left-to-right order these are previous week, previous day, next day, next week, and jump to today. The selected day is also highlighted in week views, making it easier to see where you’re looking.
Delete and deactivate people
Last week we added the ability to delete teams and resources; this week we’re adding the ability to delete people. To avoid confusion, we’ve made it so you can’t delete a person if they own any bookings, have raised any tickets, or have authored any ticket comments. Instead, we’ve added the option to deactivate a person’s account.
Inactive people cannot log in, and they don’t show up on the People page unless you are an administrator. However, they still appear on bookings, tickets and the like.
What are we currently working on? Well, it’s a biggie. We’re updating our in-house tools for doing mass-imports bookings, resources and people. This should make it far easier for schools to do bulk imports of data from Management Information Systems such as SIMS and Facility.
The tools should be available in the next week or so. In the meantime, as ever, please get in touch if you need help with your data.
Kahupdate
Sunday, January 24th, 2010It’s been a week since BETT and already we’re seeing lots of sign-ups to Kahu. We decided to start this news feed to keep everyone up-to-date with the new features we’re adding and with our plans for the future.
Today we launched an update with a number of new features:
Fortnightly repeating events
We had a lot of interest at BETT from schools with fortnightly repeating timetables. So much interest, in fact, that we added this feature on the train on the way back to the office. Timetable managers and booking coordinators now have access to this repeat type when creating/editing a booking series.
Delete resources and teams
Administrators can now see little trash can icons next to each item on the resource and team lists. Clicking on the icon takes you to a confirmation page where the consequences of deleting the item are laid out in plain English.
Speed improvements on all booking pages
We’ve been working hard on our database queries, optimising things here and there to make bookings pages between 20 and 30% faster. There’s more to come in this department too.
This news feed on the dashboard!
News on features and bug fixes, delivered straight to your door!
We’re already working on our next update, which we plan to release in the next couple of weeks. Watch this space for more information!
Announcing Kahu
Sunday, January 17th, 2010We are proud to announce the launch of Kahu, our new resource management software for schools and colleges, developed in partnership with RTS Technology Solutions. Check getkahu.com to find out more!
Libraries update
Friday, June 5th, 2009We produce a lot of open source code at Untyped, all of which is available from our Subversion repository. You can check out a read-only copy of our repository at any time. If you want to work on a branch without getting commit access to our repository, you might find git-svn or Mercurial’s Subversion integration useful. If you’d like to collaborate on development (and we’re open to all kinds of collaboration, including student/academic work) it is probably simplest to drop us an email (noel or dave at untyped dot com) to arrange things. There is a lot of stuff in there, so here’s a quick summary of the most interesting things we are currently working on.
Snooze is our flagship database abstraction layer, comparable to Hibernate or ActiveRecord. Snooze 2, which is out on PLaneT now, contains a robust query language and support for whole-model validation. Development on the version 3 of the library is underway, with emphasis on caching and inter-struct relationships.
Mirrors is our library for programmatic generation of XHTML and Javascript. It allows you to build blocks of code using a syntax similar to Scheme’s quoted lists. Rendering is done at compile-time as far as possible, so you get the convenience and compositional properties of quoted lists with the speed of PHP-style mechanisms. We intend to add support for CSS in a future release.
Delirium is our web UI testing library, similar to Selenium but with the expressive power of SchemeUnit. Versions 2 and 3, both on PLaneT, have equivalent feature sets: version 2 supports PLT 4.1.3 and earlier, while version 3 supports PLT 4.1.3 and upwards.
Smoke is our UI creation library (the partner library to Mirrors, pun definitely intended). While we have deployed this in a number of production applications, the interface is subject to constant tweaking so we haven’t published it to PLaneT. You can still get hold of the code from SVN and play with it, though!
Dispatch, our controller-to-URL mapping library, has been partly subsumed as its core features have been rolled into PLT’s web-server/dispatch library. There is still room for both systems, though, as the PLT library is built with simplicity in mind, whereas Dispatch was built to simplify web development. We plan on “rebooting” the Dispatch franchise with a version that wraps web-server/dispatch with some new features.
SchemeUnit, Noel’s excellent unit testing package, is as strong as ever. A version recently got rolled into PLT core, but you can still get the PLaneT package for the latest updates from Noel. Note that SchemeUnit’s code is hosted at Schematics.
Other points of interest:
- Unlib is still going strong, with new shorthand require/provide syntaxes that can fetch stuff directly from SVN, a more humane version of keyword-apply, and some utilities to support dotted identifiers in our other libraries.
- Excel, as its name suggests, is a library for creating Excel files in functional drawing style. It supports all the basics: formulae, inter-cell references, number formats, fonts, borders and fills, conditional formatting, and cell validation.
- Autoplanet is a tool for deploying applications without having to worry about changing dependencies. It creates an application-local PLaneT cache and can be configured to download and install packages from PLaneT, SVN, or the local filesystem.
Untyped open source repository: open for business
Tuesday, January 27th, 2009It’s been a long time coming, but we are proud to announce the launch of the Untyped open source repository!
This public Subversion repository houses the source code for our open source projects, including popular PLT Scheme packages such as Dispatch, Snooze and Mirrors as well as a few things you won’t find on PLaneT. It’s all free and open source, but please make sure you agree to our terms of use before you get stuck in.
You can check out any or all the projects using command line SVN. For example:
svn co http://svn.untyped.com/mirrors/trunk mirrors-trunk
CMS software for QMUL
Thursday, September 14th, 2006We "went live" today with our second project for Queen Mary, University of London: a content management system for publishing course and staff homepages.
The system is simple and intuitive: each homepage consists of a single page of HTML, and doubles as an online filestore. Members of staff can upload files such as lecture notes and slides, and visitors to the page can download them simply by clicking on a hyperlink. We use the metaphor of attachments to relate this back to the familiar process of writing an email.
The main page editor screen is split into two halves: a WYSIWYG HTML editor (we used TinyMCE) and a list of attachments (complete with controls for uploading, renaming and deleting files). A separate management interface allows administrative staff to set up homepages for new courses and members of staff, assign permissions for who can edit what, and flag external pages that are held off-site and not maintained with our software.
All of this new functionality is integrated into our existing software for registering students on courses. Members of staff access all their pages through a control panel that displays only the information they need, and everything is nicely integrated with QMUL’s IDCheck single sign-on service.
Behind the scenes, the code for the CMS is based on a prototype for our new component-oriented web UI library, LyluxUI. We still have a way to go before the code is ready for open release, but it will eventually be available for public consumption alongside our other open source libraries, Snooze and Unlib.