Day Seven

Despite my best efforts, there is still work to be done on the Anri v5 blogging theme. What I expected to be a two-day job appears to have been a four or five day task. Go figure! That said, there is quite a bit of functionality that has been put in place today, and I thought it would be interesting to go through some of the elements on here.

Logging In

The Login Form

One of the complaints that people have had about some of my websites is the over-reliance on JavaScript for things that a form could handle natively. While I'll admit that I do generally prefer to use JavaScript when interacting with APIs, it's not an absolute requirement on that part. For this reason, most of the forms across the Anri site do not require JavaScript to function. The login page will take the information presented and work with it as best it can. The toggle at the bottom to remain logged in1 is 100% CSS, and will work even when a person disables JavaScript in their browser.

Settings

The Settings Page

Just like the initial demo theme, it's important (to me) that people be able to make changes to their website without signing into the admin site. When a person is logged in, so long as they have ownership of the site, they'll be able to control basic aspects of the site. At the moment the options are rather sparse, as are the explanations, but this will fill out pretty soon. Some of the elements that need to be added include being able to change the site URL, force HTTPS, change themes, and more. That said, baby steps are required for the moment so that something can be released and tested by real people.

Proper Social Posts

Simplified Social Posts

Social posts will now appear on the site properly and show a little icon next to the time if it's been imported from an external service. For social posts that take place on the 10C network with other people, a speech bubble icon will let people know there's more to the conversation. Clicking the timestamp will open the page with the full conversation in view. What's nice about this is that comments on public blog posts, quotations, and bookmarks will appear in context. There won't be any need to go hunting around for links to see how a conversation unfolded. More than this, if you've logged into the site, you'll be able to comment right from there.

Better Font Usage

Font Style and Size

Previously the fonts were not exactly the easiest to read, especially on hi-DPI screens. To that end, a different font is being trialled and the sizes have been adjusted to ensure that different objects do not have wildly different sizes. This was a bit of an issue on cell phones previously. Future updates will allow anyone to change the size of the font on a 10C-powered website, and the preference will be saved in the browser. By doing this, a person who chooses to have larger or smaller text will be free to make changes without affecting anyone else's reading experience. The information will be stored either in LocalStorage, or in the browser's cookies.

Popular Posts

Nine Popular Posts

Another nice feature is the "popular posts" list in the footer. The list will show which items have been accessed the most in the last two weeks based on the performance logs. Some tweaks still need to be made to the SQL query that works this list out, though, as it does not make sense to include hits from GoogleBot, Bing, Yahoo!, or other crawlers. This will require some active examination of browsers to ensure automated systems are reduced as much as possible while also paying attention to people's right to privacy.

Still Left to Do ...

The Writing Area

This evening's work in progress has been the new writing area. The system will successfully publish blog posts and social posts, but quotations, bookmarks, and pages are not quite ready. Hopefully this is something that can be done tomorrow during some of the "downtime" I expect to create at the day job2. Post editing will also need to be enabled, but that will be done after the page can handle all the different post types.

In addition to this, some other features that need to be coded are:

  • Contact Form Message Reading/Responding
  • Interactive Commenting
  • RSS (both XML and JSON)
  • CC License Support

There are undoubtedly some others that I'm forgetting, but these are the key items that need to be tackled. When a few more elements are good to go, I'll migrate matigo.ca over and start having all traffic for that site managed in v5. The domain is the highest-trafficked site with just about 5,000 unique visitors a day (for reasons I don't quite understand), so will be a good test of the system performance and security. Hopefully there will not be any serious issues.

Tomorrow I'll get back to working "normal hours" with the day job, and there are at least three meetings where my presence is expected. Fortunately the day after is Saturday.


  1. all tokens in 10Cv5 auto-expire after 30 days of inactivity. Otherwise, a token can be used until the end of v5.
  2. I'm being asked by a couple of managers to work less. This is a topic that I've covered a few times on here, but now some people are starting to get serious about it. If the company wants me to do less work for them, then I'll use the recovered time for 10C ... and the family.