For the next release of ZonePro I'm working on revising most of the report screens. For the primary report screens (Zoning Reports, Appeals Reports, Building Reports, etc.) I am eliminating the Secondary report option and the Advanced Sort option. I don't think most customers have even used these options and they make the program seem more complicated then it really is. Don't panic though, I'm not eliminating the functionality of these options. Rather I'm re-designing the report screens so that these functions are unnecessary. The point of both of these advanced options was to give the user more sorting choices. The Secondary report screen allows user to sort by property-based fields like "Street" and "Subdivision" instead of just primary database fields like "Permit Number" and "Permit Date." The Advanced Sort option allows users to add new sorting criteria to the primary database. In the new release every report screen will basically be a Secondary report screen. What that means is that the reports will be based on a temporary holding database that combines all of the fields from the primary database (say 'Zoning') and the property database. This gives the flexibility to sort by any field in either database, so you can sort by "Street" or by "Permit Number" for example, from the same screen. There were three challenges to overcome to make this work. 1) I wanted all of the property fields to be available for any given report. Because they are being combined with the fields of another database, however, I had to compensate for overlapping fields that have the same name. For example, all of these databases have seven user defined fields with the same names. To handle this I am prefixing the overlapping property fields so that they are named “p_user1”, “p_user2”, etc. The same with the Notes fields and the Units field. 2) The second problem appeared more daunting at first. This new approach means that all of the report fields are being pulled from a combined temporary database so you do not want references to specific databases in the reports. In other words, references such as “property.street” would lead to erroneous results. In other words, all of your existing reports would need to be revised before you could use the re-designed report screens. I solved this problem however by writing a program that will strip out all of the specific database references from reports. I’ll include this program in the upgrade package and everyone should be good to go. Because of the overlapping field issue I discussed in problem 1, there are still cases where the reports may need to be manually revised to get them working properly but those will be few and far between. 3) The final challenge was to come up with a way to let users have some say in the sort available. As I mentioned, with this approach you can now sort based on any combination of fields in both primary database and the property database. That’s a lot of sorting options. It’s not practical to put all the possible combinations in the Sort By drop-down box so instead I created a new screen where you can define as many sorts as you like and also turn their visibility on and off as desired. The Report Sort Manager will added to the Database Sort Manager that is currently part of ZP Toolbox. To show off the advantages of this new sorting flexibility I am creating variations on the “Subsort” reports that include lots of property fields. The new reports will be included with the next upgrade as well. I think this new sorting option gives the reporting screens a lot more flexibility while at the same time simplifying the process. So I’m pleased. Another side advantage of this move is that many of the indexes created for various databases were only used by the report screens. Now I can eliminate those indexes which will actually speed up the performance of ZonePro in some situations. That’s always a good thing.
Monday, February 27, 2006
ZonePro Manual Revision
Tuesday, February 14, 2006
ZP Laptop Rewrite or Revise?
I am currently debating whether to rewrite ZP Laptop entirely or just revise the existing program. This morning I am leaning toward a rewrite. The primary reason is to have ZP Laptop use the same logging features that are now in ZonePro. By using those logging feature to pass changes back to ZonePro I think we can improve the upload speed and provide better recovery options in the event of problems. The logging feature also makes it easier to expand the Laptop system to other databases such as the Contractor database and the Fire databases. The logging feature also makes it possible to pass the changes remotely. Right now you have to connect to the network at the office to pass your changes in the field back to ZonePro. By using the logging feature it would be possible to send the change log from another location. There may be a hybrid of our Laptop software and ZP Web that we can offer to allow inspectors to upload and download changes without having to go into the office. I’d like to make the process of uploading and downloading changes more flexible on both sides. My idea is to make the Laptop version a lot more like the desktop version. I’m not sure what to do about ZP Laptop’s current logging system though. I’m not sure how actively it is used. If you are a ZP Laptop user I’d like to hear your comments on that.
Project Database Evolution
The Project database in the Building Module has had a long and strange history. It was introduced back in the last century when the Building Module only supported one fee type per permit. If you had multiple fees involved you had to have multiple permits. To keep track of all these permits we designed the Project database which could be used to create a “master” permit that linked together multiple permits from the other databases. In that fashion you could have multiple fees for a given project. The introduction of the Fee Detail database eliminated the need to handle fees that way but we never got rid of the “master” permit feature. To this day you can create a master permit in the Project database and then link any permits in the other four building databases to it by using the Project Link button. Back in the Project Screen there is an extra button called “Related Permits” that will show you any linked permits. There is also an extra document in the Document Screen that prints a list of related permits. To the best of my knowledge, no one has ever taken advantage of this feature. The problem, I think, is that it requires an extra step to set up a master permit in addition to any other permits involved. For years now we have simply ignored that feature and pitched the Project database as just another one of five identical building permit databases. In the next release, the Project Screen truly will be identical to the other four building screen. Instead of getting rid of the Project’s linking ability, however, we are going to extend that ability to every database. In any of the five building databases you will be able to click on the Project Link icon while editing to see a browse table of all the building permits issued for that property. You can then select a permit and its ID Code will be copied into the Project Code field. If the Project field in the starting permit is empty, the Project value from the linked permit will be copied over too. Once you have the Project Code field filled you can click on the Project Link icon to see a list of permits that share that same Project Code. This makes it really easy to link permits together and you don’t have to create any extra records to do it because any permit can be a “master” permit. To create a master permit all you have to do is copy that permit’s own ID Code into its Project Code field. It’s that easy. To cap it off we are going to add the “Related Permits” document to the Document Screen of every building database. This means you can print off a list of all the linked permits while viewing any permit in the group. This feature should be of interest any time you have to create secondary permits to collect new fees, such as re-inspection cases, or when you have to create multiple records to collect fees from multiple sources.