Create an ORM Database for your K2 SmartForms Objects

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 “Create an ORM Database for your K2 SmartForms Objects”

Create an ORM Database for your K2 SmartForms Objects

Implement the Excel Export Control on a SmartForms List View

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 “Implement the Excel Export Control on a SmartForms List View”

Implement the Excel Export Control on a SmartForms List View

Error: “There is no such object on the server”

This was a really weird one. A client’s application suddenly suffered from this error in all environments simultaneously. The root cause had nothing at all to do with K2 blackpearl, but it affected the service keys of the instance of a service, which brought down the service and caused the exception.

Continue reading “Error: “There is no such object on the server””

Error: “There is no such object on the server”

Build a Reporting Engine using K2 SmartForms: Introduction and Terminology

I can’t recall the last time I’d been this excited about building a new feature.

My client has a high-touch, high-visibility application — and I mean “high-touch” more in the sense that a lot of people use it, rather than it gets used often (quantity as opposed to duration, I guess). At the top of my clients’ Christmas list this year was a new feature for building and persisting reports that can be used to monitor the progress of work items through their process.

I wanted to build them a reporting engine that was flexible enough to provide insight from multiple data sources, and with an interface that was as familiar and intuitive as possible.

Continue reading “Build a Reporting Engine using K2 SmartForms: Introduction and Terminology”

Build a Reporting Engine using K2 SmartForms: Introduction and Terminology

Look at the Time

A big thing to watch out for when you’re building an application in K2 blackpearl with an RDBMS back end is an understanding of how to treat datetime values.

K2 uses the value scnull to indicate a NULL value. This becomes especially important in SmartObject calls down to, say, stored procedures in your database.

The problem is, you can’t pass a value of scnull into, say, a workflow datafield that’s expecting a datetime value. For that, you have to use an actual datetime value like 1/1/1900.

All of this manipulation can make things pretty hairy when you’re trying to feed a SmartObject and start a workflow at the same time. If your datetime value is on a SmartForm, and you anticipate having to deal with blank or NULL values, you might consider adding a hidden data label or two and expressions to go along with them. That way, you can convert the calendar control value into something useful for the database in one data label, and something useful for data fields in another.

Look at the Time