Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [orion-dev] difficulties porting plugin to Orion 4.0 RC2

Hi Simon,

Thanks for clarifying - I had done what you suggested but until you replied wasn't sure that was the right thing to do.

It seems to me the implicit dependency on Deferred should be made more visible in the docs for plugin development, since for implementing services such as the edit.outliner, caling getText() on the editorContext will fail in a non-obvious way (becuase it is supposed to return a deferred).   



On Thu, Oct 31, 2013 at 2:57 PM, Simon Kaegi <Simon_Kaegi@xxxxxxxxxx> wrote:

Hi Rafael,

That boiler plate gorp at the top of orion/PluginProvider (sometimes called UMD - unified module definition) is used to allow Orion plugins to be used in different module environments (e.g. Node, RequireJS/AMD, and as globals). It sounds like you're not using RequireJS in your plugin so are in the "global" definition camp.

Plugin.js optionally depends on orion/Deferred to handle cases where we need to use promises to handle async logic so in your case the reason you are getting the Deferred symbol as "undefined" is because you don't have a script tag contributing it.

Try adding something like:
<script src="">
to your plugin.

Now, with that said I'm not sure that is the problem here as the dependency on Deferred is again "optional" and not needed for simple plugin cases. If however your plugin is firing "events" or passing "object references" then you will need this.
Let us know if you figure out more and we'll help you upgrade.

Hope that helps...

Inactive hide details for Rafael Chaves ---10/31/2013 11:27:34 AM---Hi all. I am in the process of porting a plugin from Orion Rafael Chaves ---10/31/2013 11:27:34 AM---Hi all. I am in the process of porting a plugin from Orion 1.0 (RC2) to Orion


Rafael Chaves <rafael@xxxxxxxxxxxx>


Orion developer discussions <orion-dev@xxxxxxxxxxx>,


10/31/2013 11:27 AM


[orion-dev] difficulties porting plugin to Orion 4.0 RC2

    Sent by:


Hi all.

I am in the process of porting a plugin from Orion 1.0 (RC2) to Orion
4.0 (RC2). Right now I am having a hard time getting the plugin to
work with the new plugin.js. I am by no means experienced with JS so
that is probably the reason of my struggle. But I am seeing the
plugin.js ending up with the "Deferred" symbol being undefined.
Basically, in this code:

   if (typeof define === "function" && define.amd) { //$NON-NLS-0$
       define(["orion/Deferred"], factory);
   } else if (typeof exports === "object") { //$NON-NLS-0$
       module.exports = factory(require("orion/Deferred"));
   } else {
       root.orion = root.orion || {};
       root.orion.PluginProvider = factory(root.orion.Deferred);

the last else is the block executing, and since root.orion is
undefined, it falls back to {}, so root.orion,Deferred of course will
be undefined as well.

I suspect that my root issue may originate before this initialization
code runs but I have no idea of what it is. Any tips?

orion-dev mailing list

orion-dev mailing list

GIF image

GIF image

Back to the top