[JBoss JIRA] (JBIDE-13552) BrowserSim: Ripple integration
by Yahor Radtsevich (JIRA)
[ https://issues.jboss.org/browse/JBIDE-13552?page=com.atlassian.jira.plugi... ]
Yahor Radtsevich updated JBIDE-13552:
-------------------------------------
Description:
Ripple is an emulator, which provides mobile environment (such as Cordova API) to HTML applications.
Ripple extension for Chrome is written in HTML/JavaScript with usage of Chrome extensions API and some Chrome-only API. When run as an extension, Ripple looks like a mobile iframe in the center of a browser window, and several controls around this iframe, including Geolocation, Orientation and Messaging. These controls allow to change "answers" for queries to emulated API.
*On the high level our plan is to:*
1. get rid of dependencies to Chrome extensions API and Chrome-only API
2. replace the mobile iframe with BrowserSim popup window
3. implement missing pieces
4. replace some Ripple controls with BrowserSim controls
5. integrate our Ripple-BrowserSim simulator in Eclipse
6. other issues
*More details follow:*
*1. get rid of dependencies to Chrome extensions API and Chrome-only API*
This includes:
- allow Ripple code to access {{window}} and {{document}} objects of Cordova applications. _*Resolved* by hosting Ripple and Cordova applications on the same Jetty server_
- allowing cross-origin XHR from BrowserSim. _We *resolved* this by implementation of a Jetty-based proxy_
- Web SQL API is deprecated and it is not available in BrowserSim on Windows. _We *resolved* it by our own implementation of this API in pure JavaScript JBIDE-13813._
- allow to upload files to simulate Cordova Camera API. The problem is that some Chrome API is not available in BrowserSim (an example is {{window.URL.createObjectURL(blob)}}). _We *resolved* it by an upload file servlet in Jetty_
*2. replace the mobile iframe with BrowserSim popup window*
- there is bug in SWT which leads to multiple popups being opened instead of one. _*Resolved.* We already found a workaround for it_
- iframe should be removed from the control page. _*Resolved*. The iframe all JS dependencies to it are removed._
- need a way to change BrowserSim skin while running as popup. The problem is that when the skin is changing, we loose connection with the parent window. _*Resolved*. Now we refresh the parent window after the skin is changed. After refresh the parent window tries to open a new popup, and we connect already created new skin to it.*_
*3. implement missing pieces*
- Compas API does not work in both CordovaSim and original Ripple
- Capture API (audio and video recording using an external app) does not work in both CordovaSim and original Ripple
- Media API (audio playback and recording) does not work in CordovaSim now (not sure if it works in original Ripple)
- Bar code scanner?
- Card reader?
*4. replace some Ripple controls with BrowserSim controls*
- the {{backbutton}} event should be fired when user presses the Back button in BrowserSim. _*In progress*_
- BrowserSim's change skin controls should used instead of Ripple's select device controls (Device API should know which device is selected)
- Ripple's orientation change should be replaced by BrowserSim's one. _*Resolved*_
*5. integrate our Ripple-BrowserSim simulator in Eclipse*
- provide an easy way to run our simulator from Eclipse, probably add something like "Open in CordovaSim" toolbar item/context menu _*In progress.*_
- create build scripts, which probably includes building Ripple from its github repository and packaging it into a bundle
*6. other issues*
- CordovaSim should show an error if jetty port is not available. _*Resolved*_
- A bug: if there are two Cordova projects in the workspace with {{index.html}} and we run CordovaSim for both these projects, than only one of the {{index.html}} files may be showed in both cases. The problem is that by default Jetty allows the {{If-modified-since}} header and the file with an earlier modification date will never be returned. _*Resolved* by not returning this header._
was:
Ripple is an emulator, which provides mobile environment (such as Cordova API) to HTML applications.
Ripple extension for Chrome is written in HTML/JavaScript with usage of Chrome extensions API and some Chrome-only API. When run as an extension, Ripple looks like a mobile iframe in the center of a browser window, and several controls around this iframe, including Geolocation, Orientation and Messaging. These controls allow to change "answers" for queries to emulated API.
*On the high level our plan is to:*
1. get rid of dependencies to Chrome extensions API and Chrome-only API
2. replace the mobile iframe with BrowserSim popup window
3. integrate our Ripple-BrowserSim simulator in Eclipse
*More details follow:*
*1. get rid of dependencies to Chrome extensions API and Chrome-only API*
This includes:
- allowing cross-origin XHR from BrowserSim. _We solve this by implementation of a Jetty-based proxy_
- WebSQL API used in Ripple is deprecated and it is not available in BrowserSim on Windows. _We solve it by storing data in the localStorage instead of WebSQL DB._
*2. replace the mobile iframe with BrowserSim popup window*
- there is bug in SWT which leads to multiple popups being opened instead of one. _We already found a workaround for it_
- iframe should be removed from the control page. Now we just hide it. But it should be completely removed with all JS dependencies to it.
- need a way to change BrowserSim skin while running as popup. The problem is that when the skin is changing, we loose connection with parent window. Should we send a signal to the parent window to recreate?
*3. integrate our Ripple-BrowserSim simulator in Eclipse*
- provide an easy way to run our simulator from Eclipse, probably add something like "Open in CordovaSim" toolbar item/context menu
- create build scripts, which probably includes building Ripple from its github repository and packaging it into a bundle
> BrowserSim: Ripple integration
> ------------------------------
>
> Key: JBIDE-13552
> URL: https://issues.jboss.org/browse/JBIDE-13552
> Project: Tools (JBoss Tools)
> Issue Type: Feature Request
> Components: Visual Page Editor core
> Reporter: Yahor Radtsevich
> Assignee: Yahor Radtsevich
> Fix For: 4.1.0.Beta1
>
>
> Ripple is an emulator, which provides mobile environment (such as Cordova API) to HTML applications.
> Ripple extension for Chrome is written in HTML/JavaScript with usage of Chrome extensions API and some Chrome-only API. When run as an extension, Ripple looks like a mobile iframe in the center of a browser window, and several controls around this iframe, including Geolocation, Orientation and Messaging. These controls allow to change "answers" for queries to emulated API.
> *On the high level our plan is to:*
> 1. get rid of dependencies to Chrome extensions API and Chrome-only API
> 2. replace the mobile iframe with BrowserSim popup window
> 3. implement missing pieces
> 4. replace some Ripple controls with BrowserSim controls
> 5. integrate our Ripple-BrowserSim simulator in Eclipse
> 6. other issues
> *More details follow:*
> *1. get rid of dependencies to Chrome extensions API and Chrome-only API*
> This includes:
> - allow Ripple code to access {{window}} and {{document}} objects of Cordova applications. _*Resolved* by hosting Ripple and Cordova applications on the same Jetty server_
> - allowing cross-origin XHR from BrowserSim. _We *resolved* this by implementation of a Jetty-based proxy_
> - Web SQL API is deprecated and it is not available in BrowserSim on Windows. _We *resolved* it by our own implementation of this API in pure JavaScript JBIDE-13813._
> - allow to upload files to simulate Cordova Camera API. The problem is that some Chrome API is not available in BrowserSim (an example is {{window.URL.createObjectURL(blob)}}). _We *resolved* it by an upload file servlet in Jetty_
> *2. replace the mobile iframe with BrowserSim popup window*
> - there is bug in SWT which leads to multiple popups being opened instead of one. _*Resolved.* We already found a workaround for it_
> - iframe should be removed from the control page. _*Resolved*. The iframe all JS dependencies to it are removed._
> - need a way to change BrowserSim skin while running as popup. The problem is that when the skin is changing, we loose connection with the parent window. _*Resolved*. Now we refresh the parent window after the skin is changed. After refresh the parent window tries to open a new popup, and we connect already created new skin to it.*_
> *3. implement missing pieces*
> - Compas API does not work in both CordovaSim and original Ripple
> - Capture API (audio and video recording using an external app) does not work in both CordovaSim and original Ripple
> - Media API (audio playback and recording) does not work in CordovaSim now (not sure if it works in original Ripple)
> - Bar code scanner?
> - Card reader?
> *4. replace some Ripple controls with BrowserSim controls*
> - the {{backbutton}} event should be fired when user presses the Back button in BrowserSim. _*In progress*_
> - BrowserSim's change skin controls should used instead of Ripple's select device controls (Device API should know which device is selected)
> - Ripple's orientation change should be replaced by BrowserSim's one. _*Resolved*_
> *5. integrate our Ripple-BrowserSim simulator in Eclipse*
> - provide an easy way to run our simulator from Eclipse, probably add something like "Open in CordovaSim" toolbar item/context menu _*In progress.*_
> - create build scripts, which probably includes building Ripple from its github repository and packaging it into a bundle
> *6. other issues*
> - CordovaSim should show an error if jetty port is not available. _*Resolved*_
> - A bug: if there are two Cordova projects in the workspace with {{index.html}} and we run CordovaSim for both these projects, than only one of the {{index.html}} files may be showed in both cases. The problem is that by default Jetty allows the {{If-modified-since}} header and the file with an earlier modification date will never be returned. _*Resolved* by not returning this header._
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] (JBIDE-13914) Have a test run that runs test plugins for each component in a fully installed JBT
by Max Rydahl Andersen (JIRA)
[ https://issues.jboss.org/browse/JBIDE-13914?page=com.atlassian.jira.plugi... ]
Max Rydahl Andersen commented on JBIDE-13914:
---------------------------------------------
I'm not asking to use Tycho - you just need to run the eclipse runner don't you within a pom ?
Which test suite - pick one. Lets start with jbosstools-base.
> Have a test run that runs test plugins for each component in a fully installed JBT
> ----------------------------------------------------------------------------------
>
> Key: JBIDE-13914
> URL: https://issues.jboss.org/browse/JBIDE-13914
> Project: Tools (JBoss Tools)
> Issue Type: Feature Request
> Components: Build/Releng
> Affects Versions: 4.1.0.Alpha2
> Reporter: Max Rydahl Andersen
> Assignee: Mickael Istria
> Fix For: 4.1.0.Alpha2
>
>
> You said you had a way to run tests against existing install.
> Thus lets get this rolling by having a way to run a components test plugins and its included Test classes in a fully loaded JBoss Tools installation.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] (JBIDE-13905) portlet-api library of JPP 6 is not imported
by Max Rydahl Andersen (JIRA)
[ https://issues.jboss.org/browse/JBIDE-13905?page=com.atlassian.jira.plugi... ]
Max Rydahl Andersen commented on JBIDE-13905:
---------------------------------------------
Portal decided they did not want to focus on JPP 6 support in eclipse tools.
Additionally EAP 6 does not guarantee the jars are within this location so we are awaiting a better solution to manage these.
In worst case we will have to hardcode something but that will hurt us when JPP6 updates.
> portlet-api library of JPP 6 is not imported
> --------------------------------------------
>
> Key: JBIDE-13905
> URL: https://issues.jboss.org/browse/JBIDE-13905
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: Portal/GateIn
> Affects Versions: 4.0.1.Final, 4.1.0.Alpha1
> Reporter: Petr Suchý
> Assignee: Snjezana Peco
> Fix For: 4.1.x
>
>
> When you want to create Dynamic Web Project using JPP 6.0.0.GA, you cannot simply choose Portlet implementation library as a Portlet Target Runtime Provider in a New Dynamic Web Project Wizard. You are forced to add _portlet-api.jar_ manually from here:
> {code}
> ${JPP6}/modules/javax/portlet/api/main/
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] (JBIDE-13918) Build LiveReload with Tycho
by Mickael Istria (JIRA)
[ https://issues.jboss.org/browse/JBIDE-13918?page=com.atlassian.jira.plugi... ]
Mickael Istria commented on JBIDE-13918:
----------------------------------------
LiveReload currently has come compilation issues, that you can see with a simple "mvn clean verify":
* Unresolved import on Jackson (jackson not listed as a required dependency?)
* File WtpUtils.jave does not match class WTPUtils (case)
> Build LiveReload with Tycho
> ---------------------------
>
> Key: JBIDE-13918
> URL: https://issues.jboss.org/browse/JBIDE-13918
> Project: Tools (JBoss Tools)
> Issue Type: Sub-task
> Components: Build/Releng, livereload
> Affects Versions: 4.1.0.Alpha2
> Reporter: Mickael Istria
> Assignee: Xavier Coulon
> Fix For: 4.1.0.Alpha2
>
>
> Add necessary pom files so livereload can be built with Tycho
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years