Ken's WebDev Pages


What Is This, Why?

A quick background: This is being put together in November, 2016, and will probably be added to, like one does, over time. About a year and a half ago, I had a good, solid job, and I had planned to retire from it. The world had other plans, the company I worked for was shut down, and I've had a very difficulty time looking for work since. But let's not open that wound again ...

I have been lucky in that my wife is making enough money we're doing okay financially, but it has been hard on me. The ego takes a big hit every time you apply for a position and either don't hear back or get a rejection letter.

I have been a programmer using dBASE (III+ through current versions) for many years, and have written books on dBASE (and am revising one even now as the software is in beta status for the next release). If you go back to the GoldenStag.net main page (above) you will see a menu item for my dBASE pages, if you're interested.

Rather than let depression set in, I decided to up my web development game, and started taking online courses (through Udemy mostly). This has served two purposes -- the first is that it has kept my brain busy and focused; the second is that I think I can help some web developers who have been struggling with some concepts I struggled with.

In the process of all this I took one course on Drupal, one of the more powerful and widely used CMS software packages and while impressed in some ways, was a bit appalled at some of the inflexibility in the software (without a lot of work to add onto it). It lead me to start building my own CMS, and the source code will be available here eventually.

One of the biggest frustrations with building my own CMS was that while there are a ton of free tools out there, help ranges from decent to really poor. I have used Stack Overflow for assistance, and sometimes gotten some good help, but a lot of the help out there is a coder throwing some code out with little or no explanation, and expecting you to figure it out. I've always felt that for me to be comfortable with something I need to know what it is doing and why. This also allows me to tinker and customize it. On the plus side, if your "Google skills" are good, you can find almost anything on the web, which may even be how you got here.

Software

To that end, this page and the individual pages linked to in the menu above is dedicated to just being a resource with as much information as I can provide on using PHP with MySQL, combined with Bootstrap by Twitter, and some other web tools. Figuring out how to pull everything together into a viable website was tough.

I expect that there will be sections on CSS (a few tricks that are CSS-only), Bootstrap specific, and some that deal with PHP, MySQL, and a combination of tools.

What This Is and Is Not

This is going to be a set of examples of code with as much explanation as I can muster to help someone understand some of the interesting tools I have either created myself, or in most cases borrowed and figured out (often with help) how to use.

This is not going to be a "build your own CMS" tutorial, a "writing code in PHP" tutorial, or a "how to use every aspect of Bootstrap" tutorial. I have to assume that the reader has some basic understanding of HTML 5, CSS 3, PHP, MySQL, maybe a bit of Javascript ...

I may not have all the answers you are looking for -- I know that often when I go out to find help on the web, I find something close to, but not exactly what I need. In some cases I've been able to work through it, in others, not so much. If you ask me a question about the code that is posted, be prepared for the fact that I may not have THE answer you're looking for. I worked with code to get it to do what I needed, and my solutions may not be what you need. However, they may help you get to where you need to go.

I am a firm believer in giving credit where credit is due, and so if I have used code from some other site, or from someone's example, I try to credit them where possible. I encourage you to do the same (including linking back here if you find something particularly useful for your purposes).

I Thought You Said You Created a CMS?

So, why is this part of my site not using that CMS? First and foremost, the CMS was not complete at the time I started putting this together. It's close, but ... but also a CMS by definition is not static. The content can vary wildly from day to day, and pages don't hang out there for the world to see. By using static web pages, you can link back to an individual page easily, and search engines can find it.

Notes (April, 2019): The CMS fell by the wayside. It got to be too much, and there were so many issues with the code that I didn't realize were issues, I was making things very hard on myself (error handling was being done very poorly, based on one of the classes I had taken, made sense at the time, but it got to be a bog, the code acted weird, I had to jump through very strange hoops ... one friend pointed out some things, and I realized I had made it overly complicated, and decided to give up on the project, but ...).

Instead, I have been taking all those classes and skills and revising a couple of sites. Both for the SCA, the one I am most proud of (although it has some issues, as time moves forward, I hope to fix them, but am also moving data, and more) is the West Kingdom History website. This site has 53+ years worth of photos, reminisces, events, and much more. That uses some of the stuff I worked on for the CMS mentioned above. It also uses Bootstrap 4.1.3, which adds some abilities for handling media query isseus (smaller screens) better than Bootstrap 3 did, with less work.

Like a lot of things, these pages have been languishing and have not been updated due to how busy this one project has kept me. Part of it is the coding, but a huge part is moving 53+ years worth of data to the new format. Progress is not fast, and has been hampered due to surgery and other things. But it is happening. Anyway, you may still find some of what is here useful, I am not sure I will be dealing with updates for a while, if ever, though.