[JIRA] (JENKINS-40768) Jenkins client-side HTML5 storage API
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
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
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
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
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
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
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
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