From 27e274c8722f29b49c310f165d757ebaef7ca785 Mon Sep 17 00:00:00 2001 From: Sacha Greif Date: Mon, 8 Sep 2014 17:29:55 +0900 Subject: [PATCH 1/4] working on alert banner --- .meteor/packages | 1 + .meteor/versions | 3 +- .../{ => templates}/newsletter_banner.css | 0 .../{ => templates}/newsletter_banner.html | 0 .../{ => templates}/newsletter_banner.js | 0 packages/telescope-newsletter/package.js | 12 +- packages/telescope-update-prompt/.gitignore | 1 + .../lib/client/templates/update_banner.css | 0 .../lib/client/templates/update_banner.html | 8 + .../lib/client/templates/update_banner.js | 5 + .../lib/client/update.js | 10 ++ packages/telescope-update-prompt/package.js | 27 +++ .../telescope-update-prompt/versions.json | 167 ++++++++++++++++++ 13 files changed, 229 insertions(+), 5 deletions(-) rename packages/telescope-newsletter/lib/client/{ => templates}/newsletter_banner.css (100%) rename packages/telescope-newsletter/lib/client/{ => templates}/newsletter_banner.html (100%) rename packages/telescope-newsletter/lib/client/{ => templates}/newsletter_banner.js (100%) create mode 100644 packages/telescope-update-prompt/.gitignore create mode 100644 packages/telescope-update-prompt/lib/client/templates/update_banner.css create mode 100644 packages/telescope-update-prompt/lib/client/templates/update_banner.html create mode 100644 packages/telescope-update-prompt/lib/client/templates/update_banner.js create mode 100644 packages/telescope-update-prompt/lib/client/update.js create mode 100644 packages/telescope-update-prompt/package.js create mode 100644 packages/telescope-update-prompt/versions.json diff --git a/.meteor/packages b/.meteor/packages index 88d041c92..c22e089ee 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -65,4 +65,5 @@ npm-container matb33:collection-hooks djedi:sanitize-html rajit:bootstrap3-datepicker +telescope-update-prompt diff --git a/.meteor/versions b/.meteor/versions index f4d605b09..1abb70dc3 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -91,12 +91,13 @@ telescope-i18n@0.0.0 telescope-lib@0.2.9 telescope-module-embedly@0.2.9 telescope-module-share@0.0.0 -telescope-newsletter@0.0.0 +telescope-newsletter@0.1.0 telescope-rss@0.0.0 telescope-search@0.0.0 telescope-tags@0.0.0 telescope-theme-base@0.0.0 telescope-theme-hubble@0.0.0 +telescope-update-prompt@0.1.0 templating@1.0.4 tmeasday:crypto-base@3.1.2 tmeasday:crypto-md5@3.1.2 diff --git a/packages/telescope-newsletter/lib/client/newsletter_banner.css b/packages/telescope-newsletter/lib/client/templates/newsletter_banner.css similarity index 100% rename from packages/telescope-newsletter/lib/client/newsletter_banner.css rename to packages/telescope-newsletter/lib/client/templates/newsletter_banner.css diff --git a/packages/telescope-newsletter/lib/client/newsletter_banner.html b/packages/telescope-newsletter/lib/client/templates/newsletter_banner.html similarity index 100% rename from packages/telescope-newsletter/lib/client/newsletter_banner.html rename to packages/telescope-newsletter/lib/client/templates/newsletter_banner.html diff --git a/packages/telescope-newsletter/lib/client/newsletter_banner.js b/packages/telescope-newsletter/lib/client/templates/newsletter_banner.js similarity index 100% rename from packages/telescope-newsletter/lib/client/newsletter_banner.js rename to packages/telescope-newsletter/lib/client/templates/newsletter_banner.js diff --git a/packages/telescope-newsletter/package.js b/packages/telescope-newsletter/package.js index 9533e638e..fe54f5222 100644 --- a/packages/telescope-newsletter/package.js +++ b/packages/telescope-newsletter/package.js @@ -1,4 +1,8 @@ -Package.describe({summary: "Telescope email digest package"}); +Package.describe({ + summary: "Telescope email newsletter package", + version: '0.1.0', + name: "telescope-newsletter" +}); Npm.depends({later: "1.1.6"}); @@ -30,9 +34,9 @@ Package.onUse(function (api) { ], ['client', 'server']); api.add_files([ - 'lib/client/newsletter_banner.html', - 'lib/client/newsletter_banner.js', - 'lib/client/newsletter_banner.css' + 'lib/client/templates/newsletter_banner.html', + 'lib/client/templates/newsletter_banner.js', + 'lib/client/templates/newsletter_banner.css' ], ['client']); api.add_files([ diff --git a/packages/telescope-update-prompt/.gitignore b/packages/telescope-update-prompt/.gitignore new file mode 100644 index 000000000..677a6fc26 --- /dev/null +++ b/packages/telescope-update-prompt/.gitignore @@ -0,0 +1 @@ +.build* diff --git a/packages/telescope-update-prompt/lib/client/templates/update_banner.css b/packages/telescope-update-prompt/lib/client/templates/update_banner.css new file mode 100644 index 000000000..e69de29bb diff --git a/packages/telescope-update-prompt/lib/client/templates/update_banner.html b/packages/telescope-update-prompt/lib/client/templates/update_banner.html new file mode 100644 index 000000000..3c3292ee8 --- /dev/null +++ b/packages/telescope-update-prompt/lib/client/templates/update_banner.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/packages/telescope-update-prompt/lib/client/templates/update_banner.js b/packages/telescope-update-prompt/lib/client/templates/update_banner.js new file mode 100644 index 000000000..978b921a9 --- /dev/null +++ b/packages/telescope-update-prompt/lib/client/templates/update_banner.js @@ -0,0 +1,5 @@ +Template[getTemplate('updateBanner')].helpers({ + showBanner: function () { + return true; + } +}); \ No newline at end of file diff --git a/packages/telescope-update-prompt/lib/client/update.js b/packages/telescope-update-prompt/lib/client/update.js new file mode 100644 index 000000000..58ecfddf5 --- /dev/null +++ b/packages/telescope-update-prompt/lib/client/update.js @@ -0,0 +1,10 @@ +Meteor.startup(function () { + if(Meteor.user() && isAdmin(Meteor.user())){ + HTTP.get(url, [options], [asyncCallback]) + Session.set('updateMessage', 'blabla'); + } +}); + +heroModules.push({ + template: 'updateBanner' +}); \ No newline at end of file diff --git a/packages/telescope-update-prompt/package.js b/packages/telescope-update-prompt/package.js new file mode 100644 index 000000000..44a730f08 --- /dev/null +++ b/packages/telescope-update-prompt/package.js @@ -0,0 +1,27 @@ +Package.describe({ + summary: "Telescope update prompt package.", + version: '0.1.0', + name: "telescope-update-prompt" +}); + +Package.onUse(function (api) { + + api.use(['telescope-lib', 'telescope-base'], ['client', 'server']); + + api.use([ + 'jquery', + 'underscore', + 'iron:router', + 'templating' + ], 'client'); + + + api.add_files([ + 'lib/client/update.js', + 'lib/client/templates/update_banner.html', + 'lib/client/templates/update_banner.js', + 'lib/client/templates/update_banner.css' + ], ['client']); + + +}); \ No newline at end of file diff --git a/packages/telescope-update-prompt/versions.json b/packages/telescope-update-prompt/versions.json new file mode 100644 index 000000000..99d0dadda --- /dev/null +++ b/packages/telescope-update-prompt/versions.json @@ -0,0 +1,167 @@ +{ + "dependencies": [ + [ + "application-configuration", + "1.0.0" + ], + [ + "binary-heap", + "1.0.0" + ], + [ + "blaze", + "1.0.3" + ], + [ + "blaze-tools", + "1.0.0" + ], + [ + "callback-hook", + "1.0.0" + ], + [ + "check", + "1.0.0" + ], + [ + "deps", + "1.0.1" + ], + [ + "ejson", + "1.0.0" + ], + [ + "follower-livedata", + "1.0.0" + ], + [ + "geojson-utils", + "1.0.0" + ], + [ + "html-tools", + "1.0.0" + ], + [ + "htmljs", + "1.0.0" + ], + [ + "id-map", + "1.0.0" + ], + [ + "iron:core", + "0.3.2" + ], + [ + "iron:dynamic-template", + "0.3.0" + ], + [ + "iron:layout", + "0.3.0" + ], + [ + "iron:router", + "0.9.1" + ], + [ + "jquery", + "1.0.0" + ], + [ + "json", + "1.0.0" + ], + [ + "livedata", + "1.0.7" + ], + [ + "logging", + "1.0.2" + ], + [ + "meteor", + "1.0.2" + ], + [ + "minifiers", + "1.0.2" + ], + [ + "minimongo", + "1.0.1" + ], + [ + "mongo-livedata", + "1.0.3" + ], + [ + "observe-sequence", + "1.0.1" + ], + [ + "ordered-dict", + "1.0.0" + ], + [ + "random", + "1.0.0" + ], + [ + "reactive-dict", + "1.0.0" + ], + [ + "retry", + "1.0.0" + ], + [ + "routepolicy", + "1.0.0" + ], + [ + "spacebars", + "1.0.0" + ], + [ + "spacebars-compiler", + "1.0.1" + ], + [ + "telescope-base", + "0.0.0" + ], + [ + "telescope-i18n", + "0.0.0" + ], + [ + "telescope-lib", + "0.2.9" + ], + [ + "templating", + "1.0.4" + ], + [ + "ui", + "1.0.0" + ], + [ + "underscore", + "1.0.0" + ], + [ + "webapp", + "1.0.2" + ] + ], + "pluginDependencies": [], + "toolVersion": "meteor-tool@1.0.26", + "format": "1.0" +} \ No newline at end of file From 70026cfbce19593fdae157166d95dab6a23d44ee Mon Sep 17 00:00:00 2001 From: Sacha Greif Date: Sat, 13 Sep 2014 13:52:29 +0900 Subject: [PATCH 2/4] Working on update-prompt package --- History.md | 4 +++ lib/version.js | 1 + .../lib/client/templates/update_banner.css | 22 ++++++++++++++ .../lib/client/templates/update_banner.html | 7 +++-- .../lib/client/templates/update_banner.js | 11 ++++++- .../lib/client/update.js | 30 +++++++++++++++++-- packages/telescope-update-prompt/package.js | 6 ++-- .../telescope-update-prompt/versions.json | 4 +++ 8 files changed, 78 insertions(+), 7 deletions(-) create mode 100644 lib/version.js diff --git a/History.md b/History.md index 9c0df9fd1..37c523e50 100644 --- a/History.md +++ b/History.md @@ -1,4 +1,8 @@ +## v0.9.3 “UpdateScope” + * Removed unneeded allow insert on Posts and Comments. +* Renaming `postMeta` template to `postInfo` to avoid ambiguity. +* Fixing avatar code. ## v0.9.3 “DailyScope” diff --git a/lib/version.js b/lib/version.js new file mode 100644 index 000000000..2a36c0f54 --- /dev/null +++ b/lib/version.js @@ -0,0 +1 @@ +telescopeVersion = "0.9.4"; \ No newline at end of file diff --git a/packages/telescope-update-prompt/lib/client/templates/update_banner.css b/packages/telescope-update-prompt/lib/client/templates/update_banner.css index e69de29bb..87c181f72 100644 --- a/packages/telescope-update-prompt/lib/client/templates/update_banner.css +++ b/packages/telescope-update-prompt/lib/client/templates/update_banner.css @@ -0,0 +1,22 @@ +.update-banner{ + overflow: hidden; +} +.update-content{ + float: left; +} +.update-version{ + float: left; + background: #DD3416; + color: white; + text-align: center; + padding: 5px 10px; + margin: 0px 15px 0px 0px; +} +.update-prompt{ + font-weight: bold; + line-height: 1; + margin-bottom: 5px; +} +.update-message{ + font-size: 14px; +} \ No newline at end of file diff --git a/packages/telescope-update-prompt/lib/client/templates/update_banner.html b/packages/telescope-update-prompt/lib/client/templates/update_banner.html index 3c3292ee8..44d745750 100644 --- a/packages/telescope-update-prompt/lib/client/templates/update_banner.html +++ b/packages/telescope-update-prompt/lib/client/templates/update_banner.html @@ -1,8 +1,11 @@ \ No newline at end of file diff --git a/packages/telescope-update-prompt/lib/client/templates/update_banner.js b/packages/telescope-update-prompt/lib/client/templates/update_banner.js index 978b921a9..454624299 100644 --- a/packages/telescope-update-prompt/lib/client/templates/update_banner.js +++ b/packages/telescope-update-prompt/lib/client/templates/update_banner.js @@ -1,5 +1,14 @@ Template[getTemplate('updateBanner')].helpers({ showBanner: function () { - return true; + return Session.get('updateVersion'); + }, + version: function () { + return Session.get('updateVersion'); + }, + currentVersion: function () { + return telescopeVersion; + }, + message: function () { + return Session.get('updateMessage'); } }); \ No newline at end of file diff --git a/packages/telescope-update-prompt/lib/client/update.js b/packages/telescope-update-prompt/lib/client/update.js index 58ecfddf5..0f9cddd07 100644 --- a/packages/telescope-update-prompt/lib/client/update.js +++ b/packages/telescope-update-prompt/lib/client/update.js @@ -1,7 +1,33 @@ +compareVersions = function (v1, v2) { // return true if v2 is newer than v1 + var v1Array = v1.split('.'); + var v2Array = v2.split('.'); + // go through each segment of v2 and stop if we find one that's higher + // than the equivalent segment of v1; else return false + return v2Array.some( function (value, index) { + return value > v1Array[index]; + }); + return false; +} + Meteor.startup(function () { if(Meteor.user() && isAdmin(Meteor.user())){ - HTTP.get(url, [options], [asyncCallback]) - Session.set('updateMessage', 'blabla'); + var url = 'http://localhost:3000/'; + HTTP.get(url, { + data: { + currentVersion: telescopeVersion, + siteTitle: getSetting('title'), + siteUrl: getSiteUrl() + } + }, function (error, result) { + if(result){ + var currentVersion = telescopeVersion; + var newVersion = "0.9.5"; + var message = ""; + if (compareVersions(currentVersion, newVersion)){ + Session.set('updateVersion', newVersion); + } + } + }); } }); diff --git a/packages/telescope-update-prompt/package.js b/packages/telescope-update-prompt/package.js index 44a730f08..83f29f7bb 100644 --- a/packages/telescope-update-prompt/package.js +++ b/packages/telescope-update-prompt/package.js @@ -6,7 +6,7 @@ Package.describe({ Package.onUse(function (api) { - api.use(['telescope-lib', 'telescope-base'], ['client', 'server']); + api.use(['telescope-lib', 'telescope-base', 'http'], ['client', 'server']); api.use([ 'jquery', @@ -23,5 +23,7 @@ Package.onUse(function (api) { 'lib/client/templates/update_banner.css' ], ['client']); - + api.export([ + 'compareVersions' + ]); }); \ No newline at end of file diff --git a/packages/telescope-update-prompt/versions.json b/packages/telescope-update-prompt/versions.json index 99d0dadda..0908d5a81 100644 --- a/packages/telescope-update-prompt/versions.json +++ b/packages/telescope-update-prompt/versions.json @@ -48,6 +48,10 @@ "htmljs", "1.0.0" ], + [ + "http", + "1.0.3" + ], [ "id-map", "1.0.0" From e16a0b56c1cfac0b35bbcf0802fce82e690d3650 Mon Sep 17 00:00:00 2001 From: Sacha Greif Date: Mon, 15 Sep 2014 21:32:57 +0900 Subject: [PATCH 3/4] finishing work on update package --- .../lib/client/templates/update_banner.html | 6 +++++- packages/telescope-update-prompt/lib/client/update.js | 7 ++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/telescope-update-prompt/lib/client/templates/update_banner.html b/packages/telescope-update-prompt/lib/client/templates/update_banner.html index 44d745750..c368c07c5 100644 --- a/packages/telescope-update-prompt/lib/client/templates/update_banner.html +++ b/packages/telescope-update-prompt/lib/client/templates/update_banner.html @@ -4,7 +4,11 @@

{{version}}

A new version of Telescope is available.

-

You have: {{currentVersion}}. Note: this message is only displayed to admins. Update instructions.

+

+ You have: {{currentVersion}}. Note: this message is only displayed to admins. + View changelog | + View update instructions +

{{/if}} diff --git a/packages/telescope-update-prompt/lib/client/update.js b/packages/telescope-update-prompt/lib/client/update.js index 0f9cddd07..c0c9e6557 100644 --- a/packages/telescope-update-prompt/lib/client/update.js +++ b/packages/telescope-update-prompt/lib/client/update.js @@ -11,17 +11,18 @@ compareVersions = function (v1, v2) { // return true if v2 is newer than v1 Meteor.startup(function () { if(Meteor.user() && isAdmin(Meteor.user())){ - var url = 'http://localhost:3000/'; + var url = 'http://version.telescopeapp.org/'; HTTP.get(url, { - data: { + params: { currentVersion: telescopeVersion, siteTitle: getSetting('title'), siteUrl: getSiteUrl() } }, function (error, result) { if(result){ + // console.log(result); var currentVersion = telescopeVersion; - var newVersion = "0.9.5"; + var newVersion = result.content; var message = ""; if (compareVersions(currentVersion, newVersion)){ Session.set('updateVersion', newVersion); From 8232a2e4b0b7902785215afab0fd5235377f4c93 Mon Sep 17 00:00:00 2001 From: Sacha Greif Date: Tue, 16 Sep 2014 09:12:26 +0900 Subject: [PATCH 4/4] set updateVersion to null on startup --- packages/telescope-update-prompt/lib/client/update.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/telescope-update-prompt/lib/client/update.js b/packages/telescope-update-prompt/lib/client/update.js index c0c9e6557..e51e42136 100644 --- a/packages/telescope-update-prompt/lib/client/update.js +++ b/packages/telescope-update-prompt/lib/client/update.js @@ -10,6 +10,8 @@ compareVersions = function (v1, v2) { // return true if v2 is newer than v1 } Meteor.startup(function () { + Session.set('updateVersion', null); + if(Meteor.user() && isAdmin(Meteor.user())){ var url = 'http://version.telescopeapp.org/'; HTTP.get(url, {