It uses your Knack's application structure, maps all relevant connections, and displays them in a simple way which allows you to navigate between the different connections.
To use this tool, you are required to sign up with a user/password. If you do not already have an account for this app, press the Sign Up button at the bottom of the home screen and create a free account for yourself.
Ah, that's very clever (and a good find). Thank you for sharing that.
I certainly don't want to use it to try to make changes to the app. But I really feel uncomfortable with all the changes that my colleagues and I make being hidden in a maze of point+click things.
So the ability to access a full analysis of the app, and record it in Git or some other source-code-control system, is really desirable for me. This certainly gets me a huge amount closer to that goal!
Even better if Knack made a 'clean' version of this accessible through the API, separating out the 'current user' aspect.
Basically, I'm using the same data structure that the Builder itself is using to create its screens. You can view this structure by going through the Knack javascript object while running your application. However, I would encourage you not to try and use this data to make changes to the application (assuming it was possible), unless Knack opens this up formally. If you really need to do this, I suggest you track the Knack operations that are executed by the builder when you submit a change, like a field creation, or an update to a view, though I would assume these actions will not run outside the context of your builder's session.
Thank you, this is excellent! Can you give some information about how it works? From what I can see of the API, it doesn't give access to much other than objects and records - I couldn't even see how to programatically access the display name of a field, and I don't see any way to access get data about scenes and views.
As you know from this request, I'm very keen to be able to access this sort of data and more - can you give more information about how you're getting it?
@jens I added the origin object's name to fields, views and tasks, where needed. So for example, you should see the scene name next to each and every view. You should also see the record name, for fields when viewed from a different record.
- Added a tooltip to the links to better indicate their meaning. The left link points to references to an object within the App. The right link points to the Builder for quick access to an object.
- On the Search Fields selector, added a reference to the origin of a field. This simplifies identifying multiple fields with the same name, which reside in different records.
In addition, I'm working on a graphical view (Entity Relation Diagram) of this application. Stay tuned :-)
I'm not aware of any security issues, or privacy issues, with the tool. The submitted application ID is only used for retrieving the application's structure, and nothing but that. It can not be used in any way to view or modify your application's data. To the best of my knowledge, an ID can not be changed, and can be repeatedly used to view a current structure of an application.
The tool was built with good faith, to help Knack developers ease their work. I will leave it up to you to decide how you wish to benefit from this work.
Please let me know if there is anything else I can help with :-)
The basic idea behind this tool was to show simple correlation between objects in Knack, and where they are used. For that reason, only immediate relations are presented, like a field to a task, or a view to a scene, but not a field to a scene, or a task to the application.
I will look for a simple way to present these additional associations without adding too much chaos into the tool.
I really appreciate the comments and input on this one, excellent discussion :-)
Sorry about this... :-) but i like this one a lot!
What about when clicking an object, also displaying the scenes in the used_by column
What about on the first page, also listing the tasks
The beauty with this tool is that if you make a change to an object, you should be able to find all the places this object is used. And then go to these places with the tool!