sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Who changed extensions.rb?

    Scheduled Pinned Locked Moved Developers' Forum
    22 Posts 11 Posters 2.1k Views 11 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      spring.freediver
      last edited by

      Yes, it appears to be an old version of extensions.rb, the copyright is 2005, and still refers to "@Last Software".

      As part of diagnosing the problem, I asked him to rename the extensions.rb in the Plugins directory. When he did this, our plugin loaded correctly, but he said that a plugin called "Instant Roof" crashed with a BugSplat. I have not installed "Instant Roof", so I don't know if it installs the modified extensions.rb

      As a workaround, I provided a new copy of our plugin loader which is not scrambled. This should make it work with the modified extensions.rb

      1 Reply Last reply Reply Quote 0
      • TIGT Offline
        TIG Moderator
        last edited by

        I do have Chuck's InstantRoof and it works fine with the newer version of ../Tools/extensions.rb. AND it didn't install any rogue versions of it either...

        I suspect that your user simply had an old copy of the @Last's extensions file that somehow got into Plugins, it should be discarded, as loading it at all will probably cause issues... Your user has an old file in a folder where it shouldn't be - just get him to rename it with a trailing .txt suffix so that it doesn't auto-load at all, and everything should then be fine - the script that supposedly wants the old version might fail... BUT InstantRoof is NOT that script...

        In passing it is somewhat pointless scrambling your short piece of 'loader' ruby as it has no intellectual property value anyway ??

        It only becomes at issue when the extension code is called from within scrambled code, which is wholly avoidable... perhaps InstantRoof has that issue when the old version loads first and the new version does too as they have different names after your renaming 'trick'.

        TIG

        1 Reply Last reply Reply Quote 0
        • kenK Offline
          ken
          last edited by

          Well, darn, I had the extensions.rb plugin also in my plugin folder. And yes it was an old version of extensions.rb, the copyright is 2005, and still refers to "@Last Software". I have another copy in the tools folder, Copyright 2005-2008, Google, Inc.

          Maybe that is the root of some of my problems I have had every so often.

          Thanks for the heads up.

          Ken

          Fight like your the third monkey on Noah's Ark gangway.

          1 Reply Last reply Reply Quote 0
          • jeff hammondJ Offline
            jeff hammond
            last edited by

            i suspect your user has come across a .zip for download that i've seen on the interweave and they actually installed it..

            the zip contains a 90MB plugins & a 35MB tools folder and they're filled with various plugins.. file mgmt is very poor-- for instance, there's freescale & fredoscale and on top of that, there are all the various updated files that need to be replace upon updating certain scripts.

            some of the files in the plugins folder are also in the tools folder etc..

            the tools folder contains the extensions.rb that's dated 2005-2008 while the plugins folder contains the extensions.rb file dated simply 2005.

            i'd love to post the link here so you all could have a laugh at this mess but unfortunately, the folders also contain a few premium plugins.

            [but yeah, i'm just listing one possibility and am in no way accusing your user of pirating.. (well, maybe in a small way i am doing just that but i'm just someone on the internet so my opinion doesn't matter πŸ˜„)]

            [edit] see.. ken had the double extensions file so maybe your guy didn't come across this zip i'm talking about afterall

            dotdotdot

            1 Reply Last reply Reply Quote 0
            • TIGT Offline
              TIG Moderator
              last edited by

              As a 'health-check' can I suggest that anyone who thinks they have a mess up looks in their ../Plugins folder for the following .rb files that ought to appear only in their ../Tools folder.
              If they are in the wrong folder move them [back] into ../Tools; if they are duplicated then remove the Plugins folder's version.
              Depending on your SUp version, and what optional tools you might have, you could have these .rb files...
              Which should be in ../Tools if you have them at all...
              The bold ones are the base-set for most setups and have been around for several versions...

              advancedcameratools
              date
              dynamiccomponents
              extensions
              filmandstage
              langhandler
              make_pano_pm
              rational
              sandboxtools
              shadowstringsfix
              sketchup
              SolarNorth
              webtextures
              Several of these have matching subfolders - e.g. 'Sandbox' within ../Tools too...
              If you are in any doubt ask.
              Don't delete any duplicated files you find but rather move them into a [new name='disabled'] subfolder so they don't auto-load - then you can always restore them when you've gone wrong πŸ˜’

              TIG

              1 Reply Last reply Reply Quote 0
              • S Offline
                spring.freediver
                last edited by

                TIG,

                Yes , I had actually intended for GeoSketchFreeLoader not to be scrambled. That is the reason it is so small. When the installer was made, it inadvertantly got scrambled. But it should have worked anyway, and does with the Google version of extensions.rb.

                Regarding InstantRoof, I was only reporting the symptom reported to me. I don't know why InstantRoof would crash when the modified extensions.rb was removed, unless something else was changed accidently.

                Jeff

                1 Reply Last reply Reply Quote 0
                • J Offline
                  Jim
                  last edited by

                  THe plugin SCF Power toolbar by CadFather is the one that may distribute extensions as well as sketchup.rb. Possibly his other toolbars do as as well.

                  Nice idea - bad implementation.

                  Hi

                  1 Reply Last reply Reply Quote 0
                  • TIGT Offline
                    TIG Moderator
                    last edited by

                    @jim said:

                    THe plugin SCF Power toolbar by CadFather is the one that may distribute extensions as well as sketchup.rb. Possibly his other toolbars do as as well.

                    Nice idea - bad implementation.

                    Has someone told him to stop ???

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      Jim
                      last edited by

                      @tig said:

                      Has someone told him to stop ???

                      I mentioned it here:

                      http://forums.sketchucation.com/viewtopic.php?f=323&t=27592&start=0

                      Hi

                      1 Reply Last reply Reply Quote 0
                      • Chris FullmerC Offline
                        Chris Fullmer
                        last edited by

                        There is a plugin out there that changes some base classes that has been known to crash many plugins:

                        sunposition.rb

                        If they have that in their plugins folder, instant roof will break, so will thea exporter, surface gen, and many others. If they have that script, they should burn it like the plague and never use it again.

                        It does not, however, mess with the extensions.rb file. I tend to think that they copied that from previous plugins folders, back when that file used to be put by default in the plugins folder in version 5 (or maybe it was 4). Anyhow, just have them delete it, they won't need it. And delete sunposition.rb as well, if they have that.

                        Chris

                        Lately you've been tan, suspicious for the winter.
                        All my Plugins I've written

                        1 Reply Last reply Reply Quote 0
                        • AdamBA Offline
                          AdamB
                          last edited by

                          Its incredibly annoying when people put out these crappy plugins like this.

                          I still have to check for that ****ing "Matchbox" plugin which totally screws the Sketchup 'class' system.

                          But you know, the headlong rush to these highly introspective/reflective languages which offer little in the way of "sealing" code is such a problem.

                          A Class definition once defined should be sealed and immutable. If you wish to specialize then derive from the super class and specialize-away, but being able to post something and walk away is pretty dangerous.

                          Can we hunt him down and have him shot? Thats reasonable isn't it? πŸ˜„

                          Adam

                          Developer of LightUp Click for website

                          1 Reply Last reply Reply Quote 0
                          • fredo6F Offline
                            fredo6
                            last edited by

                            I don't know if it is Sunposition tha removes or add the extension.rb, but, as said by Adam, it is for sure the source of conflicts because it overrides basic Ruby classes (and strangely for no special reason).

                            I came across this conflict between Sunposition and Curviloft.
                            I tried to contact the author, but still no answer

                            See that post, where I posted a modified version of sunposition.rb which is clean vis-avis Ruby and Sketchup

                            Fredo

                            1 Reply Last reply Reply Quote 0
                            • TIGT Offline
                              TIG Moderator
                              last edited by

                              I did something similar with someones 'VirtualWind' script that messed with progressbar... πŸ˜’

                              TIG

                              1 Reply Last reply Reply Quote 0
                              • thomthomT Offline
                                thomthom
                                last edited by

                                I also contacted the developer of Sunposition - twice - still no response... πŸ‘Ž πŸ‘Ž

                                Thomas Thomassen β€” SketchUp Monkey & Coding addict
                                List of my plugins and link to the CookieWare fund

                                1 Reply Last reply Reply Quote 0
                                • AdamBA Offline
                                  AdamB
                                  last edited by

                                  Hey, here's a thought.

                                  Given we can't enforce a 'developer quality threshold', there is always going to dodgy code out there.

                                  Can we use Ruby namespaces to sandbox each plugins view of the SketchUp classes? So if a plugin chooses to redefine true to be false and false to be SketchUp::Face etc. Well, it will just die in their plugin. Not mine. πŸ˜„

                                  So something like alias the Sketchup:: namespace to be unique for each plugin.

                                  How hard can it be? I'll leave the easy bit to others..

                                  have a good one.

                                  Developer of LightUp Click for website

                                  1 Reply Last reply Reply Quote 0
                                  • KrisidiousK Offline
                                    Krisidious
                                    last edited by

                                    you developers here on SCF could institute a rating system that told we layman if a plugin met certain standards. and that would give incentive to developers to meet that minimum standard if they wanted the SCF audience.

                                    By: Kristoff Rand
                                    Home DesignerUnique House Plans

                                    1 Reply Last reply Reply Quote 0
                                    • Chris FullmerC Offline
                                      Chris Fullmer
                                      last edited by

                                      Could we just re-write the sunposition plugin and send him an updated copy? It does not re-write that much. I started doing it yesterday, but in the end got in a little bit over my head. Anyone wanna give it a go?

                                      Chris

                                      Lately you've been tan, suspicious for the winter.
                                      All my Plugins I've written

                                      1 Reply Last reply Reply Quote 0
                                      • Dan RathbunD Offline
                                        Dan Rathbun
                                        last edited by

                                        @adamb said:

                                        A Class definition once defined should be sealed and immutable. If you wish to specialize then derive from the super class and specialize-away, ...

                                        The augmentation of Ruby objects at runtime is a very powerful (and one of my favorite,) features of the Ruby language. This is what is called a Dynamic Language.

                                        Without it, Ruby would be as mundane as Pascal, etc.

                                        I'm not here much anymore.

                                        1 Reply Last reply Reply Quote 0
                                        • Dan RathbunD Offline
                                          Dan Rathbun
                                          last edited by

                                          @adamb said:

                                          Can we use Ruby namespaces to sandbox each plugins view of the SketchUp classes?

                                          Sometimes this works.. many times not.

                                          The major problems are with the Sketchup::Drawingelement subclasses. All the API add entity methods (as well as the Dynamic Components extension,) are hardcoded to only accept exact class names (such as Sketchup::Face,) instead of accepting arg.kind_of?(Sketchup::Face)

                                          So cloning the toplevel Sketchup module into another namespace may not work.

                                          EDIT: But don't let my thots keep you from experimenting ... (I'd be happy to be proved wrong on this.)

                                          I'm not here much anymore.

                                          1 Reply Last reply Reply Quote 0
                                          • fredo6F Offline
                                            fredo6
                                            last edited by

                                            @chris fullmer said:

                                            Could we just re-write the sunposition plugin and send him an updated copy? It does not re-write that much. I started doing it yesterday, but in the end got in a little bit over my head. Anyone wanna give it a go?

                                            Chris

                                            Chris,

                                            I did it actually. See this post, which contains the modified version

                                            May be we should publish it in a place which is more accessible

                                            Fredo

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement