the reviewer reported this
Please register only SketchupExtension instance per extension package.
Does anyone know what this means?
You are best discussing this direct with the reviewers.
However, a valid RBZ archive [which is actually a re-suffixed ZIP] must only contain a loader RB. named - letâs say âxxxxx.rbâ - and a single folder of the same name - âxxxxxâ - usually containing its various support files and subfolders as might be needed.
So any RBZ that does not have that minimum content, or which contains more files or folders will fail the initial vetting process !
Did it say:
OR:
Please register only one SketchupExtension instance per extension package.
IF the latter, then there should be only one call to
Sketchup.register_extension()
within the extension registration script (sometimes also called the âloader scriptâ,) that goes in the main âPluginsâ folder.
It said the first but you are probably onto the right track with your advice on the second.
The reviewer report email was a no reply email. Is there anyway I can contact the reviewer? Also, my extension uses one extension to build another. Both must be loaded for the later extension to work. Iâm wondering is there a standard form of loader scripts for that situation? The developer part of the Sketchup site only shows a script for the single extension situation.
Thank you TIG and thank you Dan for your help. As always both knowledgeable and clear.
This stage is likely done by an automatic checking algorithm.
Weâve asked, how to contact a review person, but not gotten an answer to this question, just âcrickets chirpingâ.
I do not think they will allow this kind of dynamic programming. It is obvious that the automatic check is not letting it through.
There cannot be a standard for doing something non-standard.
FYI (for any reader,) the standard form is given in the API docs, and (more importantly) the Extension Warehouse standard:
If you can explain what (generally) you want to do, perhaps we can help find a workaround.
Why does loading an extension (1) prior to loading the extension (2) is non standard ? Some extensions have prerequisite and needs to load framework/ressources from separate exension to work like Fredo tools. Or is it something different here ?
The reviewer is completely anonymous and the review process doesnât involve any way to contact them or send a reply to their feedback. Iâve had much problems with this, to the point where Iâve wondered if itâs worth submitting extensions to extension warehouse.
When using libraries thereâs still just one extension (object) per extension (rbz archive).
Itâs simple enough to have one extension created in your RB loader.
That can specify a ârunnerâ script within the loaderâs extension set up - this will be in your subfolder, that in turn can load [or require] as many other scripts as you wish - from within the subfolder, or even elsewhere if desired.
When your extension is disabled nothing gets loaded other than the loader RB itself.
When your extension is enabled then everything gets loaded etc.
TIG, Dan, tiliarou, eneroth3,
thank you for your extremely helpful contributions. I think TIGâs and Danâs statement that there can be only one call to Sketchup.register_extension() is the answer which most likely is correct. I will try to rearrange things to suit that way of loading. Funnily enough the extensions work fine on my computer just the way they are with two calls to Sketchup.register_extension() in the loader file. But if the reviewer doesnât like it then Iâll just change it and see how it goes. Iâll come back and let you all know!
All the best everyone.
You can do many things in a set of scripts that might not be acceptable to the EWH reviewâŚ
Some of them might be minor infringements of good practice, some might be heinous crimes against good coding - but they might all still work for you without dire consequencesâŚ
But if you intend to release your wares onto the unsuspecting public you need to have a little more âcareââŚ
This CAN be done. But you simply use Rubyâs require
call:
# within extension one code:
begin
require "extension_two.rb"
rescue
# handle case where the other extension is not yet installed
end
⌠later on in âextension oneâ:
if defined?(Author::ExtensionTwo)
LibLoaded = true
LIB = Author::ExtensionTwo
else
LibLoaded = false
LIB = nil
end
⌠or mixin a library module:
if defined?(Author::ExtensionTwo)
LibLoaded = true
include Author::ExtensionTwo::Library
else
LibLoaded = false
end
This topic was automatically closed after 91 days. New replies are no longer allowed.