How does pushing updates for an extension through the Extension Warehouse work?

I am looking into distributing my extension through the Extension Warehouse and have a few questions about how publishing updates through the warehouse are handled before I go through the publishing process.

I’ve recently noticed the update prompt that pops up when SketchUp first starts to update any outdated extensions. This is a huge incentive for me to get my extension in the warehouse but I can’t find any documentation on how to push these updates to your extension.

  1. Is there an API endpoint? (most ideal) Do I have to login to my account and upload a new .RBZ file every time? (not ideal)

  2. How long does the approval process, if any, take? When can I typically expect my update to show up for those who have it installed and need to update?

  3. Is there anything I should know about updating before going through with publishing my extension? Maybe someone with experience in this area can point things out.

Thanks all.

Firstly, wrong forum category. The Extension Warehouse category would be better for this.
You should also check the Developers category. (As the OP you can use the pencil icon to recategorize the thread. It’s a dropdown list when in editmode.)

The SketchUp Developer Center is the start page for online developer help,
that has this link which should be considered “required reading” for EW publishers:

UPDATED (2020-10-11) - Guidelines are back online !

Not sure what this means.

Of course! How else is the server going to get the RBZ package so it can be distributed. IF you didn’t have to login, then anyone could replace your extension with theirs (possibly malicious.)

Recent complaints can be found here in the forums that the “review process” is taking far too long. It can be shown through these complaints that it has been taking a public forum complaint in order to get action on many extension reviews.

@TIG posted something recently on boiling down all the technobabble into the bare bones “need to know” facts. I’ll see if I can find that post and add the link here.

EDIT: Okay found it.

No API for the Extension Warehouse at this moment. Were you thinking of an REST endpoint to upload new versions?
(And yes, you would have to have an account. Sign up to be a developer here: http://developer.sketchup.com/en)

Typically a couple of working days. At times of high volumes it might take longer. In the future we hope to be able to provide a way for you to control exactly when it’s published (once reviewed and approved).

We have some techincal requirements you want to review: https://extensions.sketchup.com/en/developer_center/ew_developer

Key points are:

  • No global methods or variables.
  • Confine all your extension code under a single root namespace to avoid conflicting with other extensions.
  • There is a file naming convention we enforce for the RBZ file (See the Packaging section of the previous link)
  • Extensions should play nice with the Undo stack. A user action should be undoable in a single undo operation. Model modifications performed in observers needs to be made transparent to the operation they react to. Opening a model or dialog should not produce an undo step - wait for the user to interact with your extension.

Awesome, just what I needed to know. Thank you for your reply.

Yes, I was imagining some type of endpoint to upload the .RBZ file to at the least. Really, GitHub integration would be wonderful.

Will keep all of these things in mind when publishing my extension. Again, thank you.

1 Like

If you have standalone Ruby installed on your machine, you could try out our custom rubocop-sketchup gem. It’s a work in progress, but might still be useful in this early stage: https://github.com/SketchUp/rubocop-sketchup

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.