Re: Plugin Version Control Workflow

2014-01-06 Thread Dan Moore
Hi Andrey,

I have worked on two small, simple Cordova applications, but we still at times 
had to modify platform specific code.  Not much, but some (AppDelegate.m for 
the iOS app, and the DroidGap subclass for Android--this is a 2.9.x project for 
now).

Here's my solutions to your issues.
* if you need to modify native plugin code, you should fork the repo and manage 
your changes via a git project, not in your project.  

If you use a recent enough version of Cordova, you can even pull plugins off 
git branches ( see https://issues.apache.org/jira/browse/CB-4981 ) so you could 
have different versions of your apps for different clients pull different 
branches of the same plugin.

* if you need to modify code under platforms, use an after_platform_add hook, 
and keep your customized platform files elsewhere in your project tree.  

This way, you aren't version controlling everything, just what you've had to 
change.  Of course, when the Cordova platform changes underneath you (perhaps a 
new method is added to AppDelegate.m, and the version you have in source 
control overwrites that), you need to check these files carefully.  But when 
you version control everything and you upgrade, you have to merge in your 
custom changes into the new Cordova code in the same careful manner, plus you 
are carrying around everything else under platforms. 

Of course, I'm a big believer in the CLI, having everyone use the entire CLI 
toolchain, and treating everything under platforms and plugins as derived code 
that you can replace at any time.  If this isn't how you develop (if you prefer 
the 'native project dev' workflow, for example), then this may not work for you.

Thanks.
Dan

PS Can you explain how keeping all the code in source control makes your merges 
as you move from Cordova version to Cordova version easier?  To me, that would 
seem to make them more difficult.





On Monday, January 6, 2014 5:38 PM, Andrey Kurdumov kant2...@googlemail.com 
wrote:
 
About plugin and platform version control.
I heard a lot about that, and confused why you think that everybody would
like to remove ./plugins and ./platforms folders from source control. I do
agree that this is most likely the case for the simple applications and for
the maybe 99% of current Cordova users, but I don't believe that this is
truly important for the Cordova as the ecosystem for the cross-platform of
the mobile development.

Let me explain why I think that keep ./platforms and ./plugins under source
control very important. I would base my reasoning on my current project
needs.
I currently develop 2 similar products for different clients from the same
domain. I understand that in future I will have another clients from same
problem domain which would like to have similar applications, just with
different design. So I take the route of having 1 product line and
customization of that product line for each client, depends on their needs.
This is client facing application, so I would like to cover as much mobile
platforms as possible with minimum amount of efforts. Currently I support
only Android and iOS platforms, but envision that my clients will expand to
the Windows Phone soon, and maybe I will force them to support Tizen in
next year if that platform would be world-wide popular.
I position my self as
a) heavy Cordova user
b) middle/low platform specific development. (I have to go deep in each
platform, but that's not priority for me as Cordova users)
I maintain 3 Git branches. 1 branch for core product and 2 branches for
each client. In each branch I keep, platform specific code for the
application (cordova-platform-ios/android code), Cordova plugins code +
plugins developed specifically to this application.
I definitely sure that I will need to add some functionality to the core
platforms, either iOS or Android which will benefit the my application. I
would try to push to the core Cordova as much as I can, but possible that
not all contribution would be useful for the Cordova. Either way I plan for
update to next version of Cordova (3.4, or 3.5 whenether). To keep my
changes, which I add to current version of Cordova (3.3) and make update to
3.4 and later easier I keep all code in the source control to make all my
future merges easier. Same rules apply to the plugins,maybe I add some
code/fixes to plugins, or not don't matter - I have to plan for that.
I would like to contribute to Cordova everything what will benefit the
community to meet my selfish goals:
I want to make my upgrade path as straightforward as possible, for platform
code and for plugins code.

Maybe I was too verbose, but that was just to explain that I plan to align
my long-term goals with Cordova's long-term goals. I try to gave more
explanation, so you guys could plan not only for people which create
projects which are working on the specific version of Cordova, but also for
the guys which want to nurture their product together with Cordova.

I plainly don't see:
a) how I 

