Testing Rules in a Neptune program.

I realize I haven't blogged about Neptune for a while, but I actually have been making progress on it. I have just been finding a hard time making time to blog. Hopefully I will get better about that.

What I want to cover today is the process of writing automated tests in Neptune to which you can then write your code.


Neptune Programs: RSS Reader

It looks like my "one new Neptune program per month" goal got missed by a bit. I am going to blame a combination of cf.Objective, a recent vacation and associated upsurge in work.

In any event, here is the program for June (with only days to spare). RSS Reader is a simple program to get RSS feeds and display them on your site. While you could certainly use <CFFEED>, it is slow to get feeds on every page request and <CFFEED> sometimes has bugs (RSS Reader itself uses Ray Camden's rss.cfc under the hood).


Neptune Framework in Beta 2

It took a little longer than I had hoped to get this out - mostly owing to being behind on a number of other things. Even so, I am really excited about this release of the framework.

For an overview of what Neptune is, you can read the Neptune framework announcement or see the Neptune documentation.

So, what's new in Beta 2?


New Open Source ColdFusion Shopping Cart

I have tried a handful of ColdFusion shopping carts and I have never been happy with them. They tend to do more than I need, but not in the way that I need it. That they don't work quite as I need isn't a problem. That they are difficult to modify is.

After a few frustrating experiences, I finally decided to build a shopping cart the way I always wanted one to work. The real difference between this cart and others is that it assumes that you will have to modify it. Rather than give you 90% of what you need and making it hard to do the other 10%, it gives you closer to 60% of what you need, but makes it extremely easy to get the other 40%.

The result is a free, open source, shopping cart program that I call StarterCart. While it is very slim on features, it does provide some significant advantages over other shopping cart programs that I have seen.


Neptune Beta 1.5

Two weeks ago, I launched the initial beta of my Neptune framework. As I am prone to do, I missed something obvious in the released files (failing to include a needed file), causing the example in the documentation not to work. Tom Hubbard was nice enough to point this out to me.

In addition to that, my CF-Talk announcement, generated quite a discussion on the security of file uploads in Neptune. Consequently, I have made some adjustments in response to that discussion.

I felt these to changes were significant enough that I wanted to get them out right away, but not significant enough to call this release "Beta 2", so I punted and called it "1.0 Beta 1.5" - kind of a lame version number, but oh well.


Neptune Programs: "Admins"

When I launched the public beta of my new Neptune framework, I mentioned that I would release several program running on Neptune that would be useful in their own right and serve as good examples of Neptune in use.

The first one of those programs is ready today. I don't think people are going to download Neptune to use this program, but it is broadly useful and a good example of some things that are different about Neptune.


Neptune: New Framework for the New Year

Many years ago, I was copying an application from one site to another. The task seemed simple enough, but it was taking a long time. First I had to copy the code. Then I had to create the tables/columns/primary keys. Then I had to create any folders being used to store uploaded file (or if they were part of the application, delete any uploaded files from the folders that I copied). Then I had to change the look of the program to match the site to which I was copying it.

I remember thinking that it should be easier. I resolved that I could make a "Ten Minute Install". The goal turned out to be a bit harder than I imagined at the time (though not nearly ambitious enough in the long run).

Years later, however, this would be a major piece of my framework. Except instead of a "ten minute install" I have about a ten second install. To copy a Neptune program from one site to another just requires copying the folder that holds the program and then browsing to it.

By doing that, the files are copied and the tables/columns/primary keys (and optionally some data) are created. It will also set up folders for uploaded files and run any custom installation code. The program will automatically use any settings (including appearance) on the new site.


Another Fun Framework

With all of the ColdFusion frameworks that have been released this year, this feels a little like "me to". The fact of the matter, however, is that this framework has been in development for a few years and is being used on a dozens of sites. Moreover, it is different from other ColdFusion frameworks in some pretty significant ways.

The framework doesn't have a name yet. I have been calling it "AFF" ("Another Fun Framework" or "Anti-Frameworks Framework") so far, but it needs a better name pretty soon. I'm open to suggestions, of course.

I wasn't sure how to approach my first blog entry on the framework, so I decided to just answer the questions that I normally ask when I see a framework.


BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.