[JIRA] (JENKINS-40768) Jenkins client-side HTML5 storage API

2017-03-04 Thread tom.fenne...@gmail.com (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Tom FENNELLY resolved as Done  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Jenkins /  JENKINS-40768  
 
 
  Jenkins client-side HTML5 storage API   
 

  
 
 
 
 

 
Change By: 
 Tom FENNELLY  
 
 
Status: 
 Open Resolved  
 
 
Resolution: 
 Done  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[JIRA] (JENKINS-40768) Jenkins client-side HTML5 storage API

2017-03-04 Thread jdu...@cloudbees.com (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 James Dumay stopped work on  JENKINS-40768  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
Change By: 
 James Dumay  
 
 
Status: 
 In Progress Open  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[JIRA] (JENKINS-40768) Jenkins client-side HTML5 storage API

2017-01-03 Thread tom.fenne...@gmail.com (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Tom FENNELLY commented on  JENKINS-40768  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Jenkins client-side HTML5 storage API   
 

  
 
 
 
 

 
 I'm working on this in the background in my spare time, so marking it as in-progress.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[JIRA] (JENKINS-40768) Jenkins client-side HTML5 storage API

2017-01-03 Thread tom.fenne...@gmail.com (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Tom FENNELLY started work on  JENKINS-40768  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
Change By: 
 Tom FENNELLY  
 
 
Status: 
 Open In Progress  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[JIRA] (JENKINS-40768) Jenkins client-side HTML5 storage API

2017-01-03 Thread tom.fenne...@gmail.com (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Tom FENNELLY updated an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Jenkins /  JENKINS-40768  
 
 
  Jenkins client-side HTML5 storage API   
 

  
 
 
 
 

 
Change By: 
 Tom FENNELLY  
 

  
 
 
 
 

 
 Not specifically related to Blue Ocean, but it is driving the requirements for it atm.*Problem*: HTML5 localStorage is great for storing per-domain name/value pairs, but it's a totally flat  and untyped  structure. The lack of hierarchy/namespacing makes it difficult to perform operations on subsets of data stored in localStorage e.g. to clear out (invalidate) a subset of localStorage NVPs when a new instance of Jenkins is installed, or to group a subset of NVPs and have APIs that allow the client code to just navigate those properties only e.g. log categories.*Requirements*:# Support for NVP namespacing  with  so that we can perform operations on a subset of NVPs i.e.## set and get in the namespace.## clear all NVPs in a namespace. Obviously, should not remove NVPs in other namespaces. This will e.g. allow us to clear all NVPs associated with a Jenkins "instance" after a new instance is installed, or plugins have ben added/removed/updated.## iterate all NVPs in a namespace.# Support more than just string values e.g. boolean, number, object. Not function though, obviously.# Support subspaces i.e. namespaces inside namespaces e.g. you could have the "log-gategory" namespace inside the "jenkins-instance" namespace i.e. "jenkins-instance/log-gategory". Another one might be "jenkins-instance/classes-info" for storing classes metadata Vs the client UI contantly firing REST API calls to get it (see [JENKINS-40080|https://issues.jenkins-ci.org/browse/JENKINS-40080]).# Support get fallback options whereby you can configure the get to look in parent namespaces, or if using a dot separated key in the name (the N part of the NVP) that it can be configured to check back along the "dot parent path" e.g. if "org.jenkins.a.b" has no value, then fallback and check "org.jenkins.a" etc. This would be useful for e.g. log categories.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 


[JIRA] (JENKINS-40768) Jenkins client-side HTML5 storage API

2017-01-03 Thread tom.fenne...@gmail.com (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Tom FENNELLY commented on  JENKINS-40768  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Jenkins client-side HTML5 storage API   
 

  
 
 
 
 

 
 I did some playing with this over my xmas vacation. See https://github.com/tfennelly/jenkins-js-storage. Examples of how the namespace and subspacing APIs might work can be seen in spec/StorageNamespace.js tests. Examples of how the typing APIs might work can be seen in spec/types.js tests.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[JIRA] (JENKINS-40768) Jenkins client-side HTML5 storage API

2017-01-03 Thread tom.fenne...@gmail.com (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Tom FENNELLY updated an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Jenkins /  JENKINS-40768  
 
 
  Jenkins client-side HTML5 storage API   
 

  
 
 
 
 

 
Change By: 
 Tom FENNELLY  
 

  
 
 
 
 

 
 Not specifically related to Blue Ocean, but it is driving the requirements for it atm.*Problem*:HTML5 localStorage is great for storing per-domain name/value pairs, but it's a totally flat structure. The lack of hierarchy/namespacing makes it difficult to perform operations on subsets of data stored in localStorage e.g. to clear out (invalidate) a subset of localStorage NVPs when a new instance of Jenkins is installed, or to group a subset of NVPs and have APIs that allow the client code to just navigate those properties only e.g. log categories.*Requirements*:# Support for NVP namespacing with so that we can perform operations on a subset of NVPs i.e.## set and get in the namespace.## clear all NVPs in a namespace. Obviously, should not remove NVPs in other namespaces. This will e.g. allow us to clear all NVPs associated with a Jenkins "instance" after a new instance is installed, or plugins have ben added/removed/updated.## iterate all NVPs in a namespace.# Support more than just string values e.g. boolean, number, object. Not function though, obviously.# Support subspaces i.e. namespaces inside namespaces e.g. you could have the "log-gategory" namespace inside the "jenkins-instance" namespace i.e. "jenkins-instance/log-gategory". Another one might be "jenkins-instance/classes-info" for storing classes metadata Vs the client UI contantly firing REST API calls to get it (see [JENKINS-40080|https://issues.jenkins-ci.org/browse/JENKINS-40080]).# Support get fallback options whereby you can configure the get to look in parent namespaces, or if using a dot separated key in the name (the N part of the NVP) that it can be configured to check back along the "dot parent path" e.g. if "org.jenkins.a.b" has no value, then fallback and check "org.jenkins.a" etc. This would be useful for e.g. log categories.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

 

[JIRA] (JENKINS-40768) Jenkins client-side HTML5 storage API

2017-01-03 Thread tom.fenne...@gmail.com (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Tom FENNELLY created an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Jenkins /  JENKINS-40768  
 
 
  Jenkins client-side HTML5 storage API   
 

  
 
 
 
 

 
Issue Type: 
  Task  
 
 
Assignee: 
 Tom FENNELLY  
 
 
Components: 
 blueocean-plugin  
 
 
Created: 
 2017/Jan/03 10:55 AM  
 
 
Priority: 
  Minor  
 
 
Reporter: 
 Tom FENNELLY  
 

  
 
 
 
 

 
 Not specifically related to Blue Ocean, but it is driving the requirements for it atm. Problem: HTML5 localStorage is great for storing per-domain name/value pairs, but it's a totally flat structure. The lack of hierarchy/namespacing makes it difficult to perform operations on subsets of data stored in localStorage e.g. to clear out (invalidate) a subset of localStorage NVPs when a new instance of Jenkins is installed, or to group a subset of NVPs and have APIs that allow the client code to just navigate those properties only e.g. log categories. Requirements: 
 
Support for NVP namespacing with so that we can perform operations on a subset of NVPs i.e. 
 
set and get in the namespace. 
clear all NVPs in a namespace. Obviously, should not remove NVPs in other namespaces. This will e.g. allow us to clear all NVPs associated with a Jenkins "instance" after a new instance is installed, or plugins have ben added/removed/updated. 
iterate all NVPs in a namespace. 
  
Support more than just string values e.g. boolean, number, object. Not function though, obviously. 
Support subspaces i.e. namespaces inside namespaces e.g. you could have the "log-gategory" namespace inside