Monday, November 23, 2009

Sliding Expire Date Tutorial

I just added a second "Sliding Expiration Date" tutorial to our web site (on the Tutorial page, of course). Although the process is exactly the same in both ZP 32 and ZP SQL, the scripts are different. This will true anytime you have a script that pulls data from some database other than the currently active one. For the main Sliding Expiration Date script data is pulled from the inspection database to compare the latest inspection date with the Expire Date. As a side note, I'm mulling over several options that would build the Sliding Expiration Date option into ZP SQL so that you wouldn't need scripts at all. We'll see...

Tuesday, November 17, 2009

Contractor Inspection Request Beta

We are currently beta testing a new web service that will allow registered contractors to view any permits they are linked to and submit requests for inspections. New screens have been added to ZonePro SQL to review the inspection requests and accept or reject them. Contractors can see the responses to their request from the original web site. You can view a demo of this site at www.zpsql.com by choosing the Contractor site option. Try logging in with the ID "CT001003" and the password "zpdemo". This new web service will be available to all ZP SQL users who have the Contractor Module installed.

Monday, November 2, 2009

Old ZP SQL Demo Is Defunct

This past weekend all our SQL databases were moved to a new server. This means that any ZonePro SQL demo created before today won't work because it won't find the databases. I have just updated the demo file on our web page and the new version works fine.

Saturday, October 31, 2009

Web Based Help

This really is a no-brainer and yet it took me a while to think of it. ZonePro SQL has moved all of its help files to the internet. When you click on the little yellow ? button in any ZP SQL screen, your default web browser is launched to display the relevant Help topic. This is an obvious way to go since you need internet access to use ZP SQL anyway. Have a central repository for the Help files means fewer files that customers need to manage. It also makes it easier to update the Help files incrementally rather than waiting for a new release.

Thursday, October 8, 2009

Report Screen Speed Features

As I have mentioned (over and over) speed was a major concern when designing ZP SQL. All of the report screens were modified to add two new features that limit the amount of data requested from the internet. The first is a simple field that limits the maximum number of rows pulled down for a report. By default reports are limited to 100 records. You can edit this value to grab more records. Entering a 0 (zero) in the box effectively turns the feature off. The second new feature is a check box which limits the number of fields that are pulled by each report screen. Because report screens typically include data from both the property database and an application database, there are potentially many fields that could be pulled for every query. Most of the reports, however, include only a fraction of the fields available. So we devised a system whereby a text file holds a list of all the fields each report screen should pull. These lists are shipped with ZP SQL and are initially limited to only those fields included in the default reports. There is a screen in Maintenance where you can edit these lists of fields and add more fields as needed. This system works great but as we soon discovered, speed is not nearly the limiting factor we thought it might be. So now there is an option to turn off field limiting feature in the Personalization Options screen.

Monday, October 5, 2009

Super-Sized ID Codes

Okay, this is not the most exciting change in the world, but another difference between ZP SQL and ZP 32 is that the property ID and all of the ID Codes in the system have been expanded to 8 characters. This does not change the way the program works but it does make it easier to identify where a record came from just by the ID. In ZP 32 all of theID are prefaced by a single letter. In ZP SQL each ID is prefaced by two letters. The Contact File gives a good idea of why this is improvement. In ZP 32, all Contact File records are prefaced with an "X." Why? Because "C" was already taken by the Contractor database. In ZP SQL, the Contact File records are all prefaced with "CF" and the Contractor records are prefaced with "CT." That, to me at least, makes sense.

Saturday, October 3, 2009

Contractor Details Database

Another difference between ZP 32 and ZP SQL can be found in the Building Module. In ZP 32 each building screen has spaces for five contractors per permit. In ZP SLQ the contractor info is no longer stored with the permit screen but instead is tracked through its own Contractor Details Screen. Just by the name you should figure that the Contractor Details Screen works similarly to the Fee Details and Inspections Details sections of the Building Module, and you'd be right. With the contractor info stored in its own screen you are no longer limited to five contractors per permit. You can have as many as you like.

Friday, October 2, 2009

Property Deletion Follow-Up

