[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 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...
-Simon


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


    From:

Rafael Chaves <rafael@xxxxxxxxxxxx>

    To:

Orion developer discussions <orion-dev@xxxxxxxxxxx>,

    Date:

10/31/2013 11:27 AM

    Subject:

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

    Sent by:

orion-dev-bounces@xxxxxxxxxxx




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?

Rafael
_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/orion-dev



GIF image

GIF image