Blog of Raivo Laanemets

Stories about web development, freelancing and personal computers.

Announcement: Blog-Core upgrade 2014-04


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.hash URL 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 submit handler.
  • SWI's HTTP server did not respect Connection: close header.
  • 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:

  • The watch command. Excellent for running watch make admin to automatically rebuild the admin UI during development.
  • Linkchecker. An awesome tool for regression-testing existing sites. Can be also run from command line.

Further plans

  • 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.

Comments

No comments have been added so far.

Email is not displayed anywhere.
URLs (max 3) starting with http:// or https:// can be used. Use @Name to mention someone.