Re: Google Glass Support

2013-12-24 Thread Dan Moore
Hi Ross.

Wow, this will be really cool!

You can manipulate the Android manifest and listen for intents with a plugin.  
See this example plugin.xml that does so: 
https://github.com/8zrealestate/android-referrer-plugin/blob/master/plugin.xml

Some of the limits of plugins right now (unless things have radically changed 
since I looked at them in Cordova 3.0):
* you cannot remove nodes from an xml file
* you cannot change values or attributes of xml file nodes
* you can't modify any other kind of file.

If you need to do any of the above kind of file manipulation, you should use a 
hook.  But I don't know a way to include a hook into a plugin.  

--
Dan Moore
https://leanpub.com/developingwithcordovacli/ 



Re: CLI version to install

2013-12-24 Thread Dan Moore
Hi John,

I believe

npm view cordova

shows all the versions available in npm.

Dan



Re: RELEASENOTES.md and coho

2013-12-11 Thread Dan Moore
Hi folks,

As a user, having all the release information in one place would be fantastic.  
I understand your desire to have a rapid release schedule (documented, as best 
as I can tell, here: 
http://phonegap.com/2012/04/12/rolling-releases-how-apache-cordova-becomes-phonegap-and-why/
 ).

But for normal app developers, having a clear understanding of what they get 
when upgrading (what features, bug fixes, improvements, etc have happened since 
the last release) is extremely helpful.  Doing this will probably increase 
adoption of the latest versions of cordova.

Another option different from having everything on one blog would be to do 
something like what phonegap.com/blog does--a mix of content hosted there and 
content excerpts pulled in from other blogs.  (I don't know the exact mechanism 
nor how hard it would be to implement, though.)

Cheers,
Dan





On Wednesday, December 11, 2013 11:39 AM, Andrew Grieve agri...@chromium.org 
wrote:
 
Joe - would you be willing to write the blog post on Cordova's blog instead
of a personal blog? Each cordova blog post does have an author with an
optional link.

I think having things on Cordova's blog rather than personal / downstream
ones makes things more trusted  discoverable.



On Wed, Dec 11, 2013 at 1:27 PM, Joe Bowser bows...@gmail.com wrote:

 On Wed, Dec 11, 2013 at 10:23 AM, Andrew Grieve agri...@chromium.org
 wrote:
  Yep, my main concern is communicating what's changed to our users for
  releases. Whether this file actually exists, or when it's updated, I care
  less about.
 
  Joe - if you don't think a single blog post is a good way to
 communicating
  this, what's a good alternative? Should we have each platform write a
 blog
  post as a part of the release instead of release notes?
 

 Yes, because until recently that's what we did.  Shaz wrote the iOS
 one, and either Simon or I wrote a blog post about Android.  These
 would then be syndicated and put on the phonegap.com blog.  We used to
 have a perfectly good solution to this problem which went away roughly
 around when 3.0.0 came out. 
 This mostly went away because of time
 constraints and the fact that my own blog sucks ass and needs to be
 migrated to a real server.  I think we need to go back to this.

 Also, this is a good way for people to get exposure and get their name
 out there, so there's way more reward for doing this than just writing
 RELEASENOTES.md which will be buried in the release and may or may not
 be read.

 
  On Wed, Dec 11, 2013 at 11:05 AM, Josh Soref jso...@blackberry.com
 wrote:
 
  Michal wrote:
   when doing a release, you usually have to make
 a
   mental note of what is worth testing, which usually means going
 through
  the
   changelog anyway, which means it isn't really adding serious time to
 the
   release process.
 
   However, this shouldn't be codified into our processes,
   and should be the responsibility of whoever is doing the blog post,
 not
   whoever is doing the release, and those two aren't always the same.
 
  +1
 
  One problem is that the release blog seems to be pro forma and hurried.
 
  I've written
 release notes with blog entries. Doing them well is
  worthwhile.
 
  A few things that can help:
  1. Tagging issues at filing / analysis / resolution with a release note
  indicator (yes, no)
  2. Working on the release notes before the release process finishes -
 you
  probably already have 90% of the release fixes known a few days before d
  day. The last fixes can be yes/no as they're committed.
  3. It's important not to have Fixed x; backed out fix for x. People
  reading release notes don't care about the process between the previous
  release and now, they want a clear indication of what has actually

 changed.
 
 
   So lets remove the requirement, and I guess the RELEASNOTES.md file
 from
  the repos?
 
  +1
  -
  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.
 


