[Plugin] !AdditionalPluginFolders - v5.4a - 27 Sep 20
-
**%(#008000)[# Permission to use this software for any purpose and without fee is hereby granted
Distribution of this software for any purpose is subject to:
- the expressed, written consent of the author
- the inclusion of the present copyright notice in all copies.]**
Please UPGRADE to this latest version 5.4 if you run OSX Catalina. If you run some of my plugins, please make also sure that you install the latest versions.
!AdditionalPluginFolders.rb is a small standalone script providing the capability to define one or several additional user-defined directories to load plugins in Sketchup.
This can be useful in some situations, such as:
- Restricted access to System folder (C:\program files...) without administrator rights
- Sharing plugins across different versions of Sketchup
- Sharing plugins amongst users on a network
The plugin adds a menu in Sketchup Windows > Additional Folders for Plugins. This command pops up a dialog box where you can enter the path of an additional directory where Sketchup should load the plugin from, in addition to the default directories used by Sketchup.
The specification of additional directories is stored across SU Sessions. So you will do it once for all**IMPORTANT:
-
Plugins will be loaded first from the additional directory or directories and then from the SU standard plugin folders(/Plugins and /Tools). So you don’t need that all plugins reside in the additional directories.
-
Some plugins do NOT work when loaded from a directory which is not the standard SU plugins directory. However, most new plugins should normally be OK. You can leave these plugins in the Sketchup…/Plugins folder, and they will be loaded.
-
!AdditionalPluginFolders.rb is totally independent from LibFredo6. You don’t need to have LibFredo6 installed and it applies to any plugin.
-
!AdditionalPluginFolders.rb does not make any particular assumption on the plugins structure or installation. Just make sure that you have the same footprint in the additional directory as you would have in the standard SU plugins folder.
-
!AdditionalPluginFolders.rb allows defining several additional directories (paths can be entered in separate fields or must be separated by a semicolumn if entered in the same field) but you should try to limit this number for performance reasons.
-
It is indeed advised that plugins resides either in the additional directory or in the standard Plugins folder of Sketchup, but not in both.**
No user manual (see section Quick Startbelow)
- SU Version: SU6 and above - including SU2015
- Language: English and French
- Menus: by default, it is installed in Windows > Additional Folders for Plugins
- Icon toolbar: No icon provided
- The plugin is free, for private and commercial usage.
Download and drop the attached !AdditionalPluginFolders.rb file into the standard SU Plugins directory (it MUSTbe put in the SU Plugins directory)
The standard SU Plugins root directories are:
Windows SU8: C:\Program Files\Google\Google SketchUp 8\Plugins
Windows SU13: C:\Program Files\SketchUp\SketchUp 2013/Plugins
Windows SU14: C:\Users<username>\AppData\Roaming\SketchUp\SketchUp 2014\SketchUp\Plugins
Windows SU15: C:\Users<username>\AppData\Roaming\SketchUp\SketchUp 2015\SketchUp\PluginsMac SU8: Macintosh HD/Library/Application Support/Google SketchUp 8/SketchUp/Plugins
Mac SU13: ~/Library/Application Support/SketchUp 2013/SketchUp/Plugins
Mac SU14: ~/Library/Application Support/SketchUp 2014/SketchUp/Plugins
Mac SU15: ~/Library/Application Support/SketchUp 2015/SketchUp/PluginsOnce you have installed, it is a good idea to delete the old 000_AdditionalPluginFolders.rb file if you had installed it.
If you have LibFredo6 installed, you can do it via the Purge Obsolete File utility (menu Windows>LibFredo6 Settings...> Purge Obsolete Files).
Recommended installation method is to Autoinstall with the SCF Plugin Store.
Otherwise, here are the files for manual installation for SU6, SU7 users
MUST be dropped in the native Sketchup Plugins directory, nowhere else
to install via the Sketchup Extension Manager (SU8M2 and SU13) in the native SU Directory
to Unzip in the Sketchup Plugin Directory, nowhere elseIMPORTANT: this plugin does NOT require to install LibFredo6. However, if you have LibFredo6 installed, !AdditionalPluginFolders will log the status of the plugins loaded, which can be seen in the Trace viewer of LibFredo6.
No video
To Set or Unset Additional Directories
- Select menu Windows > Additional Folders for Plugins
- A dialog box appears:
- Type the full path of the directories. Both / and \ are accepted, on Windows or Mac
Note: in SU2015 and above, you can click on the button on the right (...) to pick the directory via a dialog box. - A summary will be shown when you validate the dialog box
- To remove additional directories, just make the fields empty
- You will need to close and start Sketchup again to use the additional directories
Notes:
- You can enter several directories by typing their path separated by a semi-colon (;). When the dialog box is re-opened, each directory will however appear in their own field, with one extra field empty.
- If you prepend a ? before the path of a directory (like in the image above), then you will be asked for confirmation for loading it when Sketchup starts up
- If you prepend a ! before the path of a directory, then the directory will be ignored when Sketchup starts up
- The validity and the existence of the directories are checked when you enter the path in the dialog box. You will get a message in case of problem.
- The existence of the directories is also checked when starting Sketchup
- If a Directory is specified for confirmation at SU start up, you will see a dialog box appearing
- When Sketchup starts up, the plugin catches all errors related to the load of plugins in the specified directories and signal them. This avoids to interrupt the load process and create a total mess in the toolbars (the script does also catch the errors for the standard SU Plugin directory!)
VERY IMPORTANT:
-
when you are prompted by a dialog box while Sketchup is starting up, there is a delay between the pressing on a button and the dismissal of the dialog box. Do not bother, the process continues and the plugins will be loaded.
-
Be aware that when you disable a directory containing plugins with toolbars and then reenable it later on, you will get a Toolbar reshuffling (also called toolbar hell). In SU8, the toolbars may appear undocked.
!AdditionalPluginFolders.rb - v5.0a - 13 Nov 15: Maintenance release
Here is the Start post for version 4.5b!AdditionalPluginFolders.rb - v4.5b - 23 Jun 15: Small bug fixing
Here is the Start post for version 4.5b!AdditionalPluginFolders.rb - v4.5a - 30 Dec 14: Small Update fixing a problem for some types of non-standard usernames
Here is the Start post for version 4.5a!AdditionalPluginFolders.rb - v4.4a - 06 Nov 14: Update implementing a dialog driven selection of directory, available only in SU2015 and above
Here is the Start post for version 4.4a!AdditionalPluginFolders.rb - v4.3a - 19 Oct 14: Important update necessary for SU14 if your username contains non-ascii characters
Here is the Start post for version 4.3a!AdditionalPluginFolders.rb - v4.2a - 23 Oct 13: Important update necessary for loading LibFredo6 5.2 and higher and for future Sketchup compatibility
!AdditionalPluginFolders.rb - v4.1a - 01 Sep 13: Change of name for the plugin. Still an important update necessary for loading LibFredo6 5.2
000_AdditionalPluginFolders.rb - v4.0a - 30 Aug 13: important update necessary for LibFredo6 5.2
000_AdditionalPluginFolders.rb - v3.2a - 29 Jan 13: small update giving more detailed information when errors are found (exact line in Ruby code)
000_AdditionalPluginFolders.rb - v3.1a - 29 Jan 13: Important fix on an issue related to loading RBS files.
000_AdditionalPluginFolders.rb -v3.0a - 23 Aug 11: Major enhancements
- 000AdditionalPluginFolders loads scripts also in the SU standard Plugin Directory, with protection against load errors
- New dialog box for specifications of additional directories (based on Web Dialog box). This was necessary because on Mac, the dialog box of v2.0 was too small.
000_AdditionalPluginFolders.rb - v2.0a - 11 Aug 11: Some enhancements and a change of name of the plugin
- More explicit capability for specifying several directories
- Protection against errors when loading plugins. This does not interrupt the whole load process and the errors are signaled
- Possibility to specify a confirmation for loading a directory when Sketchup starts up
000RedirectPlugins.rb - v1.1a - 30 Jul 11: Initial public release
-
Thank you Fredo this is amazing...
couldn't you a have an input box when sketchup starts so you could include/exclude some user directories
- then you can have custom setups..
-
Wonderful
how many plugins catalog could add in?
-
@cadfather said:
couldn't you a have an input box when sketchup starts so you could include/exclude some user directories
- then you can have custom setups..
Good idea. I think this is manageable.
Fredo
-
@unclex said:
how many plugins catalog could add in?
You should limit the number of directories, because SU uses this list to serach for files. So the shorter the faster.
Fredo
-
@unknownuser said:
Good idea. I think this is manageable.Fredo
wow Fredo, that's a dream come true (no more different sketchup installs and batch files to control them!)
-
@cadfather said:
@unknownuser said:
Good idea. I think this is manageable.Fredo
wow Fredo, that's a dream come true (no more different sketchup installs and batch files to control them!)
The issue I see is that Sketchup toolbar might become messy if you alternately start it with some plugins and then later some others.
Fredo
-
yes..that is true - so the way out of that would be for the plugin to run a reg file before SU loads.. (and this only on pc) still as messy as the batch files..
back to toolbar madness....
-
So as far as I understand this...I could put all of my plugins in an external directory and leave SketchUps full of only the defaults. Are there settings where, say for instance, the next time I wanted SketchUp to start with default plugins, I could just turn the directory lookup off. In other words, I could toggle between plugins/no plugins every time I start up?
Is that right?
Matt
-
I made a few tests to see what happens when you disable and then renable a plugin that has a toolbar
On SU6 and SU7, you may get a reordering of toolbars, with a serious risk of total mess
on SU8, the plugin toolbar will be restored as 'detached' so that it does not mess up the existing configuration, but you have to manually replace it in the fixed toolbar area.
So, although it is possible to ask for a selection of plugin families to load at startup of Sketchup, it may not be very convenient if alternate configurations are used on a regular basis. And this independent from the mechanism to select and load plugins and the Plugin Manager tool.
Currently, there is little that can be done because Ruby has no control over the position and display of toolbars.
Only an external toolbar manager could possibly do something (there is one based on a ribbon metaphor).
I am sure the Google SU Team will make a big improvement in SU9 (either in the toolbar, or plugin management or both)
Fredo
-
Hi
if it is useful for those who dont have administrator rights, how are they able to add this into the Plugins folder in the first place? if they could add this in then surely they could add anything in?
its taken me 6 months plus to get I.T. to allow me access to my plugins folder and i am one of many. the other 40 or so users still dont have access. This would have been perfect only for the initial restriction..
Cheers
nigel
-
Nigel
I have used something similar with my University Architecture Students who want to try scripting. They can't access the Programs Files folders for security reasons, so they can't add, adjust or reload scripts from the Plugins folder. They have a 'personal space' on the network that is mapped as they log in [as the H: drive].
I wrote a short script that I got the IT-guys to put into the Plugins folder[s] for all Sketchup installations, it loads all scripts it finds in their H:/Sketchup_Plugins/ folder as Sketchup starts, and also appends that folder path into $LOAD_PATH. Then they can do what they want with scripts on any machine, changing scripts and reloading etc just as if they were in the Plugins folder and they had full permissions.
All that Fredo's tool does is let the user specify the folder path that's to be added to the load paths in a dialog: admittedly that may well fall foul of access rights, but it would be easy enough to recast it with a fixed path hard coded into the script, based on a folder that is accessible to the user... That way your IT-guys only need add one tiny .rb file to Plugins to adjust the list of folders used for loading scripts... and you are sorted AND no permissions need changing at all... Everyone stays happy -
@tig said:
All that Fredo's tool does is let the user specify the folder path that's to be added to the load paths in a dialog: admittedly that may well fall foul of access rights, but it would be easy enough to recast it with a fixed path hard coded into the script, based on a folder that is accessible to the user... That way your IT-guys only need add one tiny .rb file to Plugins to adjust the list of folders used for loading scripts... and you are sorted AND no permissions need changing at all... Everyone stays happy
TIG,
Thanks for the clarification. It is indeed up to each user to specify the right path (either a local drive or a network drive with full access rights). For massive setup of this path (say for 40 machines or so), the code would have to be tweaked in several places however (currently the paths are stored in the SU Registry).
Fredo
-
The user might be prevented from writing to the Registry at all [although on a current-user basis it is 'personal' to that user's login anyway...]... so then the alternative of a hard-coded version is needed, which is OK as long as the specified folder always exists on every PC and it is fully accessible to every user...
-
I keep trying to download it but when I try to click on the download link, it logs me out . I get the following error "You are not authorised to download this attachment". It even happens when I'm already logged in. Is there a way to fix it?
@unknownuser said:
000RedirectPlugins is a small standalone script providing the capability to define an additional user-defined directory to load plugins in Sketchup.
This can be useful in some situations, such as:
- Restricted access to System folder (C:\program files...) without administrator rights
- Sharing plugins across different versions of Sketchup
- Sharing plugins amongst users on a network
The plugin adds a menu in Sketchup Windows > Plugin Additional Directory. This command pops up a dialog box where you can enter the path of an additional directory where Sketchup should load the plugin from, in addition to the default directories used by Sketchup.
[attachment=1:c9l41n07]<!-- ia1 -->000RedirectPlugins - Dialog.jpg<!-- ia1 -->[/attachment:c9l41n07]
The additional directory is stored across SU Sessions. So you will do it once for all**IMPORTANT:
-
Plugins will be loaded first from the additional directory and then from the SU standard plugin folders(/Plugins and /Tools). So you don’t need that all plugins reside in the additional directory.
-
Some plugins do NOT work when loaded from a directory which is not the standard SU plugins directory. However, most new plugins should normally be OK. You can leave these plugins in the Sketchup…/Plugins folder, and they will be loaded.
-
000RedirectPlugins.rb is totally independent from LibFredo6. You don’t need to have LibFredo6 installed and it applies to any plugin.
-
000Redirect.rb does not make any particular assumption on the plugins structure or installation. Just make sure that you have the same footprint in the additional directory as you would have in the standard SU plugins folder.
-
000RedirectPlugins.rb allows defining several additional directories (paths must be separated by a semicolumn) but you should try to limit this number for performance reasons.
-
It is indeed advised that plugins resides in either the additional directory or in the standard Plugins folder of Sketchup, but not in both.**
No user manual (see section Quick Startbelow)
- Language: English and French
- Menus: by default, it is installed in Windows > Plugins Additional Directory
- Icon toolbar: No icon provided
- The plugin is free, for private and commercial usage.
Download and drop the attached 000RedirectPlugins.rb file into the SU Plugins directory (it MUST be in the SU Plugins directory)
On Mac the SU plugin directory should be:
Macintosh HD/Library/Application Support/Google SketchUp 7/SketchUp/plugins000RedirectPlugins.rb – 30 Jul 11 - 08:45 CET
[attachment=0:c9l41n07]<!-- ia0 -->000_RedirectPlugins.rb<!-- ia0 -->[/attachment:c9l41n07]
IMPORTANT: this plugin does NOT require to install LibFredo6.No video
To Set or Unset an Additional Directory
- Select menu Windows > Plugin Additional Directory
- A dialog box appear
[attachment=1:c9l41n07]<!-- ia1 -->000RedirectPlugins - Dialog.jpg<!-- ia1 -->[/attachment:c9l41n07] - Type the full path of the directory. Both / and \ are accepted, on Windows or Mac
- To remove additional directories, just make the field empty
- You will need to close and start Sketchup again to use the additional directory
Notes:
- You can enter several directories by typing their path separated by a semi-colon (;)
- The validity and the existence of the directory are checked when you enter the path in the dialog box. You will get a message in case of problem.
- The existence of the directory is also checked when starting Sketchup
000RedirectPlugins.rb 1.1a - 30 Jul 11: Initial public release
-
****NEW RELEASE AND CHANGE OF NAME, now 000_AdditionalPluginFolders.rb - v2.0a - 11 Aug 11
000_AdditionalPluginFolders.rb 2.0a - 11 Aug 11: Some enhancements and a change of name of the plugin
- More explicit capability for specifying several directories
- Protection against errors when loading plugins. This does not interrupt the whole load process and the errors are signaled
- Possibility to specify a confirmation for loading a directory when Sketchup starts up
See Main Post for more info and download
Fredo
-
NEW RELEASE
000_AdditionalPluginFolders.rb 3.0a - 23 Aug 11: major enhancements
- 000_AdditionalPluginFolders now loads plugins from the standard directory, with protection against errors. So even if you do not use additional folders, 000_AdditionalPluginFolders can help you to avoid errors at load time.
- New dialog box for specifying additional directories (in particular for Mac users)
Note: if you have LibFredo6 v4.0 (or above) installed, 000_AdditionalPluginFolders will log the status of the load cycle in the Tracelog utility of LibFredo6.
See Main Post for more info and download
-
Nice update. I got a similar script - also tracks loading performance.
(looking at your screenshot, why does your libfredo take 2.5 seconds to load?)
-
@thomthom said:
(looking at your screenshot, why does your libfredo take 2.5 seconds to load?)
This is the time to load LibFredo6 but also all of my scripts (FredoScale, etc...). If you install LibFredo6 4.0, you'll get details in the Performance dialog box.
My scripts are very verbose, but what I found out is that most time is taken in creating the toolbars, rather than loading ruby files.
Fred
-
So creating toolbars are a heavy penalty?
I've recently started to profile my plugins, I get the last load time as well as the average. Trying to work out which ones loads slower and why.
Toolbars are a good clue.Have you noticed if it's building the toolbar or actually displaying it that consumes time?
Advertisement