IDE Interoperability

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

IDE Interoperability

david bovill
I'd be real interested in starting to use / develop for the MC IDE, but
don't want to have to switch between applications. Here are my thoughts on
some future directions for discussion:

   1. Separate as many as possible MC IDE components out as standalone
   componenets that can be used in any Rev based environment. List those
   components that already can sit happily in other IDE's.
   2. Develop a RevIde API - more than just the plugin API, one in which we
   can easily switch in and out Script Editors, Property Palettes and menus. Do
   this step by step, and encourage some sort of formalisation of this through
   discussions with other IDE providers.
   3. Link the above in with Rev Interop

I've a few hacks - that try to hook my tools into the RevIDE or GLX2 IDE's
script editors, the MC IDE and others on the Rev list have their own Script
Editors, so I thought that might be a good place to start = Script Editor
Switcheroo API. That is a way to switch between different Script Editors,
and to be able to define and add your own alterrnatives. I am not exacly
sure what interop would be required for that - Richard posted a similar
question regarding ROSE a year or so back - maybe some hooks to respond to
the debugger?

What do you think?


[Non-text portions of this message have been removed]

Reply | Threaded
Open this post in threaded view
|

Re: IDE Interoperability

mwieder
David-

Monday, April 27, 2009, 5:48:55 AM, you wrote:

Not to sidetrack the issue of an plugin interoperability structure,
but the latest glx2 beta (both the script editor and debugger) does
work with MetaCard. Hasn't been announced, but we did a lot of work
under the hood to enable compatibility. Yes, you still need to get a
license for it, but if you've got a license to use it with rev you're
all set. Copy it into your MC plugins folder and you're good to go.

--
-Mark Wieder
 [hidden email]

--
 Mark Wieder
 ahsoftware@gmail.com
Reply | Threaded
Open this post in threaded view
|

Re: IDE Interoperability

Ken Ray
> Not to sidetrack the issue of an plugin interoperability structure,
> but the latest glx2 beta (both the script editor and debugger) does
> work with MetaCard. Hasn't been announced, but we did a lot of work
> under the hood to enable compatibility. Yes, you still need to get a
> license for it, but if you've got a license to use it with rev you're
> all set. Copy it into your MC plugins folder and you're good to go.

That's great to hear, Mark!

Ken Ray
Sons of Thunder Software, Inc.
Email: [hidden email]
Web Site: http://www.sonsothunder.com/


Reply | Threaded
Open this post in threaded view
|

Re: IDE Interoperability

Tereza Snyder
In reply to this post by mwieder

On Apr 28, 2009, at 11:09 AM, Mark Wieder wrote:

> David-
>
> Monday, April 27, 2009, 5:48:55 AM, you wrote:
>
> Not to sidetrack the issue of an plugin interoperability structure,
> but the latest glx2 beta (both the script editor and debugger) does
> work with MetaCard. Hasn't been announced, but we did a lot of work
> under the hood to enable compatibility. Yes, you still need to get a
> license for it, but if you've got a license to use it with rev you're
> all set. Copy it into your MC plugins folder and you're good to go.

Hooray!

I've been sidetracked for a while into web development with Django and  
Python etc. in my day job, but now I get to do a proof-of-concept in  
Rev (leading to a web-deployed stack next year I hope) and I had  
resolved to go back to MetaCard for my preferred IDE. But...but... I  
needed GLX2! And now I've got it!

Hip Hip!

t

Do you think I could make it go with Galaxy, too?



--
Tereza Snyder
Califex Software, Inc.
<www.califexsoftware.com>




Reply | Threaded
Open this post in threaded view
|

Re: IDE Interoperability

mwieder
Tereza-

Wednesday, April 29, 2009, 4:06:46 PM, you wrote:

> Do you think I could make it go with Galaxy, too?

I seriously doubt it. What I had to implement in glx2 (and this goes
back to the heart of the interoperability matter) is a switch like
this anytime we want to reference one of the IDE stacks:

