Gregory's Blog

Immediate steps after installation

This article discusses the steps that should be taken immediately after a new installation of Gregory's Blog.
After installing a new version of Gregory's Blog using the installer, there are several essential settings that need to be set and other tasks that should be performed.

  1. First off, be sure to delete the 'installer' folder found on your server. The installer disables the installer folder after a successful install, however, for safety, it is best to delete this. If you need to reinstall in the future, you can always upload the installer again or download a new installer from my blog.
  2. Navigate the administrative site. The administrative section is found by removing the 'index.cfm' string and appending /admin/ to your URL. If this looks familiar to you- you probably have noticed that I am using the original BlogCfc interface created by Raymond Camden, but with a lot of new settings.
  3. To log in after a new install, type in admin as the user name and the password.
  4. Click on the 'update password' link in the administrative interface to update your user credentials. Type in admin as the 'old password', and enter your new password twice. Click on the 'update' button once you're done.
  5. Change the default blog user name. Click on the 'users' link to open the user interface and click on the admin link to open the user editor. In the user editor, you can ignore everything other than the 'name' entry. Change the name to the default name that you want displayed when you make an entry and click on the save button. If you don't change the name here, any blog entry that you will make will show the name as 'name'.
  6. Lets make a quick test entry to verify a few things... Click on the 'Add entry' link to open the Entry Editor. Note your local time, type in a quick title, and add a sentence or two in the Body section. Type in anything for the category, and click on the save button. This should create a new test entry. Once complete, go to your home page outside of the administrative section. See if the name next to the entry is the same name that you changed in the previous step. Also, check the time of the post to see if it matches your own local time.

  7. Synchronize server and local time. If the posted time does not match your local time, your hosting provider or server is located in a different time zone. To create an offset value, subtract or add hours in order for the time to match up. If the time on your post is greater than your own local time you need to append a minus (-) sign to the value. If your local time is greater than the posted time, you need to append a plus (+) sign to the figure.

    1. I'll use my own test post to explain. My hosting provider is located two time zones away. I posted this test post at 7:11 PM PST. However, the time stamp on the post indicates 9:11 PM. 9 minus 7 is 2, and my time is less than the hosting servers time, so my offset string will be "-2". Finally, to synchronize the time, click on the settings link, and find the content section. There is an offset entry. Here I changed the offset value from 0 to -2, and clicked on the save button.

The next post will discuss how to modify your themes.

This entry was posted on June 13, 2019 at 8:10 PM and has received 144 views.

There are currently 0 comments.

Installing Gregory's Blog on your own website.

Requirements
You will need to have a hosting provider that supports ColdFusion. I have tested the software on both ColdFusion 2016 and 2018 and the software should work on all recent ColdFusion servers. However, if you want to use captcha to prevent spam, you should be running on ColdFusion 2016. Peter Farrel used sun Java classes which are deprecated in ColdFusion 2018 and Java 7. I will rewrite Peter's logic in a future version.

You will also need to have a database. It is recommended that you use Microsoft SQL Server, or MySql, but this blog should also work with Oracle and Microsoft Access.

Download the installation zip file
The installation package is found near the top right section of Gregory's Blog. Click on the download button, and a new window will open. The content within the window will have a brief installation instructions along with credits and license information. Please read through it and click on the download button at the very bottom of the window. The browser should download the file, be patient, it may take several minutes for the zip file to download.

Once the file has been downloaded, you need to extract the zip package to a directory that you will upload the files to your server using an FTP client.

Decide your blog structure
After downloading and extracting the installation package, you will see the Apache 2.0 license and two folders, blog and install. You now need to step back and make a choice what folder structure you want on your own blog. Do you want the blog in the root directory, or in a different folder? This is an important consideration before you move forward. If you don't plan this correctly and change your mind at a later time, you're going to have to start everything over.

For example, I have two installations of Gregory's Blog, one installation is found under www.gregoryalexander.com where I have other sites. My own personal site takes precedence and is installed in the root directory, and Gregory's Blog is stored in the www.gregoryalexander.com/blog folder. However, my test blog site is installed under the www.gregorysblog.org URL. Here, it makes no sense to create a blog folder- typing in www.gregorysblog.org/blog/ is redundant, so I store the blog in the root directory. When a user navigates to the gregorysblog.org URL, they immediately see the blog without having to type in an extraneous folder.

