[ 
https://issues.apache.org/jira/browse/CB-86?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

jcesarmobile closed CB-86.
--------------------------
    Resolution: Won't Fix

Closing as cordova-weinre is being deprecated and no more work will be done

> extension system needs to be redesigned
> ---------------------------------------
>
>                 Key: CB-86
>                 URL: https://issues.apache.org/jira/browse/CB-86
>             Project: Apache Cordova
>          Issue Type: New Feature
>          Components: cordova-weinre (DEPRECATED)
>            Reporter: Patrick Mueller
>            Assignee: Patrick Mueller
>            Priority: Major
>
> from: https://github.com/phonegap/weinre/issues/14
> *pmuellr opened this issue July 19, 2011*
> The current weinre extension system is based on the WebKit Web Inspector 
> extension system. It's not working out very well.
> Based on trying to write a few extensions, I've come up with the following 
> list of requirements for the extension system.
> * extensions loaded as .js files injected into the client, not .html files 
> added via an otherwise unused iframe; implication is that extension code runs 
> in the main Web Inspector window, which is dangerous, but delicious
> * extensions are notified when a target connects or disconnects
> * extensions have an API to call returning an indication if a target is 
> connected
> * extensions can load .js and .css files, relative to the extension 
> directory, into the target, by name; these files will only ever be injected 
> one time in the target, regardless of how many times they are requested
> * a callback system for communication from the target to the client is 
> required; clients can register a callback, as a one-shot or multiple-shot 
> callback, as a function, returning an id; the id can be passed to the target, 
> which will have an API to fire the callback by id.
> Not much of the Web Inspector extension API is in use right now - seems like 
> we can just create a new set of IDL interfaces to handle this stuff.
> *davejohnson commented August 03, 2011*
> This all sounds about right to me.
> *pmuellr commented October 13, 2011*
> Unspecified in the initial description is where the extensions come from in 
> the first place, and how the client knows about the available extensions.
> In the current level of code, the server provides the extensions, but this is 
> no fun. It requires any server a user might be using to have the extensions 
> they want to use available. This would be a PITA for debug.phonegap.com, for 
> instance.
> Instead, the client should be the thing that loads the extensions. This 
> implies a couple of things:
> * The client has to remember any extensions the user has "installed". We'll 
> store these in a WebSQL DB associated with the client page, and thus 
> associated with the client's origin - the weinre server. So, the user will 
> have to install the same extensions on their "debug.phonegap.com" client, as 
> well as their "localhost:808x" client. PITA. But survivable. We should 
> consider what it might mean in the future to have a separate "extension" 
> server that the user could use to maintain their extensions across multiple 
> client origins. Keep this in mind while designing this bit.
> * We will need to provide a new panel for extensions, that shows you 
> installed extensions, with the ability to add / delete / disable / enable 
> extensions.
> * The extensions will need to be available via HTTP. Presumably the server 
> can load these (and cache them?), and then provide them to the extension code 
> via the new extension API.
> * Items above seems to imply some meta-data will be required - names, 
> descriptions, versions, etc. Could we package extensions as "npm" packages? 
> Or at least reuse their existing "package.json" structure? Note that modjewel 
> is installed on both ends, so "module" style JS authoring is a distinct 
> possibility. OTOH, we do need a way to load rando JS files, so you can bridge 
> an existing thing like "DOM Monster" with a thin shim extension (actually, 
> DOM Monster is not a good candidate for this - poor separation of model/view).
> *pmuellr commented October 13, 2011*
> Would be nice if I could publish extensions as versioned/labelled/whatever 
> GitHub repos. In addition, we could use a Gist to list the extensions a user 
> wants installed.
> This doesn't have to be, nor should it be, tied to GitHub. But it would be 
> nice if it would work directly off of GitHub, with no other "exporting" of 
> resources being required.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to