Developer Blog


Search   Next >>

I have never been a big fan of WordPress. But I was wrong all the time. WordPress is in a transition however. It's slowly going away from blog engine to a visual website design tool. Slowly. I share the things I learned these past few weeks. Enjoy!

I have been playing (a lot) with WordPress on IIS (Windows Server 2019) lately. Nick has been very helpful by guiding me around. WordPress is some kind of an application in the end as long as you stay away from performance-killing plugins.

Even though IIS is not the recommended host for WordPress, it does the job. And the stronger your specs, the better. I get very good results on a very basic AWS Cloud Server with 8GB of RAM on 2 CPU's. 

The web.config below is all you need to:

  1. Have a recent version of PHP working (PHP 8.3.11 in the example below) for all PHP files
  2. Add the one and only static file handler for all other files. 
  3. Have index.php as your (only) default document
  4. Have a rewriting rule to mimic the unsupported .htaccess
  5. Note that this web.config does not deal with any MicroSoft technology (.NET or Classic ASP).

Here it is:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
  <handlers>
<clear />
           <add name="php-8.3.11" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files\PHP\v8311blank\php-cgi.exe" resourceType="Either" requireAccess="Script" />
 
            <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read"/>
 
    </handlers>
    <defaultDocument>
      <files>
        <clear/>
        <add value="index.php"/>
     
      </files>
    </defaultDocument>
    <rewrite>
      <rules>
<rule name="WordPress on IIS" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule>
</rules>
    </rewrite>
  </system.webServer>
</configuration>

I am offered a job as a teacher in Webdesign. So I have a question for you guys. What would you consider modern webdesign tools, trends, do's and dont's? Thanks!

Support for Classic ASP/VBScript is scheduled to be removed on future Windows releases.

This makes no sense at all. Therefore, please sign the petition to stop this madness! 

Sign the petition

My ebook about aspLite has been read over 1000 times meantime. Happy to share some of the comments so far:

Ilkertr:
I remembered my old Classic ASP programming days. I couldn't learn new asp.net. When I saw your page, I found the excitement of developing something with Classic ASP again. Thank you.

David:
A good read Pieter. Really enjoyed reading about the history of classic ASP and particularly your work in the early years. 

Brian:
It's a great read and good that there is still support for this underrated programming language.

Ömer:
I read your ebook until 4:00 AM last night without skipping a line, and I was very impressed. Each sentence made me feel as though I had discovered a long-lost companion with whom I had been wandering the same forest for almost 30 years, yet never knew existed.

Tony:
It made interesting reading especially as, like you, I was left out in the dry as a Classic ASP developer and what made it worse for me was that I had worked for Microsoft for 6 years prior to 1999! Talk about slap in the face, I couldn’t believe it at the time and felt very annoyed that I had dedicated so much time and effort to learn a development language that I had thought would keep me going for years to come!

This is what I'm doing it all for. I just hope this ebook somehow helps people to get on the road again with their Classic ASP skills. 

I've been quite busy these last few weeks. After the release of Setlistplanner.com, I developed some apps for my wife's dental practice. I made her a waiting list app and an app to manage her stock. I reused the application template I also developed Setlistplanner on. It's a very promising template, making use of aspLite.

Right after, I was so excited that I decided to write a book about how I used aspLite in Setlistplanner.com and how aspLite led to asplForms, an AJAX-first developer framework for Classic ASP developers. It's a wrap, my ebook is done. It ended up as a highly opinionated MicroSoft bash on its 6 first pages. The rest should be OK.

Lately I have also become a big fan of Google Search Console. It appears that both url-redirection and missing canonical urls are two of the most common issues reported for QuickerSites and my hosted websites in general. My one-codebase solution for all my hosted QuickerSites is under pressure. I once made sure that https://quickersite.com/downloadsection and https://quickersite.com/r/downloadsection are both serving the same page. The "/r" is the name of the virtual directory in IIS. But that is a problem for Google Search. It's marked as duplicate content. I need to look into that someday soon.

I also looked into a new robots.txt file for all my hosted sites. So far, I'm using one of the available suggestions I found on GitHub. It should block many unwanted bots, for what it's worth. Bad bots do not respect robots.txt files anyway.

But what ate most of my energy these past few days, was MicroSoft's recent announcement to retire (and eventually remove) VBScript in future Windows versions. I kind of take it that Classic ASP is in palliative care. Clock is ticking. This announcement is very bad news for us, isn't it? After VBScript gets removed from Windows, it's totally gone. It's no longer available in IIS either. Even though it's not going to be for tomorrow, MicroSoft is clearly up to completely removing Classic ASP-support. I can only advise NOT to use Classic ASP anymore. This day was coming for a while now. But still it's very bad and sad news. 

