[
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
|
Fair enough. I'll update the doc and our tutorial info.
-Simon
Rafael Chaves ---10/31/2013 04:11:04 PM---Hi Simon, Thanks for clarifying - I had done what you suggested but until you replied
|
Rafael Chaves <rafael@xxxxxxxxxxxx> |
|
Orion developer discussions <orion-dev@xxxxxxxxxxx>, |
|
10/31/2013 04:11 PM |
|
Re: [orion-dev] difficulties porting plugin to Orion 4.0 RC2 |
|
orion-dev-bounces@xxxxxxxxxxx |
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).
Thanks,
Rafael
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...
-Simon
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
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
_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/orion-dev
_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/orion-dev