[aerogear-dev] Push Admin UI - Updating
Kris Borchers
kris at redhat.com
Tue Jul 16 08:23:59 EDT 2013
On Jul 16, 2013, at 7:20 AM, Matthias Wessendorf <matzew at apache.org> wrote:
>
>
>
> On Tue, Jul 16, 2013 at 2:14 PM, Kris Borchers <kris at redhat.com> wrote:
>
> 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?
>
> Well,when I update the FORM and hit ENTER (let's assume this is a PUT, just for now..), aren't the entire form values sent?
>
> So, any field that changed will be udpated, I think
>
> Now if you NULL out a required field, I'd imagine that is not allowed.
So I guess I'm confused as to why there was any discussion of NULL fields being ignored then. If the form is filled in for the user, if they empty a field it should either fail (required field) or empty the value (optional field). NULL should never just be ignored, right?
>
>
>
>
>>
>>
>>
>> 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
>
>
> _______________________________________________
> 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/255ad6dc/attachment.html
More information about the aerogear-dev
mailing list