Nick and I, we finally started developing our so called Setlist Planner. As a performing artist I have all kinds of playlists, for all kinds of situations and occasions. It started to drive me crazy. So I decided to come up with a little tool. It may help others.

I uploaded Setlist Planner to Github. Check it out!

In short:
-create an unlimited number of songs and playlists
-sort songs in the playlist manager (drag and drop)
-open the lyrics for a song directly from the playlist manager
-easily copy playlists
-export the playlist to csx, xlsx, pdf or print

Developing this was fun but very hard, as the way this template works, it requires a very good knowledge of JavaScript, jQuery and AJAX. It took me 2 days to finalize. Probably one more day to tweak and complete. Without a very good manual, this new template (and the new ASP/VBScript approach) will never make a chance. There are also some major challenges when it comes to error-catching. But I keep on trying to make this work, that's for sure.

Happy ASP/VBScript coding!

Few months ago Nick and I had a brainstorm about this idea for a new app to organize setlists. Instead of diving into that straight away I came up with a template that could serve this and potentially many other similar application-ideas. I uploaded my work so far to https://github.com/PieterCooreman/Setlist-Planner

This template could be a starting point for any new Classic ASP/VBScript development. "Template" (forgive me the boring name) takes care of basically all standard "stuff" any modern application would need today:

  • User registration / signin / forgot password / confirmation email / my account / signout
  • Multilingual application
  • Templating (Bootstrap 5)
  • System settings / Mail setup
  • Compress/Backup database / Recycle application
  • Create custom applications on top of Template
  • Error handling

It would be great if someone would be able to install this thing and play around with it. It's quite easy to understand I hope. Make sure to check out the various sample apps that I added already.

To make this work I need to document all the methods you can use. There are quite a few, both Classic ASP/VBScript and JavaScript. I hope to find some time to get this done sooner or later.

So I asked ChatGPT if it could code Classic ASP. Few seconds later, it came up with an application to "manage contacts". Click here for a dump of my 2 minute chat

I followed the instructions and guess what... this works! It does 100% what I asked for. Amazing. I attach the "full application" to this message, but guys, DO NOT USE THIS ON A LIVE SERVER... because...

.. having a closer look at the code, I realised that:

  1. No HTML5 standards were used. No doctype.
  2. The code is not UTF-8-proof. It'ill only work fine for ASCII characters. Any other character will be saved in encoded HTML. This ends up in a data-nightmare. To fix this, you need only 2 things: <meta charset="utf-8"> in the front-html and <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> as the very first line in your ASP code.
  3. As ChatGPT indicates itself, the generated code is prone to SQL Injection (SQLI), Cross-site request forgery (CSRF), HTML Injection and XSS. Good luck with that.

Why is ChatGPT generating such very poor and weak code anyway? Are these the standards for AI to take over our lives as developers? I don't think so.

I don't want to be too severe though. Having AI at your fingertips to learn to code classic ASP is an amazing thing. I wonder how far I can take this.

I think "communication" will become a key element. So far developers had to be good with code. The developers of tomorrow will have to be able to communicate and organise their way through the AI opportunites they'll face. And AI needs to be able to learn from developers by asking for help and feedback in order to optimize its code. And that will then end up with even better AI and better development.

GitHub cut me off last week. I no longer had access to the QuickerSite codebase or any other repository.  I once forgot to download some recovery codes. I was no longer able to login using 2FA. My login was sort of disabled.

Meantime all is fine again. I had to request to disable 2FA for my account. It took 2 days before they got that sorted. After I restored the 2FA-login requirements I was able to login again. Pfjeeeeuw.

I now get why Facebook is absolutely not making a priority of 2FA whatsoever. They'd lose 90% of their users in no time.

But that made me think. If Google shuts down my account, I'm dead. My Gmail account holds a history of over 10 years. Google Photos holds my whole life in video and pictures. As I use my Gmail address for all sorts of logins, I'll be unable to restore passwords for basically all online services I have been using over the past two decades.

And if Amazon shuts down my server, I loose my business, my income actually. And they can do that without even warning me. And I would never be able to tell why exactly or even defend myself.

I couldn't care less about MicroSoft though. I don't even use a MicroSoft account. I don't need a MicroSoft account to develop classic ASP. That's something at least.

Anyway. It's all good now. Learned my lesson. 

Search   Next >>

© QuickerSite webCMS 2024

backtotop