❗️Custom Addon Folder locations

Hi folks,

As part of our work on the next developer preview, we’re aiming to finally add customisable Addon folder locations. In short, this optional feature would allow the user to select a folder for their addons to be installed into, and for RapidWeaver to (optionally) copy their addons to that location.

For everyone other than plugin developers, this shouldn’t affect you - apart from when customers ask where addons are installed in RapidWeaver 7. The good news is we’ve already got that built in to the RapidWeaver menu (and holding “Option”)!

Plugin developers: if your plugin has its own addons (think individual stacks etc), we’d like your feedback. If your plugins access the App Support folder location, and have any specific API requirements that you’d need (beyond a method that returns a URL to the App Support location) we’d like to hear from you ASAP.

Cheers,

—Nik

1 Like

the devil is in the details.

the biggest detail i think is: if you plan on allowing users to relocate the folder while RW is running – or whether this is something that will take affect after the next relaunch of RW.

if this requires a restart then i think this is a no-brainer. check the add-on folder location at startup and we’re good to go.

if this can be manipulated by the user at runtime it gets a lot more complicated.

isaiah

Yes, changing the folder location would require a restart. The way we see this, it would be a set-once option - not something you’d be frequently changing.

Just to clarify, and set minds at rest:

  1. We will require that no documents be open in order to change the addons folder location (otherwise, Stacks disappear etc etc).
  2. RapidWeaver will make it clear that a restart is necessary once the addons have (optionally) been moved to the new addons location.

—N

Documentation: https://github.com/realmacsoftware/RWPluginKit/wiki/Changes-in-RapidWeaver-7#handling-migrations

Cheers,

—Nik

A rough-cut of this feature, with the above API, is available in this build:

https://dl.devmate.com/com.realmacsoftware.rapidweaver/15991b/1452093361/RapidWeaver-15991b.zip

Cheers,

—Nik

The notification was odd and a bit unexpected. The use case isn’t obvious. Can you give me a concrete example of when a developer would want to use that? Not understanding the motivation of the API makes me think that perhaps some of my assumptions about how this is going to work aren’t correct.

Can I assume that you will copy the entire contents of the existing add ons folder when the user moves it?

It would be awfully nice if there was a developer-preview of this feature that allowed me to test my plugins before it went live to a whole bunch of people.

  1. We will be offering this feature via Developer Preview 3. We won’t be going to Public Beta straight away.
  2. We will move the entire contents of the existing addons folder, if the user chooses to do so. That means that even folders RapidWeaver doesn’t manage will be migrated.
  3. We built this as a courtesy notification. To assuage fears of folders changing underneath you, we figured it prudent to let you know a major change is impending. While we don’t have a specific use case in mind, if you’re writing out a preferences file to another location in the sandbox, and you think that should travel with the addons, it might come in handy.

—N

ok. sounds good.

i think i have some work to do – but it’s all easy stuff. i’ll shoot for the next point release.

Great: we’ve given this a fair bit of thought to both ensure it’s easy to adopt (and adoptable now with support for RW6). If you run into any issues, or things that we can do to improve things, just holler.

—N

@goinup @rob @gibo Just flagging this for your attention. Please consider getting your plugins ready ASAP to minimise issues with Public Beta :slightly_smiling: If you need some extra testing, we’re happy to give plugins a quick look over.

Cheers,

—Nik

None of our currently supported RapidWeaver plugins should directly access Addon Folder.

Anyway, thanks for the heads-up, I’ll check this once more.

I have 4 plugins that need updates. None of the changes are large, but a couple (Blocks and Stacks) do need quite a few changes. I’m hoping to start rolling these out at the end of the week – however if I’m honest with myself it’ll probably be early next week.

2 Likes

@isaiah Good work, looking forward to it :smiley: