[RPC] Method named [extension] not found


#1

I’m trying to install google maps extension (https://github.com/pixl8/preside-ext-googlemaps). I’ve added submodule with

git submodule add -b stable https://github.com/pixl8/preside-ext-googlemaps.git application/extensions/preside-ext-googlemaps

In developer console im trying to enable extension but as result I’m receiving an error:

extension enable preside-ext-multiselect

[RPC] Method named [extension] not found

Help command is giving me output:

help

Available commands:
 
    help           : Displays this help message
    clear          : Clears the console
    exit           : Quits the console
    cache          : Interact with and report on system caches
    reload         : Reload all or part of your preside application

What could be wrong? I’m using presidecms 10.8.42.


#2

Hey @lukas, apologies for not seeing this sooner. The cause of this is that the “extension” command feature is only enabled by default for local dev environments. By default we detect a local environment as having a URL that matches one of the following patterns:

^local\.
\.local$
^localhost(:[0-9]+)?$
^127.0.0.1(:[0-9]+)?$

This was designed so that you only make code changes (such as installing extensions) in local dev environments. To work around this, you can either reconfigure what Coldbox will detect as a local environment with:

// Config.cfc
function configure() {
// ...
    environments.local = "mylocaldevdomain";
// ...
}

Or, you can explicitly enable the feature everywhere:

// Config.cfc
function configure() {
// ...
    settings.features[ "devtools.new"       ].enabled=true;
    settings.features[ "devtools.extension" ].enabled=true;
// ...
}

Finally, in the upcoming 10.9.0 release, you will not need to “enable” extensions at all. If they exist in the directory, they will be automatically enabled.

Read more about coldbox environments here: https://www.ortussolutions.com/blog/tip-of-the-week-using-environment-control-in-coldbox.

Again, apologies for the slow response to this. Feel free to bump in Slack if not getting a response!


#3

@Dominic, Thank you for response, but I’ve solved that issue by my self (by enabling devtools)

I’m not sure why my installation is not recognized as local (I use custom port different than 80 mb it is causing a problem).


#4

The port shouldn’t be a problem but maybe… what is the full domain including port that you are using locally? Perhaps we can add/modify a pattern to ensure its matched.


#5

I’m using something like app.local:8180, so when I set environments.local to one of values below

environments.local =  "app.local:8180";
//or
environments.local = "app.local";

App will start with local environment detected correctly (with devtools.extension enabled).

Regexp for is working only for port 80, changing regexp to .local(:[0-9]+)?$ will work for local installations that are using custom port.


#6

Great, fixed in 10.8.45 :slight_smile: (also in 10.9.0-snapshot35).

https://www.preside.org/release-notes/release-notes-for-10-8-45.html