Create a mobile app for ANY website


We always talk about the dozen of connectors GoodBarber provides you to publish your content in your app. To this day, there are more than 30!

But now, you may be wondering what a connector is? You might also be disappointed to see that your favorite platform isn't in our connector list.  We do our best to offer a native experience, synching content from the most popular solutions in the market, but there are thousands!

Today, I'd like to introduce you to our custom connector. This connector makes GoodBarber compliant with all existing services to publish content. Of course, the downside is that it involves work on your part... but, by the end of this post, you'll see that it's not that difficult.

Let's discover together how to create an app for your Joomla, Drupal, ezPublish, Spip ... or any other solution, even one created from scratch.

1 - What is a connector?

When we created GoodBarber, we wanted to avoid making a direct connection between your app and your website. We have already explained why in a Friday talk about synchronization. There are 3 main reasons behind this choice:

- better maintenance: many of you ask us to tweak GoodBarber to take into account some customization you made to your site. We always try to modify and implement the tweak to all the users that may need it. Managing those modifications on our servers is far more efficient. If we had a direct connection from your website to your app, each modification would have been made on every app, and would have required re-submissions.

- better performances: we want your app to be fast and to provide a seamless user experience. We have a special focus on response time, data compression and transmission over the network, etc.  Maybe you already familiar with the fact that our infrastructure is shared with WMaker, specialized in web hosting for more than 10 years now. With our 2 services combined, we serve more than 250 million requests per month.

- new connectors: some of our team members work on the synchronization engine. They keep an ear out for your requests, and they create new connectors when a majority of you request them.

The connector is here to "translate" the content of your website into a format used by your app to display it, natively.
Why not create yours?

2 - The custom connector: the one you create by yourself

If you don't find the right connector in our connector list, you can still create yours, by yourself!

Let's take an example. If you have a website made with Joomla, you can use the RSS connector. But, this connector will prevent you from accessing some very cool features in your app like posting comments, adding a search engine or activating pagination so that content can be pulled on demand from the app.

So the idea is to create your own content feed, and plug it into your GoodBarber app, using the custom connector. That way, you'll have total control over what you will publish into your app.

It's not very difficult to achieve, but it takes some developing skills.

3 - What can I do with the custom connector?

Basically, with the custom connector, you will be able to access all the features available with each type of content handled by GoodBarber: articles, photos, videos, maps, podcasts, events, comments, etc. 

Depending on your needs, you might have to create several content feeds:
- get last items
- get comments and post comments
- filter items by categories, tags ... it's up to you to decide
- search engine

4 - How to create a custom content feed?

Everything is explained in your backend. Go to Help Center > Developers > Content API

You will find the specifications to follow in order to create your own feed. Keep 2 important things in mind:
- all the feeds you are going to create will be JSON formatted, with the same structure
- depending on the content type, some attributes will differ

Let's dive into the technical stuff! Here is an example of the kind of feed your are going to create in order to display articles in your app. The easiest way to do it, is to create a feed that will display the last 24 articles of your website. But, it will be more or less the same when creating a feed for other articles (based on a tag for instance), or a feed that will contain the response of a search request.


   "generated_in" : "0.010000 s",

   "items" : [


           "author" : "Author of the post",

           "commentsEnabled" : true,

           "commentsPostUrl" : "URL_API_COMMENTS",

           "commentsUrl" : "URL_FEED_COMMENTS",

           "content" : "...",

           "date" : "2013-10-23T21:57:00+02:00",

           "id" : 123456,

           "images" : [


                   "id" : "image_123456",

                   "url" : "URL_ORIGINAL_IMAGE",



           "largeThumbnail" : "URL_LARGE_THUMBNAIL",

           "nbComments" : 12,

           "smallThumbnail" : "URL_SMALL_THUMBNAIL",

           "subtype" : "custom",

           "summary" : "...",

           "tumbnail" : "URL_THUMBNAIL",

           "title" : "Title of the post",

           "type" : "article",

           "url" : "URL_POST",




   "next_page" : "",

   "stat" : "ok",

   "title" : "Example",

   "url" : ""

At the root of the JSON dictionary, you will insert the feed's metadata. Here is their description.

Main structure of the JSON file:
Those keys will be found at the feed's root






Generation time of the response


Array of Items

Array of items to be returned



URL of the next_page to call (calculated with the page and per_pageargs)



Status of the response ("ok" is everything is fine, "error" otherwise)



Title of the source



URL of the source

Then, all you have to do is to fill the items table with Article objects (which inherit from the Item type).
Here is the description of each attribute.

Keys of the general items dictionary
Those keys are the same for all items. If the example was about a photo custom feed, those attributes would also be used.






Item unique identifier on its source



Item type



Item title



Item URL on its source


Array of Strings

Categories associated with the item on the source


String (date)

Item publication date



Item author



Item subtype (generally describes the service type of the source)

Keys of the dictionary related to articles
As our exemple is about an article feed, we need to insert those keys for all the objects






Number of comments associated with the item on its source



Describes if the comments have to be enabled or not for this item



URL to access the JSON feed of comments for this item



URL that allows to post comments on this item



Summary of the article (no HTML, text only)



Article content



Article thumbnail (small format)



Article thumbnail (medium format)



Article thumbnail (big format)


Array of Dict

List of images contained in the article



Value of the id attribute of the <img> tags in article content



Image URL

Have a look a few more detailed examples  we provide, be accurate when you create your feed, and everything will be fine :) Feel free to contact the support team if you need assistance.

5 - Connect your custom feed to your GoodBarber app

Now that your feed is ready, you need to go back to your backend to connect it to a section. Once you've reached this step, the worst part is over.

If you are already familiar with the GoodBarber backend, you know that when you add a section, you can choose from connectors to add content. Among the connectors, there is one called Custom. You'll find it in the following sections: articles, videos, photos, sounds, maps and events.
Then, you can set different options for your custom feed: last articles of course, but also search engine, filters by categories, etc.
Save the section and have a look at the great work you produced!