RBZ as allowed extension
-
@jim said:
An installer that works the same as the Install button only for .zip files...
> UI.menu("Plugins").add_item("Install .zip") { > file = UI.openpanel("Install .zip", "", "*.zip") > Sketchup.install_from_archive(file) if file > } >
careful with that.. macs are different than pc when it comes to zip.. an example i used recently..
say i want to send you 100 .jpg images..
i zip them up.. you want to unzip them on your desktop..
on windows, unzipping on the desktop will result in 100 .jpgs on your desktop
on mac, unzipping on the desktop will result in 1 folder which contains the 100.jpgsthis extra top level folder on mac (which is a good thing.. i think) has led to most of the ruby install problems for mac users as the writer's directions never noted this difference.. it was always "place the folder named myplug in the plugins folder along with mp.rb" well, their zip was also named myplug.zip so when a mac user unzips it, the first thing they see is a folder named myplug but it's not the right folder to move into the plugins..
google has finally made a way to eliminate that confusion.
[but hey, i'm weird so i'll test your code on mac in a little bit to see what happens ]
-
@unknownuser said:
careful with that.. macs are different than pc when it comes to zip.. an example i used recently..
There is no difference between a .rbz and a .zip. The .rbz is simply a renamed .zip. The .rbz just adds to the confusion, IMO.
However, it is SketchUp that is handling the unzipping, not the operating system. It is still up to the plugin author to create the .zip/.rbz the right way so it unzips correctly. Most of the .zip plugins are all ready to go.
http://sketchupapi.blogspot.com/2011/12/rbzs-in-sketchup-8m2-distribute-your.html
-
@jim said:
@unknownuser said:
careful with that.. macs are different than pc when it comes to zip.. an example i used recently..
There is no difference between a .rbz and a .zip. The .rbz is simply a renamed .zip. The .rbz just adds to the confusion, IMO.
However, it is SketchUp that is handling the unzipping, not the operating system. It is still up to the plugin author to create the .zip/.rbz the right way so it unzips correctly. Most of the .zip plugins are all ready to go.
http://sketchupapi.blogspot.com/2011/12/rbzs-in-sketchup-8m2-distribute-your.html
oh.. as long as sketchup is doing the unzipping then it should be ok.. i'm sure on SUosx, sketchup is ignoring the top level folder -or- i suppose that top level folder is actually being added by osx during the unzipping process..
but i can't test your code you got something i can copy/paste into the console to try ?
-
Try this one-liner:
Sketchup.install_from_archive(UI.openpanel("Install","","*.zip"))
By the way, Alex Schreyer mentioned on twitter that in Windows you can past a URL to a .zip or .rbz in the file browser opened by the Install Extensions button, and have the plugin install over the Internet.
-
actually, i just backwards tested it and i think your code will be a-ok on mac.
i renamed my plugins folder and created a new empty one then zipped up a bunch of random crap laying around the desktop..
changed it to .rbz then installed it via su extensions.. the empty plugin folder was then populated with all that stuff without the standard osx additional folder..
-
@jim said:
By the way, Alex Schreyer mentioned on twitter that in Windows you can past a URL to a .zip or .rbz in the file browser opened by the Install Extensions button, and have the plugin install over the Internet.
neat.. i'm posting this file here so i can test it on mac..
-
I don't believe SketchUp does any sort of validation check of the .zip/.rbz file - if the author messes up the file layout in the archive, the files will be messed up when extracted and the plugin won't work, and may cause load errors.
-
@unknownuser said:
neat.. i'm posting this file here so i can test it on mac..
Won't work because you need to be logged in to download files... already tried.
-
works here, using your code Jim
-
@driven said:
works here, using your code Jim
[attachment=0:2jb6paan]<!-- ia0 -->of_course.png<!-- ia0 -->[/attachment:2jb6paan]
-
@unknownuser said:
@jim said:
By the way, Alex Schreyer mentioned on twitter that in Windows you can past a URL to a .zip or .rbz in the file browser opened by the Install Extensions button, and have the plugin install over the Internet.
neat.. i'm posting this file here so i can test it on mac..
[attachment=0:1sd00pi3]<!-- ia0 -->url_install_test.rbz<!-- ia0 -->[/attachment:1sd00pi3]
nah.. not happening
[oh.. i see this from you now: "Won't work because you need to be logged in to download files... already tried. "]
@jim said:
I don't believe SketchUp does any sort of validation check of the .zip/.rbz file - if the author messes up the file layout in the archive, the files will be messed up when extracted and the plugin won't work, and may cause load errors.
well, it's not like the author was doing anything wrong.. for instance, say i want to download didier's projections plugin..
on windows, it will be:
projection_v2.zip β Projection β projection_extensions.rb β Projection.pdf β read_me.txt
whereas, on mac, you'll have
projection_v2.zip β projection_v2 β β Projection β β projection_extensions.rb β β Projection.pdf β β read_me.txt
you see.. there's an extra folder in there.. and i can't just "unzip projection_v2.zip in the plugins folder"(as is often stated in ruby instal instructions) and expect it to work.. it won't work.
and sometimes, to make matters more confusing, the .zip and the folder that supposed to go in the plugins folder share the same name so we end up with 2 folders of identical names and are being told to put it in the plugins folder (but there is no 'it'.. there are two of them)you see the confusion? and it's not as if the writer's have done anything wrong with their packaging/delivery.
-
You should probably remove the _MACOSX folder and any .DS_Store files. They must be hidden files on a Mac by default?
-
@jim said:
You should probably remove the _MACOSX folder and any .DS_Store files. They must be hidden files on a Mac by default?
yeah, they're in all our folders.. they tell the computer how to arrange the icons or what sort order to put the files in etc.. we (mac users) don't see them unless we turn them on but i always hear windows people complaining when they get zips from macs..
(but i can send driven a folder which will open with all the files arranged in a certain way.. this can come in real handy when working on projects and whatnot between different people/computers.. so they do have a benefit of being included with our folders)there are some 3rd party compression apps and terminal and/or automator commands that people use prior to sending to windows but fwiw, those files are harmless to you.
-
@jim said:
You should probably remove the _MACOSX folder and any .DS_Store files. They must be hidden files on a Mac by default?
I'm not seeing the _MACOSX folder and the .Ds_Store can't be easily avoided, unless you remove them from all, system wide.
are you seeing _MACOSX folder if you change it to zip and open.
Google generated a _MACOSX folder in Plugins on a test I did last night...
john
-
it has the .ds store but not the other, I believe thats SU...
I changed .rbz to .zip to look inside the download from here. -
@driven said:
I'm not seeing the _MACOSX folder and the .Ds_Store can't be easily avoided, unless you remove them from all, system wide.
here's a little freebie that will keep them out of your zips..
http://www.sopht.jp/cleanarchiver/there are some more robust ones as well but i just use archiveutility.app that ships with osx.. i rarely send zips to windows users anyway..
-
cheers Jeff,
I've actually got YemuZip which does the PC friendly bit, but right clicking is easier.
Jim, can you check if that _Mac folder is still generated?
-
proper test complements of Jim... thanks in advance Jim
re-name or disable 'homer' if already in your Plugins, and try the loader.
REMOVED ATTACHMENT... there's another below
the Extension Button works here and so does Jim's first script.
the difference is SU opens the toolbar button and Jim's you need to enable it...
-
I checked - no extraneous files/folders.
-
Until .rbz is associated with SketchUp I see no point in using the .rbz format over .zip. The Install Extension button and the API methods accepts either format, so why not keep distributing in .zip?
Advertisement