Given source and target systems within a company’s intranet. The source system is a SharePoint server, though which K2 is surfaced. The target system is also a SharePoint server, through which Microsoft Project Online is surfaced. The challenge: to access the data on the target system through the use of REST services only — without a JSON descriptor.
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.
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.
Web technologies sometimes need a little help to be as useful as people think they should be. And I think that bar was set by the Microsoft Office desktop application years ago. Particularly with the advancement of Web technologies over the past 20 years, the line between web and desktop applications is becoming ever more blurred, making it harder for users to discern what is still not natively possible on the Web.
One small way in which desktop and web technologies still differ is in actioning a form. It’s pretty common for a user to submit a form in a desktop app with the strike of an enter key instead of clicking on a Submit button; so users find it irksome when a similar form isn’t submitted with the enter key in a web application.
The K2 SmartForms Picture Control is comprised of:
- The SmartForms Picture control
- A table in the K2 database
- A .NET Generic Handler
Let’s talk about each of these.
Now that we have successfully implemented the Set Language control on a form, and figured out a means of passing the selected language to a subform, it’s time to explore how well the Set Language control performs in translating text on an editable view (a datagrid).
The Set Language control enables a limited multilingual capability for K2 SmartForms. The control was developed by a developer at K2, though the control is not officially supported as part of the K2 SmartForms product. The control may be downloaded from the K2 Community. An account is required to perform the download. Be sure to consult the document included in the download.
This post walks through a simple demonstration of how to use the Set Language multilingual control. In my brief exploration, I found that the control will not work on objects like message popups. In this demonstration, I manufacture a message popup using a simple subform, and show how a language value can be passed from one form to another to preserve the appearance of text in a chosen language.