Once you determine the structure of your blog, rename the blog folder to anything that you would like. If you want to install the blog in your root folder, copy and paste all of the files outside of the blog folder- and then remove the blog folder. You don't need to keep the same structure that was in place that you downloaded. Gregory's Blog will adjust the paths as necessary when running the web based installer.

Upload the files
After you have the structure that you want, upload all of these files to your web server using your preferred ftp client. It is a large package, and it will take some time.

Run the installer
Once the files have been uploaded to your own web server, you need to navigate to the installer. Unless you have renamed or removed the blog folder, the default path would be '/blog/installer/'. If you changed the default structure, navigate to the 'installer' folder on your website.

Once you have navigated to the installer, A 'welcome' screen should appear. Read through it and click on the 'get started' button at the end of the page.

You will be asked whether to continue or cancel. Unless you know what you're doing and have a previously installed version of BlogCfc or Gregory's Blog, click on the continue link inside this page.

After clicking on the continue link, you will be asked to enter the DSN and Crypto settings. You will need to get the database information from your hosting provider, or server administrator. Unless you have a really good reason to change the security algorithms, leave the 'Crypto' settings as is. Once the DSN information is entered, click on the 'Verify and continue' button.

Run scripts
Step 3 will ask you a question. If you have never installed BlogCfc or Gregory's blog, click on the 'set up my database'. If you have a working BlogCfc or Gregory's Blog database, click on the 'move to settings' button.

Settings
The next screen is more complex. Here you will be asked to provide additional settings. The 2nd setting is important. Enter the name of the the exact URL that points to your blog, along with the index.cfm page that is placed by default into the /blog/ folder (domain name + /blog/index.cfm). In my installation on the gregoryalexander.com site, the URL is http://www.gregoryalexander.com/blog/index.cfm. On my test server, where I eliminated the 'blog' folder and put everything in the root directory, the URL is http://www.gregorysblog/index.cfm. If you only allow SSL, replace 'http' with 'https'.

You will have to contact your hosting provider or server administrator in order to enter the email settings. Keep the default settings in the drop down menu's, and click on the 'save settings' button.

After the installation process, you will need to delete the installer folder (the installer disables it once everything is installed, but it is best to delete the installer folder from the server as well) and fine tune the settings using the blog's administrative interface. The default administrative interface is found under /blog/admin/' There are articles on this web site that explains the settings in detail. If you have a problem, please email me, or make a comment on this website, and I will try to help you.

This entry was posted on June 10, 2019 at 12:30 PM and has received 152 views.

There are currently 0 comments.

Using the Kendo pager anywhere within a page.

The kendoPager is a beautiful widget that typically allows the user to navigate through a Kendo grid. It has fast forward and forward buttons to go to the first item and the previous item, displays the current page, which you can click to select another page, and forward and fast forward buttons to select the next and the last grid page. It is an intuitive control that is adaptive and themable.

Although there is no official documentation on this, we can also use this control in any page. You're not limited to only using this in the grid!

I'll show you my approach. You can see this Kendo pager in action by scrolling to the very bottom of this page below.

First create an element for the pager.
2) Create the datasource. Provide the URL in the pagerUrl element, and the page number.
3) Instantiate the pager control, and provide a change method. We will pass the complete datasource to the change method that we will invoke next.
4) Read the datasource to populate the kendoPager control.
5) Invoke the onPagerChange method, extract the values from the passed datasource, and redirect the user using javascript.

Here is the code:

view plain about
1<div id="pager" data-role="pager" class="k-pager-wrap k-widget k-floatwrap k-pager-lg">
2&lt;script>

3    // Create the datasource with the URL and page number.
4    var pagerDataSource = new kendo.data.DataSource({
5        data: [
6            { pagerUrl: "&startRow=0&page=1", page: "1" },
7            { pagerUrl: "&startRow=10&page=2", page: "2" },
8            { pagerUrl: "&startRow=20&page=3", page: "3" },
9            { pagerUrl: "&startRow=30&page=4", page: "4" }
10        ],
11        pageSize: 1,// Leave this at 1.
12        page: 4 // Specify the currently selected page using a server side language.
13    });
14
15    var pager = $("#pager").kendoPager({
16        dataSource: pagerDataSource,
17        // Pass the datasource to an onChange method outside of this function.
18        change: function() {
19            onPagerChange(this.dataSource.data());
20        }
21    }).data("kendoPager");
22    
23    // Read the datasource.
24    pagerDataSource.read();
25
26    // Extract passed data from the datasource and redirect the user.
27    function onPagerChange(data){
28        // Get the current page of the pager. The method to extract the current page is 'page()'.
29        var currentPage = pager.page();
30        // We are going to get the data item held in the datasource using its zero index array, but first we need to subtract 1 from the page value.
31        var index = currentPage-1;
32        // Get the url that is stored in the datsource using our new index.
33        var pagerUrl = "?" + data[index].pagerUrl;
34        // Open the page.
35        window.location.href = pagerUrl;
36    }
37&lt;/script>
38 </div>

