# Jamie Balfour'sPersonal blog

BalfBlog now features a built in 'related posts' tool. Nothing needs to be changed to have this in an existing blog other than one setting needing changed to enable it. This new feature makes it even easier to generate your own related posts section than I had done before. Simply turning the toggle to on will then make BalfBlog auto generate this after each post.

It's a very powerful feature that will help generate more readers for each post.

blog
balf
balfblog
related
posts
cms
content
management
system

Today I finished the backend of BalfBlog polls. You can now make polls straight from the dashboard.

It's easy enough to create polls from the BalfBlog dashboard, but it is my intention to make it even easier in the future.

For now, you can simply insert the information at the end of a post in the Poll section. Options should be one per line and should not contain the new line character. Polls will then be generated automatically.

As well as this, I am working to change the system in which users who do not have .htaccess or web.config support (Apache or IIS servers) would utilise the system.What this means is that instead of accessing posts through /posts/post-name you would access the post through some URL parameters like ?nme=post-name. This will make it more flexible but it is not the only way in which these users will be able to access the pages. I will be trying it out on my own IIS web server soon and will keep everyone up to date on this.

As part of a few fixes I laid out on my own website, I have decided to updated both BalfBar and BalfBlog today.

Most crucially, BalfBlog received an update that makes it more compatible with future versions of PHP. When it was written it was written for use with PHP 5.2. Now it is compatible with newer versions of PHP so you should have no trouble installing it on your newer installation.

BalfBar has now received an important update that adds more flexibility to the SASS code (and even provides all of the settings to rip off the menu from my own website) as well as changes that make the JavaScript more flexible.

update
balfblog
balfbar
wnp
web
neutral
project

BalfBar is receiving a big update this weekend!

This update focuses on changing the menu items from being absolutely positioned to fixed positioning. This will allow a lot of new things like scrolling (hidden overflow doesn't work well with absolute positioning, since the element resides inside it's parent, whereas fixed detaches it). The menu will still look exactly the same but the way the items are positioned will allow me to finally bring scrolling to the items and allows you to set a maximum height to the items.

As much as I am more a fan of green code (CSS) over the yellow code (JS) for design and layout, I feel that using it was more appropriate here for what is being done, since it will give a lot more functionality.

This is currently experimental since this change was implemented in next to no time (only took me about 30 minutes to implement) and therefore not tested enough yet. I will post more in my Project blog when more becomes available.

This update will become BalfBar 1.2.

I will be trying it out on my website soon too, so keep an eye on it!

balfbar
update
fixed

I didn't think it was going to be easy to set up push notifications for BalfBlog and that it would take quite a long time for me to work my way through the OneSignal API but alas I was wrong. BalfBlog now features push notifications, and it's deeply integrated too, meaning that it's built in to the settings.

Subscribe to my main website to subscribe to this new form of notification!

push
jamie
balfour
onesignal
balfblog

A lot changes in BalfBlog very quickly. Today the new poll system was added amongst other changes including the removal of reversing posts (this is coming back in a much better way) and better internal layout including a new BalfBlog constant which is basically # ASSETS # (without spaces between the # characters) which if I put it in this post will give me /blog/assets/2016/11/the-new-balfblog-journal.

However, I do not want my personal blog to be filled with all of these posts, and my project blog is also beginning to fill up.

But BalfBlog provides a nice solution to this! Yes, I'm speaking of Journal Mode. This will also allow me to restrict the blog to people who I have accepted to read the blog. So you'll now need to register to view the whole changelog of BalfBlog.

balfblog
journal

Finally, after many years of planning, I will be bringing polls to BalfBlog. This post will soon feature one.

Also, I'm not planning on adding a way of creating polls into version 2.2 of BalfBlog, just for parsing them. So if you do want to create a poll, create a poll.xml file in the content directory for the post you want to have one. Note that version 2.3 will not use the poll.xml file since I plan to change the way in which this works.

