I am developing a large single page web application (SPA) using NodeJS for the back end. A few screens in the application (about, contact us, faq, news, etc.) are screens that ideally would be dynamically populated by the customer. Is there a simple solution to allow the customer to customize this content on an ongoing basis without having to redeploy the application?
I don't want to build the application as part of a CMS, as most of the pages do not follow this model. I really just want a small add on to manage these few screens.
I've looked briefly at the XML-RPC WordPress API. There's also the option to use a Google Spreadsheet as a simple CMS.
Has anybody used these or any other options in an SPA/NodeJS app? I would prefer a pre-canned Node module that I could just drop in my app, but I couldn't find any in my searching.
I ended up going the Google Spreadsheet route. It was fairly simple to load rows from a spreadsheet with an AJAX request using the following URL syntax:
https://spreadsheets.google.com/feeds/list/<spreadsheetId>/od6/public/values
This article got me going in the right direction for parsing the data that comes back from the spreadsheet.
I was also able to have the spreadsheet reference image files that are also stored in Google Drive. To generate the URLs to those images, I used the format:
http://googledrive.com/host/<GoogleDriveFolderId>/<fileName>
For this solution to work, you have to publish the spreadsheets to the web and the folder that contains them has to be shared as public to those who have a link (not searchable, if you don't want to). The folder that contains the images has to be shared as public and searchable.
Overall, I think it ended up being a pretty simple, yet powerful solution to allow non-programmers to edit small bits of content on my site.