This entry was posted on June 7, 2019 at 11:48 PM and has received 139 views.

There are currently 0 comments.

An open source version of Kendo Core is incorporated in Gregory's Blog

I have incorporated the open source version of Telerik's Kendo UI into Gregory's blog. The reasons for this are numerous. ColdFusion on the server side is great, but in my opinion, relying upon ColdFusion for the UI was a zero sum game- it's outdated, proprietary, and just plain buggy. Several years ago, I ditched using ColdFusion's UI, and moved on using Kendo with jQuery.

I plan on continuing to release new versions of Gregory's Blog that support the open source version of Kendo UI Core. However, the open source version of Kendo does not support all of the HTML5 widgets that I plan on using, such as the adaptive grid. I intend to release multiple versions of Gregory's Blog, one that uses the open source edition of Kendo, and another that uses the full version of Kendo. Both should function just fine, but the open source version will be a bit more limited. The only feature that is currently lacking in the open source version of Gregory's Blog is the HTML5 media player. Everything else that you see on this site is available to you.

Although it is not necessary to include the commercial edition of Kendo, if you have your own license for Kendo, you can incorporate your own Kendo library. In the source code, I have the following argument "application.kendoCommercial"as a Boolean flag that is used to include Kendo's open source core version, or include the full commercial version using your own Kendo library. If you have your own license, you will need to set this flags to true in your code, and set the 'application.kendoSourceLocation' argument to match the path to your own Kendo libraries.

This entry was posted on June 3, 2019 at 2:49 AM and has received 135 views.

There are currently 0 comments.

ColdFusion error: "The current user is not authorized to invoke this method."

I wanted to document this as this error is not often found using google, but if you receive a ColdFusion error "The current user is not authorized to invoke this method.", it could be due to using the roles attribute in a cfffunction tag that don't match the roles that you set using the cflogin tag upon successful login.

I received this error when converting the original application.cfm tag in BlogCfc to use an application.cfc instead. During the conversion processes, I noticed that there was a 'roles' argument on the cffunction that did not match up with the new role that I had just programmed in the cflogin logic. When I searched for this error, I found a bunch of errors relating to using ColdFusions built in administrative user interface, and could not find that it was due to the role restrictions on the cffunction tag and thought to document it. It is a relatively intuitive error, but I am surprised that Adobe did not elaborate and write something like 'The role on the function does not match the cflogin role'. ColdFusion has always been good at that.

If you receive this error, check the roles attributes that you have used. It will likely fix the problem.

This entry was posted on June 2, 2019 at 2:32 PM and has received 179 views.

There are currently 0 comments.

Gregory's Blog default user name and password after fresh installation

In order to log into the administrative section of the blog after installation, use 'admin' as the user name, and 'admin' as the password. Be sure to change the password after logging in for the first time. In this version, the administrative section is nearly identical to the original BlogCfc administration interface with a lot more settings included. I will likely change this in the next version.

This entry was posted on June 1, 2019 at 7:41 PM and has received 130 views.

There are currently 0 comments.




Your input and contributions are welcomed!

If you have an idea, BlogCfc based code, or a theme that you have built using this site that you want to share, please contribute by making a post here or share it by contacting us! This community can only thrive if we continue to work together.

Images and Photography:

Gregory Alexander either owns the copyright, or has the rights to use, all images and photographs on the site. If an image is not part of the "Gregory's Blog" open sourced distribution package, and instead is part of a personal blog post or a comment, please contact us and the author of the post or comment to obtain permission if you would like to use a personal image or photograph found on this site.

Credits:

Portions of Gregory's Blog are powered on the server side by BlogCfc, an open source blog developed by Raymond Camden. Revitalizing BlogCfc was a part of my orginal inspiration that prompted me to design this site. Some of the major open source contributers to BlogCfc include:

  1. Peter Farrell: the author of 'Lyla Captcha' that is used on this blog.
  2. Pete Freitag: the author of the 'ColdFish' code formatter that is also used on this blog.

Version:

Gregory's Blog Version 1.01 June 13, 2019 00:49 PST.