This post now features my first ever poll from BalfBlog! Powered by XML and JSON together this fantastic feature might not find much use on my website, but it most definitely will be very useful in general in BalfBlog. It's asynchronous as well, so by voting you will not leave the page. Finally, users may vote just once and all user votes are stored in the poll. Currently the poll consists of a polling system in which users can vote on one option. Building on what is now implemented, I plan to allow users to insert other quantitative data into the system and eventually qualitative data too.
balfblog
poll

My next major project is to develop a bulletin system. If you've ever used phpBB you'll know how great it is. I was a huge fan and used to run it on my own development sub-domain, DevNet.

All that aside, phpBB is easy to manage and has the concept of integrity within the network security triangle. This means that users are assigned different roles and given different access rights.

However, phpBB has a pretty big collection of files during installation and it didn't fit with the rest of my website. This is where my next project will come in.

BalfBulletin will be the next big project in my Web Independently Styled Project. Since my Web Independently Styled Project's core principal and aim is to develop web applications that fit in to any website, BalfBulletin will leaving styling to the website and the developer of the website. It will also focus on being very lightweight. As with all of my projects, particularly those in the Web Independently Styled Project, a lot of time will go into actually planning the application.

The main premise and indeed the motivation for the development of this is because I'm planning on developing a forum for my PhD project (more will come with time).

The other idea I came up with was integrating this into BalfBlog. For now however, it will be a separate project altogether.

balf
balfbar
balfblog
balfslider
balfribbon
balfbulletin

Today BalfSlider received it's first major update - adding functionality to the slide control buttons and to give more externally available features. It also added newly exposed Back, Forward, Stop and Start functions. This update makes the slider controllable by users through two different accessible options.

The first of these options is through the slider buttons. The slider buttons are found on almost every slider as a crucial feature allowing users to select a slide of their choice (so if they caught only a glimpse of a slide but missed the main focus of it they can easily go back to it quickly without needing to go through the whole slide show). BalfSlider simply detects whether there is a ul element with the class selectors inside the BalfSlider element. If it detects one it will bind a click event to each of these and it's corresponding slide. Theoretically, this is the best way to prevent any external exposure of these on your website. There's no need for external exposure anyway.

On the subject of external exposure, the second option is designed for this. This method binds the Back, Forward, Stop and Start functions to the plugin and makes it very easy to go backward, forwards, pause and play your slide show from JavaScript - a feature I've desired on many other sliders out there. This is designed for use at an elementary level meaning you can easily just call the function. Let's take a look at how we do this:

JavaScript
var  s = jQuery('.balfslider').BalfSlider({AspectRatioWidth : 16, AspectRatioHeight : 9});
jQuery('button').click(function(){
s.Forward();
}


So in this instance we use jQuery to bind a click event to the button which when triggered will call our Forward function on the BalfSlider assigned to the variable s. That's pretty easy to understand.

The update will be available to play with on the webpage on my website dedicated to this project. It's still in development stages so bugs may be found in the version up there.

This post also was to describe the inner workings of BalfSlider and what it does that's different. Well BalfSlider takes a new concept introduced with one of my projects a few months back of a model that represents the internal functions, basically acting like an interface. This model is an object which all different transitions must follow. The object features several (empty) functions such as the Next function and the Animate function. These functions are placeholders that should be replaced with the transitions own implementations of them. This makes BalfSlider very lightweight and easy to update too but also makes the development easier. This method of development means that all that is needed to develop a transition is a few implementations that fit the model's specifications.

Also, this is my 300th post on my blog! This marks a very important moment for my blog and for BalfBlog in general.

balf
balfslider
web
neutral
project
wnp
slideshow
update
first
controls

Whilst I never imagined I would work on an image slideshow plugin for jQuery again, I'm happy to announce the new version of BalfSlider.

BalfSlider follows my naming scheme and is part of my Web Independently Styled Project (WISP), and it follows the same design principles - none. In other words, the host website does some styling for it. It's open to development.

As a result of all of this, BalfSlider is incredibly lightweight - even more so than BalfBar which is hugely small. BalfSlider is designed for flexibility offering many different transition styles (coming soon).

If you want to see a sample, look at my front page.

balf
balfslider
web
neutral
project
wnp
slideshow
image
img