sintaxi / harp

Static Web Server/Generator/Bundler
http://harpjs.com
5k stars 342 forks source link

A JSON Schema driven CMS layer. #533

Closed howardroark closed 4 years ago

howardroark commented 8 years ago

Lately I have been making a lot of use of the JSON schema spec. I was inspired by the JSON resume project. It's also quite simple to write.

I also came across this project which generates forms directly from JSON schemas. I thought it was such a great idea that could be expanded upon.

A lot of times you want to have certain types of repeatable data that you want user's to add to a site. What if Harp had a GUI interface that allowed you to manage "collections" of data within harp.json which are driven by schemas that you write within your project.

The idea would be that you have a schemas folder next to the harp.json file. Each file you add would clue a GUI interface into auto generating a form/basic admin pattern that allowed you to manage that specific data.

Something like this...

schemas
 |_ event.json
 |_ contributor.json 
jonatanpedersen commented 7 years ago

I think using JSON schema as backing for form generation and a CMS is a brilliant idea, but to me it is not tied to harp and could easily be a separate project in itself. Better to keeps things separated.

I could easily see a:

$ npm install harp-cms -g
$ harp-cms

launch an electron/JSON schema based cms.

That would be pretty awesome.

howardroark commented 7 years ago

Yeah! Perhaps something that looks at one folder for schemas to build the CMS UI and then stores it's data in a single JSON file. That file could be an existing one like harp.json. As long as it didn't interrupt other data in an existing json file like that one it would work pretty nicely. For config file in general really. Wouldn't even really need to be a CMS, anything that use JSON for a config could benefit.