I’ve been working on this project for over a year now, and it’s time to share it with the world.
KTL is an open-source Javascript library specifically designed for Knack’s environment. Its purpose is to accelerate the development of your apps by adding wide range of features, from most basic to quite advanced.
Take note that all code and documentation is only in a pre-release state. Don’t use this library for any serious development since anything can change at this point and until we reach the first official release.
Let me know what you think of it. Hope you’ll find it useful, and will collaborate to its development.
I will soon create some demos and tutorials on how to integrate it in your own Apps.
I love the concept of placing the code on a separate server. Having such a server open to the web, allows many more features and opportunities, like cross app functions. I truly hope to see this evolving
/* User Filters - BEGIN */
.activeFilter {
border-width: 2px;
}
.filterControl {
display: flex;
width: 30px;
}
/* User Filters - END */
They control what the buttons look like in the User Filters section (in red). Right now, there’s the Save button and all those created by the user next to it, but more will comem like the “All” button that will remove any currently active filter.
Just a word to let you know that the KTL has been greatly improved lately, and is getting near its first official release. The documentation is updated also, and the “basic” installation process streamlined down to copy/pasting two files.
Hi @NormandDefayette_CortexRD, thank you for offering this stuff. Chapeau, very impressive. I like the user filters, the bulk operations and the linked filters. Looking forward for more tutorial videos.
@NormandDefayette_CortexRD thank you so much! I’ve just finished reading your excellent documentation on github and watching your youtube tutorials (liked and subscribed, of course). I’m impressed.
I’m wondering if you have any plans to create a bulk record creation tool in the future.
I’m frequently making 10 - 20 child records one … by … one … by … one (in my case, by creating one and then duplicating it) . The bulk edit tool is going to be great for editing these, but it would be magical if it was possible to set the number of records needed and then let it loop itself through to create them all.
Thanks for taking the time to read all the documentation - but unfortunately, since it changes often so you’ll have to read it again! If you learn how to use the GitHub Desktop tool, you can see exactly what has changed in the documentation for each revision, instead of re-reading all over and risk missing something.
About your request, I’d like to implement that in a near future. I need more details on how you’d see the process flow and the user interfaces. I have some ideas, but we can exchange ideas and extract the “greatest hits”.
Folks, Normand’s utility KTL is a fantastic addition to your Knack Applications.
I recently added and configured KTL in an application used by our firm to manage Project Information.
KTL has solved quite few challenges I was having with Knack.
Hiding columns (not just empty columns as is the default in Knack)
Form persistence
Filter Linking
Saved User Filters and Published Public Filters
Bulk Edit and Bulk Delete
The list goes on.
Normand is responsive to bug reports and functionality requests and being an open source solution, it’s available for in-depth review by those with understanding of JS
The Keyword feature is truly in the spirit of the No/Low Code mission of tools like Knack.
Something I think would be extremely helpful for Normand is more users/adopters. A developers greatest ideas come from Users. As the User base grows, I think this Utility will really take off. And it’s pretty darn powerful and intuitive as it is…
Wow, thanks Erik for your great testimony. This tool has been around and made public since September 2021, and it never picked up, probably due to the intimidating amount of code involved - and I can understand that.
But people may be interested to know that the KTL is not just a cute toy. This code has been in use since 2019 in a very serious business environment. I’m talking about an industrial production plant called Morbern in Cornwall, Ontario. All the production stages are being tracked 24/7 in real time by a Knack application installed in over 30 touch screen devices across the plant. Needless to say that such a critical system must have both high availability and reliability. They also have their own Knack-based CRM app, among several others. And mostly… they are the guys who actually paid for the development of the KTL and understood my vision of making it open-source. A big thank you to them for agreeing sharing this beautiful toolkit.
And Erik - guys like you who have the guts to be among the firsts to try it out and take the time to report bugs and help improve it in many ways - are those who will kick this project into the stratosphere.
Knack application development will never be the same anymore with the KTL’s progressive acceptance - I’m certain about this!
Hi @NormandDefayette_CortexRD
We really want to use your ktl and have got the basic version running fine.
I’m struggling to get your developer mode working. Out of all your amazing features this is one that we would really like to test. This is the first Knack app that we have developed. We have a fairly good understanding of how Knack works and have a lot of custom JS code which we call from an online server.
I have tried to follow your setup in the readme file. We get as far as downloading your code and running the nodeJS server. Then we load our App up with the 5 lines of loader code. The server then says missing files and lists these
appname.js, ktl.js, ktl.css
We would really appreciate any help you can give us. We just feel like we are missing a step somewhere.
Thanks for your interest in the KTL. The Dev Mode is one of the most powerful feature in the KTL and by far the one I use the most. I spend 95% of my time in this mode, since I write and test a lot of code. I’m sure that once we’ve wrinkled out the problems you’ll envoy it too.
I will send you a private message to plan a debugging session at your convenience. I have too many questions to do it here. Also, can you take a minute to create an issue on GitHub and copy your text above please? I need others to see this, and what will be and solution.
Thank you so much for calling (super quick) and talking us through the setup. Really looking forward to using the Developer Mode, so that we have a staging app, and using Chrome Dev Tools for debugging.
Anyone trying to use this now we needed to copy the ktl.js and the ktl.css into this folder structure:
*c:\code\Lib\KTL*
You will also need to add a folder called KnackApps then add a folder renamed to the name of your app then add a file.js renamed to the name of your app:
\KnackApps\appname\appname.js
Then copy the content from KTL_KnackApp.js into appname.js
Then run the NodeJS_FileServer.js
Will let you know how we get on and any issues.
Thanks
Craig