Monday, November 12th, 2012

Important Notice For All Users of the Box API

By

As you may remember, a few months ago our file IDs crossed the 2^31 boundary. That was a very exciting moment for us, as it represented the enormous amount of usage that we’re seeing, but it also created a few issues for some of our developers.

That’s why we’ve been very focused on making sure you’ve had plenty of time to prepare for the next boundary – 2^32. Sometime in the next 15-20 days, Box is likely to have our IDs exceed that number.  For those of you who are storing IDs as small unsigned-integers, we’d like to remind you about some of the ways that you can avoid running into issues when we cross this boundary.

We do not have a specific date that it will happen, as it depends on how many files, folders and comments all our users create over the next few weeks. Two things to note:

  1. If you have code, or local database tables that expect IDs to be small integers, or 32 bit numbers, we recommend changing them to VARCHAR or STRING fields.
  2.  If you start to see weird errors from your application, or ALL your users complain they can’t upload new files, comments, folders, etc. you probably missed someplace in your code. Please reach out to us and we will do what we can to help you.

Here’s a couple of examples in Objective-C to give you an idea of how you should be storing variables:

The wrong way:

BoxID *newFolderId = [BoxID numberWithInt:[[userInfo valueForKey:@"folder_id"] intValue]];

The right way:

BoxID *newFolderId = (BoxID *)[userInfo valueForKey:@"folder_id"];

As you can see, the best thing to do is to handle the BoxID as a string.


As always, if you have any questions, we’re here to help – just email us at API@box.com.

By

See all of Alex's articles.