Re: library use in plugins

2013-11-20 Thread Dan Moore
Hi Erik,

Here is a stackoverflow question that might address some of your concerns, at 
least around ios frameworks: 

http://stackoverflow.com/questions/19803542/how-to-add-a-third-party-framework-to-a-cordova-3-0-custom-plugin/20026559#20026559

Dan



Re: Media device does not initiate

2013-11-20 Thread Dan Moore
Hi Peter,

This is a mailing list about the development of the Cordova framework.  

For questions regarding actual use of Cordova, you should post to the google 
group: https://groups.google.com/forum/m/#!forum/phonegap

Thanks,
Dan 



Re: Tag 2.9.1

2013-10-16 Thread Dan Moore
Hi folks,

I know this is a dev list, so please let me know if I'm out of line posting 
(since I am a user and not a dev), but I couldn't restrain myself from chiming 
in on this issue.

First, thanks for supporting 2.9.x for a while.  As a user developing on top of 
Cordova, chasing Cordova versions can be tough.  I really felt good about 
committing to 2.9, especially since 3.x was such a big (good, but big) change.

As a user, I would advocate for:
* having a clear end of life date for 2.9.x (3.5 or 6 months or whichever comes 
first).  The blog is a fine place to put this, but I'd also add it to the 2.9 
docs, announce it on the phonegap google group, etc.
* porting as much as possible back (including iOS 7 support)
* documenting what you can't or won't backport in the blog and in the 2.9.x 
docs, so users can make an informed choice.

From this thread, seems like you aren't interested in porting new device 
support back to 2.9.x.  That is a bummer.  Is that because of the effort?  

When I read that 2.9.x was going to be supported for a 'long time': 
http://www.infil00p.org/introducing-cordova-2-8-1-on-android/  I wasn't sure 
what that meant, but I hoped it meant support for major new versions of devices 
(especially on the two marquee platforms).

As far as no one moving to 3.x, I would say that when you specify the end of 
life of 2.9.x, that will be a clear signal it is time to move.

Anyway, I'm sure I can live with whatever is decided, but please do communicate 
this as clearly and loudly as you can to us users.

Thanks!


--
Dan Moore
Developing with Cordova CLI
https://leanpub.com/developingwithcordovacli



 From: Brian LeRoux b...@brian.io
To: dev@cordova.apache.org dev@cordova.apache.org 
Sent: Wednesday, October 16, 2013 9:02 AM
Subject: Re: Tag 2.9.1
 

yes and yes!


