Category Archives: Technical

Camp Out Colorado

CampOutColorado.com is a website I created to review campgrounds and give outdoor enthusiasts tips and tricks to enjoying beautiful Colorado. There are a number of WordPress customizations I have done to this website. 

Campground Data Custom Plugin

For the camping reviews I created a custom campground information plugin. It pulls up-to-date information for campgrounds through a REST API. These help campers see important details as well as know if there are any up to date details they need. 

Camping List Custom Plugin

To help campers be prepared to go camping I have created a number of camping lists for them to reference.

This is implemented through a custom WordPress plugin which stores all the information in a custom MySQL database. These camping lists are broken down into three categories of need. The items in the lists are linked to searches on Amazon so they can easily get the an item them are missing. 

http://www.campoutcolorado.com/camping-lists/general-equipment-camping-list/

Custom Template for Solunar Table

Hunting and fishing are a regular activity with campers in Colorado. I have created a few useful tools for them. One is a solunar calendar to figure out good activity times. This was created as a customized template in WordPress. 

This solunar calendar takes the moon cycle, rise and set times of the moon, as well as the sun and uses an algorithm to calculate good times to go fishing or hunting. It then displays these times, the moon cycle and a number of fish depending on how good the day looks. In the example below the solunar calculations suggest a bad day fishing, so go for a hike instead!

Custom Fish Stocked Plugin and Database

Another one of the tools I have created to help campers enjoy their time in the great out of doors is a fish stocking report with the quality of stocking in the body of water.  This a nice add-on plugin that also enhances the campground details plugin. 

This is updated weekly from the data that the Colorado Division of Wildlife releases. I created some search capability within this dataset so a user can find the area they are looking for.

Within this plugin I added the ability to calculate the quality of fishing at any particular spot depending on the date and frequency of fish stocking. 

The best part is that it ties into the camping details plugin and adds extra information to the details if there is water nearby that the campers can enjoy.  

Technologies Used

  • AJAX
  • Bootstrap
  • cPanel
  • CSS
  • Dreamweaver
  • HTML
  • jQuery
  • JSON
  • MySQL
  • Photoshop
  • PHP
  • REST API
  • WordPress
  • Workbench

I’ve used a wide variety of technology and techniques on this website. Starting at as little more than a camping blog it has become something that has a lot of really cool features and is very useful to anyone who enjoys camping, especially in Colorado. 

http://campoutcolorado.com

Fyxt RPG

The Fyxt RPG is a game I have developed fashioned after a traditional tabletop role playing game. I combine the feel of this type of game with the digital tools and convenience of the internet. 

Enjoy the traditional tabletop gaming experience while being able to pull up your character, the rules, generators, and more from any connected device. 

Technology Utilized

  • AJAX
  • Bootstrap
  • CSS
  • HTML
  • JavaScript
  • jQuery
  • MySQL
  • PHP
  • WordPress

Software Backed Game

The game is supported by a wide range of tools for the players to utilize.  Users are able to use premade content or create their own custom content for their game. 

There is a memberships system which allows different access and storage capabilities depending on the user levels. These include both paid and free memberships. 

Online tools I have created for this website:

Along with the game itself I have developed many tools for the Fyxt RPG system to help players easily accomplish a wide variety of things. Here is the page that lists all of the current tools for the Fyxt RPG. These are things like character generator wizards, search tools, and ways to edit the various game elements.

Custom Dice Roller Plugin

This is a custom plugin I wrote for this game. It adds a shortcode that can be used to insert a jQuery/Javascript dice roller that the players can use. This helps them calculate more complex rolls or allows them to play the game if they don’t have any dice handy.

Custom Character Template Example

Here is an example of a character sheet custom template for the Fyxt RPG. This is largely built with Flexbox and Bootstrap to pack lots of information on the screen. This allows users the best view of their characters whether they are on a desktop, table, or their phone.

These are just a few examples of the extensive programming and customization I have created for the Fyxt RPG.

There are custom templates, theme modifications, custom plugins, and a large customized database that all work together to let people play the Fyxt RPG anywhere on any device.

SoCO Donor Tracking

This is a private website I created for a political group who needed an easy way to account for contributions, donors, and expenses. This is a very simple website with custom plugins and database work to keep track of all of this information.

Custom Donor Tracking Plugin

This website is powered by a custom WordPress plugin written in PHP. It creates the ability to add custom shortcodes to pages to produce forms and data tables.

Download Report CSV Files

One of the main features requested by the customer was to be able to query contributions in a variety of different ways. Then they needed to be able to download this queried information to use in their reporting. So I created a complex search form so they could filter through all of the information in a variety of different ways. Once they were satisfied with the dataset they could click a button to download the information from the database.

Technology Used

  • AJAX
  • Bootstrap
  • cPanel
  • CSS
  • Dreamweaver
  • HTML
  • jQuery
  • JSON
  • MySQL
  • Photoshop
  • PHP
  • REST API
  • WordPress
  • Workbench

