Modify plugin code in GitHub

Hello folks,
I’ve successfully synced my plugin to GitHub. As bubble says not to modify the unique ID’s of the field created here.

  1. In my repository code, I need to create fields dynamically through some kind of automation. Can I create those unique ID’s myself like using UUID ?.
  2. Will that create any problem when syncing changes back and forth ?

I have done (1) in the past - created and reordered properties with local scripts - and didn’t experience any issues. I just used a similar UID syntax.

3 Likes

You might want to book some time with @zelus_pudding ; he’s been hacking at this stuff for a while and might be able to help.

2 Likes

As Rico alluded to, I’ve built a VS Code extension to help with general plugin development and was faced with this issue. What you want to do is possible but you need to, as I’m sure you can imagine, follow Bubble’s internal algorithm for assigning UUIDs. It’s kinda funky, however, because the full UUID is not replicatable easily. The funky part is that, turns out, it doesn’t matter. There’s two parts to a UUID - the first half is predictable and auto-generateable. The second half isn’t (I mean, it is but chats with Bubble engineering suggested we could not extract that logic from their system in any practical way).

But the second half of these UUIDs (the part after the dash -) is actually only something that get’s tacked on when you export a Bubble plugin to github. For example, if you removed the second half of these, and then resynced the plugin back to Bubble (from github) the plugin would still work.

I know that’s all a bit vague - truth is I don’t remember the algo off the top of my head for generating the first part - but hopefully that gets you off to a good start. Could also work out a consult to dig into that further if you like.

1 Like

thanks for the help guys @exception-rambler @rico.trevisan .

@zelus_pudding
Really got some insights about the algo now. Will post here if there is any difficulties while implementing.

2 Likes