I’m working for a client new to the world of software development and unencumbered by familiarity with development lifecycles and environments. (Not their fault; it just places the onus on us to teach them.) I’m not sure how long my company has been working with them; I just joined the project a couple of months ago.

Somewhere in the past, some percentage of the developers on the project acquiesced to doing development work in their production environment, probably because they were asked to do so to help them with some tight deadlines or urgent requirements. The short term effect was that it helped the client meet whatever deadlines or requirements they had; the long term effect is… disastrous.

Continue reading

Given a list view with several columns: ID, First Name, and Last Name. Let’s say the “ID” column shows an ID number as a hyperlink that points to another form. The list view’s filter only shows options for filtering on the First Name and Last Name columns. Why can’t I filter on ID too?

Continue reading

I think it’s fair to say that most of us in this industry at least started out taking over someone else’s project. The original developer left long before you got there, leaving you to figure out what’s what.

Some of us are still in that position, or find ourselves back in that position at some point. So if you can take the time to inventory all of your SmartForms objects at the start, you can let your shiny new object relational management (ORM) database do a lot of your grunt work for you later on.

Continue reading

My client was looking for a way to export a list produced by a reporting engine to a Microsoft Excel® spreadsheet file (.xlsx). Other applications in the company have made use of an Excel Export control, so I thought I’d better figure the thing out.

Continue reading

This post is the sixth and final installment in the Build a Reporting Engine Using K2 SmartForms series.

In previous posts, I talked about some aspects of the T-SQL used to support the engine, and touched time and again on how the actual job of the interface is to build a SQL WHERE clause to append to a SELECT statement and execute to return data to a list.

Today I’ll talk a bit about the interface.

Continue reading