pastorryanhayden11094
pastorryanhayden11094

I have been using Airtable as a CMS for awhile. I use their Nodejs plugin with gulp and jekyll and then just set up a cron job on the repo to pull in new data and upload to a host. (See this https://talk.jekyllrb.com/t/airtable-makes-a-great-and-extremely-flexible-cms-for-jekyll/2617) But I want to move away from airtable and start using OctoberCMS. What would be super helpful is if you could integrate Airtable data (their API just exposes JSON hashes) and access it via TWIG. This way you could use Airtable for stuff that airtable excels at, and use OctoberCMS to do the more CMSy stuff. I'm not a PHP guru. I'm barely keeping my head above water with this stuff. Anybody have any idea how to do this?

alxy
alxy

So you want to keep you data in the Aribase database but use October as CMS? Or is this just an import to migrate the data to October?

If you want to move away from Airtable the above doesn't really make sense, so could you maybe clarify your request?

Generally it appears they have a REST API, so it should not be a problem to load the data by october and display it somehow with twig. You should just take caching and data consistency (synchronization) into account.

pastorryanhayden11094
pastorryanhayden11094

Ok. Thanks for the answer.

There are just somethings that are better managed via Airtable's database/spreadsheet ui than via traditional forms and lists. It would be easier, for example, to setup a client who runs a restaurant with an Airtable database for their menu that they can update than try to get them to manage it using the OctoberCMS backend. Another example would be managing a large library of books. Airtable really shines in stuff like this and it's mobile apps are top notch.

Where they don't shine is pages, posts, routing and the like. Airtable has no GUI for content creation and a lot of things are kind of abstract. I would say the October way is better for 90% of the website tasks, I'm just looking for a way to integrate the data for the other 10%.

alxy
alxy

Then my answers stays basically the same: you can use their API to load the data from the Airtable API. There are even PHP libraries that appear to solve this: https://github.com/armetiz/airtable-php

However, you should really consider to cache the data on your server (most APIs have some rate limiting and throttling, so you are required to do that). However, that leads you to the question when and how to update that cache. You should also consider where you actually store the data (in a local database, in static files, in some key-value store system, ...)

chris10207
chris10207

Hi pastorryanhayden11094,

How did you approach the problem in the end ?

Thanks

1-5 of 5