Unfortunately I am unable to share the links to this website as it is a private, login only, website. However, hopefully the information provided shows some of what the project required and how it was delivered.

Creating a Link to Custom View of Custom Google Map

So there is a pretty good amount of information out there about how to customize your view on regular Google Maps. However, several of the API methods do not work when trying to view your own custom map. I am not sure why this is, but it is annoying. After some research and some experimentation I found a small set of variables that the API does accept and work as of writing this article. Hopefully this will be helpful for you as I write many things in here simply as references for my own use when working on my many websites.

This works on your own custom maps you create with Google Maps. The idea is to have one custom map that shows many things. In may case a map of Colorado camping locations.  I write reviews of these campgrounds and want to include a link to my map. But that link needs to zoom into the campground and to center it in the screen.

Camp Out Colorado Campsite Map Normal View

To accomplish this we simply build a url with the proper parameters so that when the user is redirected to the map it also zooms in and centers on the specific campsite.

What We Need to Create a Custom View of Custom Google Map

Custom Map ID

This is found in the URL of the base custom map.

Camp Out Colorado Campground Map: https://www.google.com/maps/d/viewer?hl=en&authuser=0&mid=1NOd9T5rPujjSZ1h7bQ0CX_x-jEE

What we are looking for is mid. Grab everything that is after the “=” and before the “&” if it is there.

Longitude and Latitude

This can easily be found by opening a normal Google Map and select “What’s here?” This will give you a small infobox with what is there along with the exact longitude and latitude. Copy that.

In my case it is: 39.34385,-106.61257

Zoom Level

This is up to you. I like a zoom of 10-14 depending on how close in you want your map to zoom. I have a lot of campsites on the map and many are relatively close to each other. So I zoom in close to really make sure they know which one it is.

Create Link to Custom View of Custom Google Map

Start with the map viewer;

  • https://www.google.com/maps/d/viewer?

Then add your map id;

  • mid=1NOd9T5rPujjSZ1h7bQ0CX_x-jEE

Then add your zoom index, make sure to begin separating parameters with “&”.

  • z=14

Lastly add in your longitude and latitude together in one parameter.

  • ll=39.34385%2C-106.61257

So the final URL looks like;

https://www.google.com/maps/d/viewer?mid=1NOd9T5rPujjSZ1h7bQ0CX_x-jEE&z=14&ll=39.34385%2C-106.61257

There are other things that can be done but I will not go into those now. This should help to be able to simply create a custom map link that will zoom into the required spot.

Please let me know if you have any questions or suggestions to make this easier or better.

Now, to figure out how to embed a zoomed in custom map into a page.

 

WordPress Cron Can Kill a Website

I have run into this several times now so I thought I would write a quick article on it. It seems that WordPress’s cron really mess up a website.  Too many cron events will slow down your website. It can even cause timeout errors and out of memory issues.

What is cron?

Cron is basically a system to run programs in the background operation of your website. For a detailed explanation find out more here: Cron Info.

WordPress cron runs every time someone goes to your website. This is great as many plugin creators design software to do all kinds of fun and interesting things with your website. The downside is that these cron tasks can add up if not properly cleaned up. The average WordPress blog creator may not even know this exists. Worse, it can get full of all kinds of useless or out of data cron jobs.

The trouble is all these cron jobs are still queried, and possibly run, every time someone goes to your website. Over time this will certainly slow down your site. Especially if you experiment with many different plugins as many of them will leave residual cron tasks when they are uninstalled.

Check the WordPress Cron

First check your the WordPress cron and see if there is an unreasonable amount of cron jobs.

What’s unreasonable? That can vary greatly but I would say over 50 and you probably have too many. On my latest website with issues there were almost 20,000! Hard to say where they came from, but they needed to be cleared out!

First and foremost always backup your database when doing anything in it.

I prefer to go directly into the database with phpMyAdmin. Run the following SQL query.

This will retrieve the record of your cron jobs. In the option value field you will see something like this.

The only thing you really need to worry about is the very beginning of this entry. It will tell you how many cron jobs are present. In this case, there are 20.

In my case it looked like this.

19722! Yikes. This was pretty much crashing the website. Good news though. It is really easy to fix. Simply delete the cron entry and because of the magic and quality of WordPress the cron will be rebuilt the next time someone goes to your website. Easy as that!

Now you may need to go though and check your plugins, anything that schedules tasks, and verify that they are still scheduled and working. In most cases they will be. If not, set up the task again. These are things like calendars, auto backups, auto posts etc. All of these are done through cron jobs.

There is also a pretty cool plugin you can use to look at your cron jobs in a more UI friendly way.

https://wordpress.org/plugins/wp-crontrol/

Hopefully this helps you clean up and speed up your WordPress site!

Remove Date from WordPress Permalink URLs for SEO with htaccess

