πŸ“– 🚦 Publishing Controls

Well, it’s not a strange thing with content to first make it and publish it when everything is ready :wink: WordPress is big with it :wink: So is Shopify.

Wohh… This is amazing

Speaking from experience from my job, program changes and data changes are tricky. We have Dev, Test, and Prod environments. Databases are duplicated for each environment. When developing program changes that require changes to the database structure, we first change the Dev environment DB and develop in the dev environment. When going to user testing, both coding and DB changes have to happen in the test environment at the same time. Same with the production environment.

With Glide we do not have separate database environments. We only now have a sandboxed app design development environment. Only one database feeds both published and dev environments. If you start changing the database and remove columns that are used in the published production version, or start to change how computed columns work, then you start to affect the published app as well.

When making only design changes, then there shouldn’t be a problem. If you start to mess with the database without publishing the design changes at the same time, then I recommend creating new columns, develop against those new columns, then once you publish, go ahead and do some cleanup on any old columns no longer used.

As far as data content, that could easily be controlled with proper visibility and filtering to display new content on a certain date, or when a flag is set in the data.

There may be a bit of a transition process do complete a production publish, but always consider the database to be live for production and dev.

5 Likes

I love Glide a lot as you know, but it’s the only platform I work in where everything I do in the backend is immediately reflected in the front end. Where wathever I do is live. To me the concept of draft / publish in as well structure as content would make Glide even better than it is now.

Out of genuine curiosity, do some of those other platforms have as much access to the database compared to Glide, or do they have databases that are much more robust and flexible and automatically adapt to DB changes? Or do they have multiple DB environments? I’m only speaking from my own personal experience at my job, where almost everything we do is homegrown. We rely very little on third party platforms or services.

I also think about google sheet based apps. If you start to add/edit/delete columns in a google sheet, that data is synced to glide and if the published app is using some of those columns, then it will break. I don’t know how you could sandbox changes like that. Especially with interactive apps where users are changing data all of the time.

Do you find it a strange wish? I think it is a logical one, no matter how complex the backend of the platform is. I dont have a clue how complex my iPhone is either.
But I dont want Gliders to have a negative impression, i started with saying β€˜it would be nice to have’ :slight_smile: A nice extra to a platform I love!

1 Like

Not at all, but you’re also not developing iOS or modifying the database that it uses to run the os :wink: . I’m just trying to point out the current limitations and the reasons why I think it’s complicated. I completely understand the wish to have the option and hope it happens some day as well. But, at the same time I also understand the complexities of working with different program versions and different database versions and trying to get everything to talk to each other nicely…along with the issues of updating database layouts while still maintaining the integrity of the existing data so it works with multiple program versions that may or may not be expecting different types of data. Backwards compatibility between code and data is a delicate process that takes planning. I think it gets complicated either way for those who are not familiar with database design and have direct access to modify a database like we do in glide

Mind you, I am looking at this from a developers point of view. If the program expects one thing, and the database has something else then there are problems. I’m used to code flat out not compiling if the database does not match, or pointing the compiled code to a different database that has a different layout, which causes run time errors. Maybe it’s in the works for some day, but I think it would require database versioning with multiple versions and backups of one database into multiple versions. Basically a complete restructureing of how Glide currently handles data.

It’s at least a step in the right direction and hopefully there are at least some checks to prevent people from making some database changes that affect published production apps.

2 Likes

And I am looking at this from a (no-code) users view :wink:

2 Likes

I feel like I could find a bunch of user vs developer memes, but I’ll keep it to myself. :wink:

Yeah don’t start insulting me :wink:

1 Like

Hehe, I would never do that.

1 Like

Is there a minimum gap that should be there between 2 publishes? Meaning, I publish the App now and immediately after 2 mins I republish it, it is not getting republished. It is loading for a while. It is not saving it sometimes.

But, if I do after a long gap, it is working fine.

Are you sure it’s not being republished the second time? Sometimes the changes take a few minutes to push out to all devices. Whenever I make app changes, I usually force close the app once or twice and reopen it on my phone to force it to get the latest changes. If you don’t force close it, they will still get there eventually, but may take a few minutes.

1 Like

Thanks for the response. It is not about checking if it is pushed. It is not even getting published. It is loading continuously. The round loader inside PUBLISH keeps loading. It is not a big issue. I reload the page and I get it after few minutes. But it was just an observation.

1 Like

Ah, ok. Now I understand.

@Mark @Jason sometimes it takes so many time loading to turn on

image

I am having same issue. I want to ask, this auto publishing is only for changes in the design correct? what about the app is already set to run certain functions based on timer. for example a certain button had been programmed to turn on at certain time (but this function had been publsihed)…will the action still be activated without auto publishing on?

1 Like

Just want to confirm that whatever has been programmed, like turning on button at certain time is fully functional with auto-publisher turned-off.

I think that if that button has been synced to the real app in the last time you published it then it will be visible.

Glide does not have the ability to run functions based on timers, so I’m not sure what you are referring to. The publishing control is only for the design of the app, and not the data. The data is always live β€” for example if you update data in your Google Sheet, it goes live right away.

4 Likes