blackberry / WebWorks

BlackBerry WebWorks for Smartphones is a platform for building deeply integrated web applications for BlackBerry smartphones
http://developer.blackberry.com/html5
268 stars 51 forks source link

Cannot set runOnStartup attribute of rim:background element to false #90

Closed jeffheifetz closed 12 years ago

jeffheifetz commented 12 years ago

What he ^ said.

As documented on the forums - http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Invalid-config-xml-file-when-choosing-not-to-runOnStartup/m-p/1520737#M19862

kwallis commented 12 years ago

There are three tasks we probably want to tackle first: 1) Determine what the current logic in the code enforces 2) Find any existing documentation describing the intended behaviour of the rim:background element and the runOnStartup attribute 3) Validate the docs versus the code and determine correct behaviour.

Will ultimately have to go back to the forum post to update once we determine what the correct route forward is.

kwallis commented 12 years ago

cc @dmateescu

jachoi commented 12 years ago

Our documentation on Multiple Entry Points (MEP) indicates that the config file shown in the linked forum is indeed an invalid configuration. Basically "rim:background" element specifies the background entry point for a widget and the "runOnStartup" attribute is used to determine whether or not the application should run when the device has start or when the application has been installed.

So in the case of config file shown in the forum, there is no need in specifying "rim:background" if the application will not be running in the background and instead it should just be .

jeffheifetz commented 12 years ago

I don't think that explanation of "runOnStartup" can be correct. Obviously the app cannot be run before it has been installed, so the choice must be between startup and on invocation (from ribbon or another app).

At the moment the default value is true, and you are now claiming its invalid to specify false. In this case is the default value incorrect or does the attribute serve no purpose?

jachoi commented 12 years ago

Yes, the app cannot run before it has been installed, but it can run on install.

The default value of "runOnStartup" attribute is correct (default value is true) and it does serve a purpose when the developer wants to create a service widget.

kwallis commented 12 years ago

Could you not have a rim:background element that could be an invocation point from some other app/service/etc.?

jachoi commented 12 years ago

Yes you can have an app without rim:background element that can be invoked from other app/service/etc., but this application will run in the foreground.

kwallis commented 12 years ago

So we can confirm that only the foreground entry can be invoked by another service? How does Push work?

----- Original Message ----- From: James Choi [mailto:reply@reply.github.com] Sent: Thursday, February 02, 2012 01:22 PM To: Ken Wallis Subject: Re: [WebWorks] Cannot set runOnStartup attribute of rim:background element to false (#90)

Yes you can have an app without rim:background element that can be invoked from other app/service/etc., but this application will run in the foreground.


Reply to this email directly or view it on GitHub: https://github.com/blackberry/WebWorks/issues/90#issuecomment-3783297


This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.

jachoi commented 12 years ago

We can also have background entry, if the app is configured to run in the background only.

Or if we have rim:allowInvokeParams="true" attribute in the content element and then invoke the app with a specific entry point, the app will change to specified entry point and become visible.