When using WordPress for your website it will default to the standard URL format showing the page number. However, many of us have changed or initially set up our WordPress blogs using the dates in the URL’s such as imageinnovationsllc.com/2013/1/my-blog-post. Initially you might think that the date in the URL may be helpful for visitors to your website to help them know when an article was initially written. It may be helpful, but has been shown to actually hurt your website. Visitors might not have confidence in an older article, even if it is a great article and valid the day they visit it. Most importantly though, it clutters up your URL and ultimately will hinder your search engine rankings.

WordPress permalink setting allows bloggers to customize the structure of a URL. Doing so correctly will help your WordPress website to be search engine optimized, improve the aesthetics, usability, and forward-compatibility of navigation and links. Within WordPress’s Permalinks setting, WordPress presents a few common permalinks structure, of which at least two are date-based.

The data-based permalinks have the following URL structure:

Year/Month/Day/Post-Title: http://www.imageinnovationsllc.com/2013/02/20/sample-post/
Month/Day/Post-Title: http://www.imageinnovationsllc.com/2013/02/sample-post/

The date in URL unnecessary adds to the length of URL, can dissuade visitors, and hurt SEO. The best SEO practice is to strike off and remove the /yyyy/mm/dd or /yyyy/mm from the URL structure of the WordPress permalinks.

Here’s a quick tutorial on how to change the permalinks structure of your WordPress websites URLs with proper redirect in the .htaccess file. This will help your WordPress website to avoid 404 page not found errors and minimize the loss of traffic due to incoming out of date URL’s any links to your website. This will help your navigation, make your site more user friendly, improve your SERPs, and Google’s PageRank.

The URL’s of your WordPress premalinks will end up in this format: http://www.imageinnovationsllc.com/sample-post/ This should be the format that most WordPress websites or any other website should strive for. It is clear and concise and will help users and search engines better understand and use your website.

  1. First change the permalinks configuration in your Worpress. Go to the WordPress Dashboard of your website and navigate to Settings -> Permalinks.
  2. Select Post name in WordPress Permalink Settings..
  3. Select Save Changes in WordPress Permalink Settings.
  4. FTP or SSH into the web server which hosts the WordPress installation, and go to the directory where the .htaccess file is located for the site. This should be in the WordPress website root directory.
  5. Create a copy of the .htaccess file. Sample: .htaccess_backup
  6. Edit the .htaccess file directly. OR Download the .htaccess file and edit it locally. Then upload it when you are done.
  7. Edit the .htaccess with editor such as notepad, Wordpad, or any other text file editor.
  8. Add one of the two code blocks below depending on your old URL structure above the WordPress code in your .htaccess file.

For existing permalinks with /%year%/%monthnum%/%day%/%postname%/:

RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /$4 [R=301,NC,L]

For existing permalinks with /%year%/%monthnum%/%postname%/:

RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]+)/([0-9]+)/(.*)$ /$3 [R=301,NC,L]

  1. Save the WordPress .htaccess file.
  2. Immediately test your WordPress website. Any error in the code can easily shut down your site with server errors. Access your WordPress website to be sure it is still functional. If it is not. Replace the edited .htaccess file with your backup or change the file back to how it was. Then try to enter the code again.
  3. With your WordPress website working enter a few links with the old URL structure to test that the redirection is working properly.

You may want to utilize MySQL replace function to replace the links with old permalink structure in posts, pages and comments to new URLs directly in database, much like what is been done when moving WordPress to new domain or location. Useful when you have thousands of articles which make manual changing impossible.

You can easily track problem URL’s with Google Webmaster Tools. This is an invaluable to keep track of the health of your site and to discover and correct issues that may be hurting your SEO and Google rankings.

DDM’s Realm Game Database

http://www.ddmsrealm.com/index.php/dungeons-and-dragons-quest-and-magic-item-database

This is one of the hobby sites that I run. This website is dedicated to the Massively Multi-player Online Role-playing game (MMORPG) Dungeons and Dragons Online.

Since games are one of my passions I decided to build a database of all the items and quests within Dungeons and Dragons Online. Thus gives players the ability to search for and find related quests and items. DDM’s Realm has turned into a very popular site for the game.

I strive to keep DDM’s Realm the most complete source of information available on the Internet. It pulls data from other sites and sources and is kept up-to-date by manual verification of game data.

ddmsrealm.com/ddoddmsrealm.com/ddoddmsrealm.com/ddo

 

Project Management Website

This is a website I created to serve as a hub to track projects, websites and tasks pending on all current projects. The design was kept simple for ease of use. The functionality of this site was powered by a back-end database enhanced with logic imbedded in the code behind for the web site. 

Technologies Used:

  • ASP.NET
  • C#
  • cPanel
  • CSS
  • HTML
  • MSSQL
  • WordPress

Discollector Site

This is a site I created for a small CD reselling company. They specialized in rare and collectable CD’s. The site had a basic, easy-to-navigate design.

CD Collection Website

Silent Shadow

This is a site I created for the guild Silent Shadow in the MMORPG (Massively Multiplayer Online Role Playing Game), Everquest. It was the common meeting ground for all members of the guild to exchange ideas and plan events.

Silent Shadow Guild Site