I just pushed the last bits of code to re-implement the API endpoints. This includes the team application, message, and activity endpoints. So this means that all of the general API has now been re-implemented with new code (finally). It’s pretty laughable in hindsight that I thought 2-4 weeks was a reasonable amount of time for this, given that it actually took around 9. But I think we are finally in a position to start the transition in the somewhat near future.
The timeline is probably going to be testing and reviewing the documentation this week. Then we will start transitioning next week. “Start transitioning” means that we simply will say that the old API is deprecated and give API clients a few weeks to migrate to using the new URLs. Hopefully for all clients, this simply will mean switching the URLs, since the APIs are almost exactly the same. However, clients should definitely test to make sure that we didn’t accidentally change functionality for them.
Speaking of keeping the same functionality, when re-implemented the API I tried to change as little as possible, but some things did end up changing. The main reason for this was either the documentation was unclear about what the intended functionality was, or I thought that a certain piece of functionality was simply a very bad idea. These are the main areas of change that I know about:
- Tasks: it was pretty unclear to me how the interface for PUT/POST was intended to work. I tried to keep it working more-or-less the same, but some of the code in the old API seemed to be bugs to me so I didn’t translate them over.
- Team delete: I removed the ability to do a DELETE request on teams. This seems like something that should never really happen in practice. If you are depending on this functionality, please send me an email and we can make things work for your use-case.
- Blank/null values: There were several places in the code where blank strings, null values, the string “null”, and missing values were used interchangeably. I tried to follow the conventions that the old API used as much as possible, but I can’t say that I got it 100% correct. Please email me if it’s not working for one of your use cases.
Changed deployed to amara.org 2015-03-20
129: Add DOIT team to community page
1783: notes are only preserving the first line break
2043: Show endorsements/send backs in the editor notes
2044: enable communication between collaborators in the editor
2047: Billing record not created for subs uploaded via the editor
2064: Switch to OpenID Connect for google
2089: amara editor doesn’t use the primary url
2114: Add way to bulk-sync youtube subtitles for users
I skipped last weeks API update, but there has been lots of updates in that time. I implemented basically all of the team-related parts of the API (Teams, projects, team members, tasks, etc.) Right now there’s still a bit to be tested, but I think we should be able to deploy it soon.
Most of the things was pretty simple, with the main exception being the tasks API. Does anyone actively use the create/update parts of this API? I notice that it was never really properly documented and had more than a few quirks. I tried to keep the main functionality intact, but I can’t guarantee that some things won’t change. If you use the create/update functionality I would definitely recommend checking your code once we deploy.
Once that code is deployed, there’s not much left to do. The last remaining endpoints are:
- video activity
- team applications
- user messages
- partner-specific endpoints
I’m really hoping to wrap up the first three next week, and maybe even deploy it. I know it’s taken longer than expected, but I think things are finally getting close to having a functional new API that can be fully tested against.
There are a bunch of updates that have been pushed to Amara in the last few weeks. So here’s a quick catch up on the release notes.
First off – we’ve added some additional help to introduce new users to the editor. This will display for brand-new user, but if you want to see it yourself, you can always find it via the Tools > Show Tutorial menu.
Here’s the list of tickets recently deployed to Amara.
1852: Chars/sec alert starts at 21.1
1883: Add some more help for new users of the Editor
1944: redesign login page to use newer page layout
1968: Place complete, working embed code into Embed Video dialog
2017: embedder loading gif 404s on site
2022: extra characters in lang list
2028: Link to existing team if duplicate
2029: Do not log task send back actions as approvals
2046: keep notification logs longer and make them searchable
2051: Malformed HTML in email_base
1216: Add “Project” column in billing reports
2058: TED authentication broken on amara.org
2062: Detect whitespace-only search strings
2064: Switch to OpenID Connect for google
2067: Reviewers can approve tasks by re-opening the editor
2071: New API Video URL resource
2073: Make quick way to remove staff/superuser permissions from the django admin
2076: 404 looking up accounts via api that contain a ‘.’ in the username
2077: Add Hakha Chin language
2081: TypeError: user_can_view_private_subtitles() takes exactly 3 arguments (2 given)
2086: Upgrade Angular to 1.2.9
2095: Update dmca email address
944: Compare Revisions feature broken on paginated revision lists
If you haven’t seen this PSA that focuses on violence against women, which aired during the superbowl, it’s worth watching.
Eme de Mujer, a website of the largest Uruguayan daily newspaper El País, shared the PSA (with Spanish subtitles) in this recent post.
At Amara, it always excites us to see videos, such as this, shared across cultural and/or in accessible contexts. We’ll continue to keep our eyes peeled and share anything that looks intriguing or neat.
What are Subtitles in the Wild? We’ve been keeping an eye on popular videos with posted on the web with using the Amara embedder – when we see something interesting or exciting, we’ll share it.
An Important Note: Amara blog authors aren’t fluent in every language. If you see any factual errors, cultural faux pas, or have notes or other blog-related ideas to share, please let us know in the comments or at email@example.com We love conversation!
I feel like it’s been 2-3 weeks of me saying “we have lots of new API code for you to test, just wait for us to deploy it in the next few days”. Well, the code is finally deployed. If you have an API client, I would definitely recommend testing it against the new stuff.
Some of the highlights:
For more details, check out our RTD page: http://amara.readthedocs.org/en/latest/new-api.html
I didn’t implement a lot of new things last week, mostly just fixed bugs in order to deploy this code. I’m really eager to hear the results of API client testing against these endpoints.
Also on the way is the Videos URL resource. It’s currently deployed to staging, so it should make it’s way to production over the next few days.
The main things that still need to be implemented are:
- Team-related endpoints (team members, tasks, projects)
- The Video Activity resource
- Partner-specific API endpoints
Do you agree with @Yasmatin? If so, how can we make Amara (look) easier?
See the full conversation on Twitter.