As a follow-up to the deletion post of a few days ago I wanted to mention that there is also another change to the way deletions work from the Property Screen. Unlike in ZP 32, in ZP SQL you cannot delete a property record if it has any other records linked to it. Any other words, you must delete any attached permits, violations, photos, etc., before you can delete a property record. You must also first delete any names attached to a property in the Contact File before you can delete the property. This is basically a safety measure. Typically when ever we've had customers contact us about missing permits, the culprit turns out to be a property record that was accidentally deleted. Because deletions are easier to execute in ZP SQL, we decided to make it harder to delete a property record if it has anything attached.

Wednesday, September 30, 2009

Notes For Building Inspections

In ZP 32 the Building Inspection Details Screen displays a Note field, but is actually just borrowing the Notes field from the main permit. In ZP SQL each Inspection Detail has its own Note field. When you print the Inspection Details or the Building Ticket any notes associated with a particular Inspection Detail print directly under that detail item. This new approach has been very well received by the customers using ZP SQL. In fact they'd like to see this feature extended to the detail screens for Housing and Fire. We'll see...

Monday, September 28, 2009

Alert Messaging Changes Slightly

I'm trying to add a post a day about the differences between ZonePro 32 and ZonePro SQL. It's getting late so I'm doing an easy one. There are few minor changes to the way alert messages work in ZP SQL. The biggest change is that I eliminated the Alert Message option from the Region Code field in the Property Screen. I'm okay with that because the User4/Status field alert option is more flexible. Besides, as noted in an earlier post, the name fields were eliminated from the Property database and that gave us room for more fields. So now the Property Screen has a Status field as well as the ubiquitous User4 field, so you have two options for alert messages in the Property Screen. The final change is you no longer need to type in the # sign. Just typing "ALERT" gets the job done. That's a change I'll probably extend back to ZP 32 as well.

Sunday, September 27, 2009

No More Two Step Deletions

In ZonePro 32 there are a number of screens where you have to be the only user of the database in order to proceed. The SQL database used by ZonePro SQL don't have that limitation. This is perhaps most noticeable in the deletion process. In ZP 32, deleting is a two-step process. Clicking on a Delete button only marks a record for deletion. To permanently remove it you have to go to Maintenance and use the Finalize Deletions option, for which you have to be the only current user. In ZP SQL it is quite different. When you click on the Delete button and say OK, the record is deleted right then and there. This has the benefit of being more intuitive than the two-step approach, but it takes away that safety net. I think ZP SQL compensates for that in two ways. One, in ZP SQL you always have security in place so you can easily limit who even has the ability to hit a Delete button. Two, I added and option where any deletes are logged to a special file. The deletes are logged with a command that can potential replicated the deleted record. In Maintenance there is a Deletion Log screen where you can review any deletions made. The next logical step would be to have a way to reinsert errantly deleted records but I haven't gotten quite that far yet.

Saturday, September 26, 2009

Fixed Fees Not So Fixed

I don't know why I even call it the Fixed Fees Screen anymore. In ZP SQL all of the databases in the Fixed Fees Screen can now have multiple fee entries. Each entry can have a flat fee or a formula. This brings this screen more in line with the way ZP handles zoning or building fee schedules. The extensive changes mean that this is one of the few databases that does not convert over when existing ZP 32 customers move to ZP SQL. Those fees have to be setup again. I think this is a small price to pay for the increased flexibility the new design brings.

Thursday, September 24, 2009

Contact File Repurposed

In ZonePro 32 the Contact File Module is a rather seldom used add-on. It is somewhat cumbersome to use because the info tracked in Contact File is duplicated in the Property name fields, which means changes have to be passed between the two databases. The most radical change in ZonePro SQL is that the name fields have been removed from the Property database and now all the names are tracked in a redesigned Contact File database. The Contact File is no longer an add-on but an integral part of the program. Now you are able to link as many names to a Property record as you wish. We still maintain the "Owner", "Occupant" and "Extra" name designations that exist in ZP 32 so that the Applicant Type option works the same and the ability to reference these deginations in documents and reports remains. This redesign creates a challenge for existing customers because you no longer edit names directly in the Property Screen like ZP 32 users are used to doing. Now you have to to the Contact File Screeen to edit information. This takes some getting used to.

Wednesday, September 23, 2009

Toolbox Folded In

