Last couple of days I have been working on a new version of my Blog-Core framework. It now makes use of the dict_schema package to read in API requests. I abandoned the idea of creating a generic admin system that allows to define arbitrary entities and relationships between them. It would take too much work to have a system expressive enough.
The new admin UI now uses a specialized API (i.e. saving a post would use a different endpoint than saving a comment). The UI itself is built onto KnockoutJS. There is also a file management interface which allows to create/remove directories and upload files. The admin UI requires IE10+.
Some issues I hit during the development:
window.location.hashURL encoding is not consistent between browsers.
- Base64-encoded data needs URL encoding when used in URLs.
- HTML5 validation API is pretty useless as you
cannot validate in the
- SWI's HTTP server did not respect
- SWI's HTTP server would hang with invalid JSON request.
- Had issue with SWI's HTTP client when the server sends an empty response.
All SWI's errors were reported and they are now fixed. This blog is currently running the new version already.
I also discovered 2 useful tools:
watchcommand. Excellent for running
watch make adminto automatically rebuild the admin UI during development.
- Linkchecker. An awesome tool for regression-testing existing sites. Can be also run from command line.
- Create an example Blog-Core project and host a demo.
- Migrate existing Blog-Core sites to the new version.
- Finish up the admin UI (config entries).
- Write a guide.
- Release as a pack.