[aerogear-dev] Push Admin UI - Updating

Kris Borchers kris at redhat.com
Tue Jul 16 08:14:41 EDT 2013


On Jul 16, 2013, at 7:10 AM, Matthias Wessendorf <matzew at apache.org> wrote:

> 
> 
> 
> On Tue, Jul 16, 2013 at 2:05 PM, Kris Borchers <kris at redhat.com> wrote:
> 
> On Jul 16, 2013, at 3:05 AM, Matthias Wessendorf <matzew at apache.org> wrote:
> 
>> 
>> 
>> 
>> On Tue, Jul 16, 2013 at 9:57 AM, Sebastien Blanc <scm.blanc at gmail.com> wrote:
>> 
>> 
>> 
>> On Tue, Jul 16, 2013 at 8:36 AM, Matthias Wessendorf <matzew at apache.org> wrote:
>> 
>> 
>> 
>> On Mon, Jul 15, 2013 at 8:34 PM, Lucas Holmquist <lholmqui at redhat.com> wrote:
>> here's a scenario.
>> 
>> A user creates an "Application" then adds a new "iOS Variant" to it.
>> 
>> they decide they need to rename this Variant since they didn't name it very well.
>> 
>> There is currently no way of renaming/ updating the description of this variant without re-sending the Certificate/pass phrase.  this would be the same for Android and Simple Push,  just substitute google key and channels
>> 
>> yes - but should be easy to change :-)
>> 
>> See here:
>> https://github.com/aerogear/aerogear-unified-push-server/blob/master/src/main/java/org/jboss/aerogear/connectivity/rest/registry/applications/AndroidVariantEndpoint.java#L134-L138
>> 
>> in the "update", we just need to onbly update/replace those things that are NOT null. Of course, perhaps we need to rethink the "update validation" too:
>> https://github.com/aerogear/aerogear-unified-push-server/blob/master/src/main/java/org/jboss/aerogear/connectivity/rest/registry/applications/AndroidVariantEndpoint.java#L130-L132
>> 
>> Yes that could work even if I must admit I'm not a big fan of updating based on a null check ... Imagine someone wants to delete the description by setting it to null , that won't be possible ;)
>> 
>> well, yeah - that (the desc) is optional - I was more interested in the required fields:
>> e.g. for iOS Variant:
>> * cert/passphrase (or googlekey/networkURL on other variants)
>> PushApp:
>> * name
> 
> I'm not sure how I feel about this partial update. I'm not a big fan of saying "It's a required field but leave it null if you don't want it to change." Feels wrong.
> 
> not sure I am following, but the required fields should never be null 

Now I'm not following. Let's go through a scenario and see how each would work with your method. Imagine there are currently values in every field. What fields need values and what can be null when:

I update a single required field?
I update a single optional field?
> 
>  
> 
> If we are to do partial updates like this though, I would say it should probably use http PATCH instead of PUT, right?
> 
>> 
>> 
>> 
>>  
>> (Well not sure it is a valid use case but you see my point) and as you said we must then rethink user validation.
>> Other option is to split the update into more smaller specific updates methods ... but not sure about this also.
>> 
>> 
>> 
>>  
>> 
>>  
>>  
>> 
>> Also,  once we have a variant created,  we have a variant ID,  we should be able to use that ID( plus type? ) to do updates instead of having to pass the applicaitonID and variantID( same would go for a delete i guess ).
>> 
>> 
>> Not really sure the best way to handle this.
>> 
>> the "variantID" is not a PK, but it's unique - so a new finder is what you need. 
>> 
>>  
>> 
>> Should a user be able to update a certificate/key/channel once it has been created.
>> 
>> yes, they should be able to replace an outdated (or revoked) certificate, API etc.
>> 
>>  
>>  How would this affect any installations it might have?
>> 
>> Not at all.  so if (speaking Androind) ... a new "project" is used - there is a new SenderID - that's more impact, since the actual mobile app needs to be updated, but again that's not really a concern for the push server
>> 
>>  
>> 
>> thoughts?
>> 
>> -Luke
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>> 
>> 
>> 
>> -- 
>> Matthias Wessendorf 
>> 
>> blog: http://matthiaswessendorf.wordpress.com/
>> sessions: http://www.slideshare.net/mwessendorf
>> twitter: http://twitter.com/mwessendorf
>> 
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>> 
>> 
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>> 
>> 
>> 
>> -- 
>> Matthias Wessendorf 
>> 
>> blog: http://matthiaswessendorf.wordpress.com/
>> sessions: http://www.slideshare.net/mwessendorf
>> twitter: http://twitter.com/mwessendorf
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
> 
> 
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
> 
> 
> 
> -- 
> Matthias Wessendorf 
> 
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20130716/2e97da9a/attachment.html 


More information about the aerogear-dev mailing list