On Wed, Oct 16, 2013 at 9:49 AM, Marcel Kinard cmarc...@gmail.com wrote:

 So my intepretation of these comments is:
 - backport fixes to 2.9 for serious platform breakages and easy plugin
 changes, not new features (new device OS capability such as iOS 7 is
 considered a new feature)
 - stop backporting anything to 2.9 when 3.5 comes out

 If so, should this be spelled out somwhere, such as
 cordova.apache.org/blog?

 On Oct 15, 2013, at 8:24 PM, Brian LeRoux b...@brian.io wrote:

  3.5
 
  (Or six months.)
 
  But ya, what Jesse said.
 
  On Tuesday, October 15, 2013, Jesse wrote:
 
  I would not add iOS7 support.
  I would consider adding any plugin changes if it is not too difficult
 to do
  so.
 
  @purplecabbage
  risingj.com
 
 
  On Tue, Oct 15, 2013 at 4:56 PM, Shazron shaz...@gmail.comjavascript:;
  wrote:
 
  Nothing is completely broken in iOS 7, although with iOS 7 issues
 that
  is
  debatable. If we keep patching 2.9.x no one will move on to 3.x... (at
  least for iOS). There has to be an ending...
 
 
  On Tue, Oct 15, 2013 at 4:53 PM, Jesse purplecabb...@gmail.com
 javascript:;
  wrote:
 
  Decide what is completely broken in your platform, that is reasonable
  to
  fix, and fix it.
  No promises ... just fix what we can, and document that it is fixed. I
  think...
 
  @purplecabbage
  risingj.com
 
 
  On Tue, Oct 15, 2013 at 3:10 PM, Shazron shaz...@gmail.com
 javascript:;
  wrote:
 
  One question about this that was not answered. When does back-porting
  end?
  I'm not sure what we promised for 2.9.x support going forward...
 
 
  On Tue, Oct 15, 2013 at 1:16 PM, Jesse purplecabb...@gmail.com
 javascript:;
 
  wrote:
 
  Okay, I am actively working on back-porting plugin fixes into 2.9.1
  for
  WP7, WP8, and Windows8
  What is the status of Android, BB, iOS, ... ?
 
 
 
  @purplecabbage
  risingj.com
 
 
  On Mon, Oct 7, 2013 at 12:58 PM, Jesse MacFadyen 
  purplecabb...@gmail.com javascript:;
  wrote:
 
  Yes, now that 3.1.0 is out the door, we can do this.
 
  Sent from my iPad
 
  On Oct 7, 2013, at 10:36 AM, Joe Bowser bows...@gmail.com
 javascript:;
 
  wrote:
 
  I think we need to just have everyone go through their work
  over
  the
  past month and see if they missed backports.  I didn't actually
  have
  very much missed, and I just backported the File plugin in the
  2.9.1
  branch.  Of course, with backporting, we need more people to
  look
  at
  what was in 3.1.0 and the plugins and check to make sure we
  backport
  everything, since this is really tricky and spans all the
  plugin
  repos. :(
 
  On Mon, Oct 7, 2013 at 10:00 AM, Marcel Kinard 
  cmarc...@gmail.com javascript:;
  wrote:
  This thread seems to have gone quiet without a consensus.
  Should
  there
  be additional 2.9.x releases going forward?
 
  If so, how often? What kind of fixes should be backported?
  Include
  updated docs?
 
  On Oct 1, 2013, at 2:50 PM, Jesse purplecabb...@gmail.com
 javascript:;
 
  wrote:
 
  As soon as we are done with 3.1.0 it would be a good time to
  go
  back
  and
  back-fill for a 2,9,1 release.
 
  Who's with me?
 
 
 
 
 
 



Re: Tag 2.9.1

2013-10-16 Thread Dan Moore
Hi folks,

I know this is a dev list, so please let me know if I'm out of line posting 
(since I am a user and not a dev), but I couldn't restrain myself from chiming 
in on this issue.

First, thanks for supporting 2.9.x for a while.  As a user developing on top of 
Cordova, chasing Cordova versions can be tough.  I really felt good about 
committing to 2.9, especially since 3.x was such a big (good, but big) change.

As a user, I would advocate for:
* having a clear end of life date for 2.9.x (3.5 or 6 months or whichever comes 
first).  The blog is a fine place to put this, but I'd also add it to the 2.9 
docs, announce it on the phonegap google group, etc.
* porting as much as possible back (including iOS 7 support)
* documenting what you can't or won't backport in the blog and in the 2.9.x 
docs, so users can make an informed choice.

From this thread, seems like you aren't interested in porting new device 
support back to 2.9.x.  That is a bummer.  Is that because of the effort?  

When I read that 2.9.x was going to be supported for a 'long time': 
http://www.infil00p.org/introducing-cordova-2-8-1-on-android/  I wasn't sure 
what that meant, but I hoped it meant support for major new versions of devices 
(especially on the two marquee platforms).

As far as no one moving to 3.x, I would say that when you specify the end of 
life of 2.9.x, that will be a clear signal it is time to move.

Anyway, I'm sure I can live with whatever is decided, but please do communicate 
this as clearly and loudly as you can to us users.

Thanks!


--
Dan Moore
Developing with Cordova CLI
https://leanpub.com/developingwithcordovacli



 From: Brian LeRoux b...@brian.io
To: dev@cordova.apache.org dev@cordova.apache.org 
Sent: Wednesday, October 16, 2013 9:02 AM
Subject: Re: Tag 2.9.1
 

yes and yes!


On Wed, Oct 16, 2013 at 9:49 AM, Marcel Kinard cmarc...@gmail.com wrote:

 So my intepretation of these comments is:
 - backport fixes to 2.9 for serious platform breakages and easy plugin
 changes, not new features (new device OS capability such as iOS 7 is
 considered a new feature)
 - stop backporting anything to 2.9 when 3.5 comes out

 If so, should this be spelled out somwhere, such as
 cordova.apache.org/blog?

 On Oct 15, 2013, at 8:24 PM, Brian LeRoux b...@brian.io wrote:

  3.5
 
  (Or six months.)
 
  But ya, what Jesse said.
 
  On Tuesday, October 15, 2013, Jesse wrote:
 
  I would not add iOS7 support.
  I would consider adding any plugin changes if it is not too difficult
 to do
  so.
 
  @purplecabbage
  risingj.com
 
 
  On Tue, Oct 15, 2013 at 4:56 PM, Shazron shaz...@gmail.comjavascript:;
  wrote:
 
  Nothing is completely broken in iOS 7, although with iOS 7 issues
 that
  is
  debatable. If we keep patching 2.9.x no one will move on to 3.x... (at
  least for iOS). There has to be an ending...
 
 
  On Tue, Oct 15, 2013 at 4:53 PM, Jesse purplecabb...@gmail.com
 javascript:;
  wrote:
 
  Decide what is completely broken in your platform, that is reasonable
  to
  fix, and fix it.
  No promises ... just fix what we can, and document that it is fixed. I
  think...
 
  @purplecabbage
  risingj.com
 
 
  On Tue, Oct 15, 2013 at 3:10 PM, Shazron shaz...@gmail.com
 javascript:;
  wrote:
 
  One question about this that was not answered. When does back-porting
  end?
  I'm not sure what we promised for 2.9.x support going forward...
 
 
  On Tue, Oct 15, 2013 at 1:16 PM, Jesse purplecabb...@gmail.com
 javascript:;
 
  wrote:
 
  Okay, I am actively working on back-porting plugin fixes into 2.9.1
  for
  WP7, WP8, and Windows8
  What is the status of Android, BB, iOS, ... ?
 
 
 
  @purplecabbage
  risingj.com
 
 
  On Mon, Oct 7, 2013 at 12:58 PM, Jesse MacFadyen 
  purplecabb...@gmail.com javascript:;
  wrote:
 
  Yes, now that 3.1.0 is out the door, we can do this.
 
  Sent from my iPad
 
  On Oct 7, 2013, at 10:36 AM, Joe Bowser bows...@gmail.com
 javascript:;
 
  wrote:
 
  I think we need to just have everyone go through their work
  over
  the
  past month and see if they missed backports.  I didn't actually
  have
  very much missed, and I just backported the File plugin in the
  2.9.1
  branch.  Of course, with backporting, we need more people to
  look
  at
  what was in 3.1.0 and the plugins and check to make sure we
  backport
  everything, since this is really tricky and spans all the
  plugin
  repos. :(
 
  On Mon, Oct 7, 2013 at 10:00 AM, Marcel Kinard 
  cmarc...@gmail.com javascript:;
  wrote:
  This thread seems to have gone quiet without a consensus.
  Should
  there
  be additional 2.9.x releases going forward?
 
  If so, how often? What kind of fixes should be backported?
  Include
  updated docs?
 
  On Oct 1, 2013, at 2:50 PM, Jesse purplecabb...@gmail.com
 javascript:;
 
  wrote:
 
  As soon as we are done with 3.1.0 it would be a good time to
  go
  back
  and
  back-fill for a 2,9,1 release.
 
  Who's with me?