function glx2GetIDEStackName pRevIDEStackName
    local tStackName
   
    if "revErrorDisplay" is pRevIDEStackName then
        put "revGLX2 Execution Error" into tStackName
    end if
    if there is a stack pRevIDEStackName then
        -- we're running with the rev IDE
        -- just return the rev stack name
        put pRevIDEStackName into tStackName
    else if there is a stack "MetaCard Menu Bar" then
        -- we're running in the MetaCard IDE
        switch pRevIDEStackName
            case "revMenubar"
                put "MetaCard Menu Bar" into tStackName
                break
            case "revTools"
                put "Tools" into tStackName
                break
            case "revPreferences"
                put "Preferences" into tStackName
                break
            case "revSearch"
                put "Find" into tStackName
                break
            case "revErrorDisplay"
                put "Execution Error" into tStackName
                break
            default
        end switch
    else
        -- we're not in Kansas any more
    end if
    return tStackName
end glx2GetIDEStackName

--
-Mark Wieder
 [hidden email]

--
 Mark Wieder
 ahsoftware@gmail.com
Reply | Threaded
Open this post in threaded view
|

Re: IDE Interoperability

david bovill
Similarly I have a number of switches for things like (from memory):

   - ide_ScriptEditor
   - ide_SelectedScriptObject
   - ide_ScriptEditorField

which switch depending on the "ide_Environment", and then

   - rev_ScriptEditor
   - glx_ScriptEditor
   - ...

These allow tools that work on scripts to interoperate with the Script
Editor from either environment. Over the years, the way Galaxy / GLX2 has
defined these has changed. So then we have a versioning problem as well -
putting these all together it becomes seriously hard to distribute tools
that say work with the script currently shown in a script editor.

Dividing up the responsibility a bit, with the IDE manufacturers being
encourage to expose certain properties which as far as possible stay
constant accross versions, would help here.


2009/4/30 Mark Wieder <[hidden email]>

function glx2GetIDEStackName pRevIDEStackName

>    local tStackName
>
>    if "revErrorDisplay" is pRevIDEStackName then
>        put "revGLX2 Execution Error" into tStackName
>    end if
>    if there is a stack pRevIDEStackName then
>        -- we're running with the rev IDE
>        -- just return the rev stack name
>        put pRevIDEStackName into tStackName
>    else if there is a stack "MetaCard Menu Bar" then
>        -- we're running in the MetaCard IDE
>        switch pRevIDEStackName
>            case "revMenubar"
>                put "MetaCard Menu Bar" into tStackName
>                break
>            case "revTools"
>                put "Tools" into tStackName
>                break
>            case "revPreferences"
>                put "Preferences" into tStackName
>                break
>            case "revSearch"
>                put "Find" into tStackName
>                break
>            case "revErrorDisplay"
>                put "Execution Error" into tStackName
>                break
>            default
>        end switch
>    else
>        -- we're not in Kansas any more
>    end if
>    return tStackName
> end glx2GetIDEStackName


[Non-text portions of this message have been removed]

Reply | Threaded
Open this post in threaded view
|

Re: IDE Interoperability

Tereza Snyder
In reply to this post by mwieder

On Apr 30, 2009, at 12:35 AM, Mark Wieder wrote:

> Tereza-
>
> Wednesday, April 29, 2009, 4:06:46 PM, you wrote:
>
>> Do you think I could make it go with Galaxy, too?
>
> I seriously doubt it. What I had to implement in glx2 (and this goes
> back to the heart of the interoperability matter) is a switch like
> this anytime we want to reference one of the IDE stacks:
>
> function glx2GetIDEStackName pRevIDEStackName
>    local tStackName
.
.
.
>
>    else
>        -- we're not in Kansas any more
>    end if
>    return tStackName
> end glx2GetIDEStackName
>

A shame. Despite the virtues of GLX2, I long for the project editor  
(stack/object browser with search) and customized contextual menus of  
Galaxy. Compact. Convenient. Fast.

Sigh.

t


--
Tereza Snyder
Califex Software, Inc.
<www.califexsoftware.com>