Like the Security Module and the Contact File, ZP Toolbox has also been folded into the ZonePro SQL Base Module. I did that because a) everybody needs the Document Editor option and b) a lot of the other tools may not survive the transition. In the initial release of the Toolbox Module for SQL I gutted most of the database manipulation tools. Just recently I began adding some of those tools back in. The first is called SQL Sweeper which, of course, is a version of Street Sweeper that works with the SQL databases. I also have a SQL version of the Field Case tool. Other tools, like the workhorse Database Browser, don't work well with remote data and probably will never appear in ZP SQL except for working with local copies of the databases.

Tuesday, September 22, 2009

Security Included

In ZonePro SQL the Security Module is included with the Base Module. Security is built into ZP SQL. You have no choice but to log in with a password. Why? Because your data is now on the internet! Security is vital. The security in ZP SQL functions identically to ZonePro 32 in that you assign Access Levels to each password to determine what functions each user is allowed to access within ZP. At the moment the conversion process I have does not convert existing passwords from ZP 32 to ZP SQL so you have to re-establish that info in ZP SQL. A security issue I am wrestling with at the moment is what to do with web pages that access ZP SQL data. The web development language I am using has an elaborate security setup of its own which is not especially compatible with the existing security files used by ZP SQL. I may go with two different security systems: one for use the traditional ZP SQL interface and one for use with web pages.

Monday, September 21, 2009

Variable Fees Vanish

I may have mentioned before that the program interface for ZonePro SQL is very similar to ZonePro 32. There are, however, some differences. Some are due to the switch to remote data storage and some are due to design decisions. I plan to enter a series of posts outlining these differences. For example, ZP SQL no longer supports variable fees. This change affects the fee screens for Zoning Permits and Building Permits. In ZP 32 you can have 3 types of fees in your permit fee schedules: flat fees, formulas, and variable fee lists. In ZP SQL we have scuttled the variable fee lists. This was purely a design decision. Several years back the formula option for fees was expanded to include scripts. This scripting option has proved to be a much more flexible way of storing lists of fees if needed, thereby paving the way for the variable fee options obsolescence. This change will only affect existing customer who are considering ZP SQL. Any existing variable fee lists need to be changed to formula scripts before converting to ZP SQL.

Saturday, September 19, 2009

Mind The Gap

Okay, it's been a long time since my last entry. Here is the update: ZonePro SQL is now an functioning product. It has been installed at three locales. Two of those are existing users who converted to the new platform, and one is new install. The early reports are positive. The software is working well. For the existing customer there was not much of a learning curve to get used to ZonePro SQL. We're still cleaning up the minor bugs that you expect on such an extensive rewrite but our new automatic download option makes the update process a lot easier.

Thursday, May 21, 2009

Immediate Benefits

Although ZonePro SQL is a couple of months off there is already a benefit available for existing ZonePro customers. As I mentioned in the last post my trial project was putting my customer database on-line. In the next new release of ZonePro customers will be able to access some of the information from that database. In the Installed Modules screen there will be a "Check Maintenance Status" button that will query my on-line database and tell you your current maintenance status including your annual fee amount, when it is due, and when it was last paid. Pretty cool, eh? That same screen will also be able to check an on-line database to find the current module release levels and then automatically download any updates that are available!

First Success

My trial project while first learning how to use SQL Server is the database application I use to track customers. It keeps track of contact names, addresses, products installed etc. The thing that impressed me the most when I first moved the databases to the internet is that there was no noticeable lag time difference between accessing SQL Server locally and accessing it on the internet. This was great news. The last thing I want is customers twiddling their thumbs waiting for the next property record to load. I don't want to create the wrong impression: using SQL Server databases is not as fast as using local FoxPro databases. But using SQL Server on the internet is just as fast a using SQL Server locally. As least in my environment. And that is all I could hope for.

ZonePro the Sequel (Oops, I meant SQL)

This new journal is where I will discuss the development issues concerning ZonePro SQL. ZonePro SQL is a new version of ZonePro that will store all of it's data files on the internet rather than on the customer's local network or PC. The advantage, of course, is that you'll be able to access your ZonePro information from anywhere you have an internet connection. We're going to use a smart-client approach, which basically means there will be a program on your desktop for ZonePro SQL that looks and behaves more or less the same as ZonePro 32. I am very excited about this new project but there are many decisions to make. I'll discuss a lot of those decisions here and welcome any input customers have.