Proxima - Powerful API services

user image 2014-09-19
By: brian
Posted in: featured
Proxima - Powerful API services

The Proxima profile has just been updated to "public" - today we're moving Proxima into beta!  For those of you not familiar with Proxima (which would be just about everyone), Proxima is a set of modules (and a custom skin) for Jamroom that adds a set of RESTful API services to your Jamroom site, which in turn can be used to power various clients (such as a mobile app, Javascript HTML5 client, etc.) that need to communicate with a server over a JSON API.

Most of you are familiar with how Jamroom works - i.e. the templates are rendered for a view and then displayed to the user.  With Proxima, things work differently - an authenticated API "request" is sent to the Proxima server, and Proxima in turn sends out a JSON response.  "JSON" is quickly becoming a standard way for mobile clients to communicate with a server backend.

So what can Proxima be used for?  Let's say you have created a mobile app and want to be able to save your users information to the "cloud" where they can log in and out on any mobile device and have their data follow them:

  • Use the Proxima User service to create and update "user accounts" for your users
  • Use the Proxima Data service to store information in "collections", making it accessible and searchable
  • Use the Proxima File service to allow your users to download and use files in your app
  • ... and more

With Proxima you can have a client-agnostic "core" that powers multiple views in to your data - all running on your own server, 100% under your control.

And with Proxima being built on Jamroom, it is easy and straightforward to create custom Proxima modules that fit right into the Proxima Core.

So if you are a mobile app developer, or are looking for some way to add API services to your Jamroom site, please join us in the Proxima beta and help us craft Proxima to be an awesome backend - we need your input and suggestions!

We hope you enjoy Proxima!

alt=
11/13/14 12:13:28PM @dannya:
Is there any documentation on this (besides installation)? I have developed a number of custom modules is it possible to extend the api's to support additional functionality/modules?
alt=
04/04/15 08:58:04AM @velibor-dragutinovic:
Hello,

is there any documentation about available APIs?
I have found only this: http://www.jamroom.net/proxima/documentation. Is there any more docs I can read?

Thanks.

brian
04/04/15 08:59:34AM @brian:
Welcome to Proxima! I know the docs are a bit sparse as I have been busy on core Jamroom stuff - let me know if there is a specific module or function you're looking for info on and I will add it in.

Thanks!

alt=
04/04/15 09:29:35AM @velibor-dragutinovic:
Hi, currently I am exploring Proxima's Data Service. I have created some collections just to try how it works.
Is there an API that I can use to search collection's items by some of its attributes?
e.g. I have created collection "events" which has global read permissions. Can I retrieve events with "title=event title" by using Proxima's API?

I have tried something like this:

http://localhost/jamroom/api/data/event/search?title=test

But no luck, my results are not filtered. And also I get max of 10 results.

brian
04/04/15 09:37:01AM @brian:
Yep - there is full search capabilities - I will get the Data Service documentation updated to cover that. In your case what you would do is something like:

http://localhost/jamroom/api/data/event/search?search1=title%20eq%20test

basically you can define as many different search conditions as you would like - i.e.

search1
search2
...
searchN

and then you have the search key, operator and value - i.e.

title eq test - title is set to "test" exactly

the search conditions needs to be URL encoded.

You can also use limit and pagination - i.e.

http://localhost/jamroom/api/data/event/search?search1=title%20eq%20test&limit=25

That would return the first 25 results

http://localhost/jamroom/api/data/event/search?search1=title%20eq%20test&pagebreak=10&page=1

This would return a result set of 10, for the first page, and return prev/next page URLs for your use in your app.

I will get the docs updated as there is a ton of stuff you can do with searches.

Hope this helps!

alt=
04/04/15 10:01:58AM @velibor-dragutinovic:
Cool, thanks!

Although, I have some more questions.

Regarding search, is there any other operator except equals (eq)? Maybe something like "contains"?

And 2 questions about Proxima's User service.

1) Is there a way to search for other users' profiles? Or, just to list all the profiles?
2) Is there a way to retrieve profiles which are followers of the current user?

brian
04/04/15 10:03:22AM @brian:
Yep - I'm working on the docs now :)

If you can, please post any questions to the Proxima forum here:

https://www.jamroom.net/the-jamroom-network/forum/proxima

and I can help.

Thanks!!

alt=
04/04/15 10:45:06AM @velibor-dragutinovic:
Sure, no problem. I just had to read all the posts, to see if some of my questions are already answered. :)

Tags