Way to copy Custom Action to other components?

I’m sure it sounds easy on paper to have the ability to copy something, but as a programmer myself, I can imagine the technical underpinnings of such a feature. It’s not like copying text from one place to another. I would have to imagine that components, actions, and tabs all have very deep underlying connections to different parts of the app. On the surface, yeah, you could probably copy something, but it also has to work when you copy it, and every one of those tentacle like connections to everything else has to work as one would expect it to.

Copying a tab might be reasonable, so long as it refers to the same sheet/table, since every component within that tab is dependent on the sheet it’s attached to. Then on top of that, every single component, action, etc. within that tab would probably need to be assigned new internal id’s so they can become independent objects that can be modified independently from the tab they were copied from.

Copying a component within a tab is already possible and pretty straight forward because other than creating a new object id, all the settings can remain the same because they are part of the same sheet and same columns. I would have to imagine that the ability to copy a component from one tab to another could potentially mean trying to copy a component to a tab with a different underlying sheet. That would most certainly mean that the component that’s copied is fundamentally broken, because the new tab/sheet would not have the same sheet id or the same column id for those components to attach to, so you could have a component with potentially the same design, but with none of the correct column values selected. But that probably depends on a variety of circumstances…which type of component is being copied…is it able to stand alone, or is it dependent on the existing screen’s details?

Actions would probably suffer the same complexities. Currently, if you duplicate a component with an action, the action is copied with it, but at the same time, it’s also attached to the same sheet. If you were able to reuse actions in other tabs, then you run the same risk as components, where they could become broke, because the underlying data doesn’t match. You would still have to go through everything to make sure it’s set up correctly and linked to the correct columns. It sounds like glide is working on something for actions to allow for saving and reuse, so I’m curious how it will work between different tabs or sheets, if that’s allowed.

I’m sure a lot of it is possible (nothing is ever impossible as far as I’m concerned), but from a technical standpoint, this would probably take a lot of fore thought and planning to work out how something like this should work, not only now, but also when glide scales with new features in the future. I would love some form of copy functionality as well, but as a programmer, I can understand the technical aspects of what would be involved to offer such a feature and the hundreds of scenarios that have to be accounted for programmatically without causing more confusion and complaints in the end. I feel there is way more to it than simply copying something from Point A to Point B.

  • Just like moving to a new address. The move is easy, but it’s all the forms to fill, address updates to service providers, address updates to personal contacts. Getting a new ID. Does the car fit in the new garage. I think you get the idea. Easy on the surface, but a lot of work in the back end…

I think if we waited for glide to have every feature that every user thought was the most important thing to them, then we would still be waiting for version 1 of glide and they would have ran out of funding to be in business. Instead, they are growing organically from the ground up with core functionality and they are adding features that they feel are the most financially conducive to their business model at the moment.

This particular feature has never stopped me from accomplishing any goal. I’m more concerned about some of the core functionality that I cannot work around in glide and I’d love to see more focus on stuff like that. Just like any of the apps I have developed…they are very simple and not feature rich at the beginning, but as the design layout, the data layout and the core functionality is finalized and settles down, only then do I move on to the bonus features that make it easier to use. I always start with the absolutely necessary core functionality to make an app usable before moving on to the niceties.

If you’ve been with Glide long enough, you’ll realize that they are still young and they kick out new feature like no other. For a while it would be almost weekly that some new feature would appear. It’s been a little while now, but they are working on a huge rewrite and redesign of the builder. When I started using glide, there was no data editor, absolutely every data manipulation and format, and every relation had to be created in a google sheet, I think the ability to add or edit data was new, the components list was very limited.

Personally I still feel there is some core functionality missing that actually is preventing me from doing certain things, but I’m confident it will get there eventually. While duplicating tabs, components, or actions currently can be tedious, it doesn’t stop me from getting the job done. A lot of times it gives me a chance to reevaluate design and processes and in the scope of the entire build process, is a very small portion of my time.

If you want to explore out of the box thinking, try to build a working calculator with Glide. I’ve spent hours upon hours between testing and trying to work out some IF Then logic to prevent users from entering bad info. I get about 98% there, then I find a loophole and when I try to fix that, it breaks the rest of the IF Then logic. I’ve rebuilt the logic over and over. More robust IF Then logic would have made this a simple 10 minute IF statement, but I’ll probably end up having to break it into 10 to 15 IF Then columns to handle the logic that ultimately determines if an action should even run. Then the custom action is a whole other mess of IF Then logic. Now that’s core functionality that I feel needs a lot of improvement. I’ll probably figure out my problem eventually, but so far I’ve hit hard roadblocks that are preventing me from moving forward. That’s the stuff I personally would like to see prioritized. I’ll spend the few minutes to an hour duplicating a tab, component, or action, but what bothers me is the hours I’ve spent trying to design and build logic flows to work around limitations that prevent me from doing trivial logic that I could achieve in a matter of minutes with actual code.

Here’s the link to the thread regarding the calculator. It’s evolved over the past couple of weeks and it still has some bugs that I hope I can have worked out by the end of the month, but this has probably been one of the most technically challenging projects I’ve ever worked on within Glide.

4 Likes