Passing data between Knack apps without 3rd party software

I am creating a large system for the medical community using the HIPAA compliant version of Knack. Ideally I’d like to break it into modules (separate apps) that feed common data like facility, department, employees etc. between individual apps. This is mostly to make maintenance and development easier (I currently have approximately 75 data objects and more to add). It’s getting a bit unwieldy. I also wonder where the upper limit of responsiveness will be, as it is gets more and more complex. Currently all functionality lives in the same app, even though it makes sense to split them.

Because the app must be HIPAA compliant, I am not able to use Integromat nor Zapier to pass data in or out of my apps because they are not HIPAA compliant. Is anyone using an API to pass data between their Knack apps? If so, do you have any lessons learned that I might take advantage of? If not, do you have suggestions on for sharing base data objects instead of replicating them in separate apps?

This may be possible to do but would probably be messy as there would need to be duplicates of data in various databases.

I have one client system which now has 305 objects and it performs reasonably well so you needn’t be too concerned.

My recommendation would be to keep related data in the same app rather than splitting.
I have several apps with 50-70 objects and one with over 150 objects, 600 users and 350,000 records.
There isn’t a specified or published upper limit to objects.
For sure, the structure can get complex but keeping it in one location ensures data integrity.

I understand what Julian and Carl are saying, it makes sense to keep all the data in the same location rather than pass it back and forth between apps via API. However, I also understand what Kathy is saying. Having a single app perform different functions for different departments but having to share all the same data can make the app unwieldy, especially for a citizen developer like myself. I wonder if this could make its way into becoming a feature request. I think the issue could be solved if there was a better way to manage the objects. If you could group objects together into folders or sections. Then you could have a section with shared data and different sections for each app function or department. Does that make sense? Having all the objects in a list with no real organizational structure isn’t a really good way to build larger apps.

2 Likes

I completely agree with you @John3 - my app with 305 objects is quite difficult to navigate!

Thank you all for your thoughtful feedback. It’s good to know that Knack is up to the challenge of so many objects. I will just stick with the one app platform and deal with the complexity.

Do any of you have any best practices around how to organize (for maintainability) that many objects. I’ve start putting a prefix on some of the names to keep them straight but that’s the only thing I could think of.

I definitely think this should be an enhancement request. It seems there are multiple use cases out there which would benefit by some internal organization built in. I’ll definitely add a request for that or look to see if it’s already out there.

1 Like

I try to organise them in some way to reflect the way they are linked but it doesn’t always end up with what you want - the same would go for folders of course. I have seen one person who puts an unnecessary blank object in as a ‘header’ - they don’t add any fields to it and make the name stand out in some way.

The letter seems ridiculous to me but it’s almost like having folders.

I sometimes use Windows emojis, press Windows and ; and you’ll get the emoji pallet. Tend to do this more when building out apps so it’s easier to connect to linked pages and also when selecting a page to move views to.

Prefixing with a emoji gives a very quick and clear tag :house: :blue_car: :no_entry: :floppy_disk: :open_file_folder: :warning: :frowning_man:

Like @JulianKirkness , I come from a Microsoft Access background where all your tables, queries, forms and reports are in the same list with no folder options. There are some filtering options but I just made sure my naming conventions were suitably descriptive.

In Knack I make sure my login page names match the page name so I can easily navigate using CTRL&F to find in the browser.