From 083afbcbde9ec8fe7f9e6cbe57f53eaddf055b19 Mon Sep 17 00:00:00 2001 From: Tomasz Mieszkowski Date: Fri, 5 Sep 2014 11:31:31 +0200 Subject: Minor clean-up in 'tipboard.js' and some html files. --- tipboard/static/js/tipboard.js | 8 ++++---- tipboard/templates/base.html | 2 +- tipboard/tests/frontend/SpecRunner.html | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tipboard/static/js/tipboard.js b/tipboard/static/js/tipboard.js index 3727608..ce0dce6 100644 --- a/tipboard/static/js/tipboard.js +++ b/tipboard/static/js/tipboard.js @@ -40,7 +40,7 @@ RendererFactory.prototype.rendererName2renderObj = { RendererFactory.prototype.createRenderer = function (rendererName) { var lower = rendererName.toLowerCase(); var rendererClass = RendererFactory.prototype.rendererName2renderObj[lower]; - if (rendererClass === undefined) { + if (rendererClass === void 0) { throw new RendererFactory.prototype.UnknownRenderer(rendererName); } return rendererClass; @@ -183,11 +183,11 @@ var renderersSwapper = new RenderersSwapper(); getPalette: function(colors) { // DEPRECATED, use paletteAsList instead var palette = []; - for (var name in colors) { + $.each(colors, function(name) { if (['black', 'white', 'tile_background'].indexOf(name) < 0) { palette.push(colors[name]); } - } + }); return palette; }, @@ -413,7 +413,7 @@ var renderersSwapper = new RenderersSwapper(); return false; // break } }); - if (typeof nextFlipIdx !== undefined) { + if (typeof nextFlipIdx !== void 0) { var tileToFlip = containerFlips[nextFlipIdx]; $(tileToFlip).addClass("flippedforward"); } diff --git a/tipboard/templates/base.html b/tipboard/templates/base.html index 950a3ff..afb9136 100644 --- a/tipboard/templates/base.html +++ b/tipboard/templates/base.html @@ -1,5 +1,5 @@ - + {% block page_title %}Dashboard{% end %} diff --git a/tipboard/tests/frontend/SpecRunner.html b/tipboard/tests/frontend/SpecRunner.html index b62052d..51b54a7 100644 --- a/tipboard/tests/frontend/SpecRunner.html +++ b/tipboard/tests/frontend/SpecRunner.html @@ -1,5 +1,5 @@ - + Sample Dashboard -- cgit v1.2.3 From 84b33e66c0bb0bc95cb222afd138b3eacc2716de Mon Sep 17 00:00:00 2001 From: Tomasz Mieszkowski Date: Fri, 5 Sep 2014 11:32:08 +0200 Subject: Two small fixes for the 'advanced_plot' tile. --- tipboard/tiles/advanced_plot.html | 2 +- tipboard/tiles/advanced_plot.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tipboard/tiles/advanced_plot.html b/tipboard/tiles/advanced_plot.html index ef31356..3076209 100644 --- a/tipboard/tiles/advanced_plot.html +++ b/tipboard/tiles/advanced_plot.html @@ -9,6 +9,6 @@ class="result label description" > -
+
diff --git a/tipboard/tiles/advanced_plot.js b/tipboard/tiles/advanced_plot.js index 04aae13..81df173 100644 --- a/tipboard/tiles/advanced_plot.js +++ b/tipboard/tiles/advanced_plot.js @@ -28,7 +28,7 @@ var renderersSwapper = new RenderersSwapper(); renderersSwapper.swap(newMeta); AdvancedPlotTile.rescaleContainers(tile); - AdvancedPlotTile.buildChart(tileId, data.plotData, newMeta); + AdvancedPlotTile.buildChart(tileId, data.plot_data, newMeta); } Tipboard.Dashboard.registerUpdateFunction('advanced_plot', updateTileAdvancedPlot); -- cgit v1.2.3 From 271876565f47da27d9a52af9e9bec705cad0cf18 Mon Sep 17 00:00:00 2001 From: Tomasz Mieszkowski Date: Fri, 5 Sep 2014 11:32:30 +0200 Subject: Minor improvements in the docs ('api' and 'configuration' sections). --- doc/api.rst | 6 ++++-- doc/configuration.rst | 21 ++++++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/doc/api.rst b/doc/api.rst index 50ae7e4..0979c70 100644 --- a/doc/api.rst +++ b/doc/api.rst @@ -43,7 +43,7 @@ Current API version: **v0.1** .. note:: In 99% of cases, probably only ``push`` and ``tileconfig`` will be of - interest to you. + interest to you (and maybe ``tiledata`` too). .. http:post:: /api/(api_version)/(api_key)/push @@ -126,7 +126,9 @@ Current API version: **v0.1** .. http:get:: /api/(api_version)/(api_key)/tiledata/(tile_id) - Retrieves data belonging to the tile specified by `tile_id`. May be useful for diagnostics. + Retrieves data belonging to the tile specified by `tile_id`. May be useful + in cases when you need to re-fetch some parts of your data (e.g. when + updating your team's stats) or just for diagnostics. :param api_version: version of API to be used :param api_key: your API key diff --git a/doc/configuration.rst b/doc/configuration.rst index a4d8f0b..c31bcd4 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -9,13 +9,13 @@ below (see section :ref:`installation`). Default configuration --------------------- -Tipboard launched after installation present a basic, empty layout – empty -tiles in 2 lines with 4 columns each. If you want to modify them, create a -"clean" config, where your changes will be introduced. Use the command:: +First thing that you need to do after successfull installation is to create an +empty config that will provide a base for your customizations. Type in this +command:: (tb-env)$ tipboard create_project -It will create the ``~/.tipboard`` dir with the following content: +It will create ``~/.tipboard`` directory with the following content: * ``settings-local.yaml`` file that defines the layout of tiles on the dashboard you are creating; @@ -35,8 +35,7 @@ It will create the ``~/.tipboard`` dir with the following content: Launching Tipboard app ---------------------- -After you have logged in to your machine, you may launch Tipboard with the -command:: +Having default config in place, you may launch Tipboard with the command:: (tb-env)$ tipboard runserver [] [] @@ -44,6 +43,9 @@ command:: ``localhost`` and ``7272``; if you want the application to listen on all the network interfaces, set ``host`` to ``0.0.0.0``). +You can now point your web browser to ``http://localhost:7272`` - you should +see a basic, empty layout with tiles in 2 lines of 4 columns each. + Customising tile layout ----------------------- @@ -137,7 +139,7 @@ One of the most useful functions is defining tiles to rotate. In a single container (i.e. in one of the fields indicated by ``col_X_of_Y`` and ``row_X_of_Y``), you may define a few tiles to be displayed in this location as items rotating at intervals defined in the configuration (similar to ads -rotating on bus/tram stops, so-called *citylights*). To achieve that: +rotating on bus/tram stops, so-called citylights). To achieve that: * add the ``flip-time-xx`` class to a container, where ``xx`` is rotation interval in seconds; @@ -239,3 +241,8 @@ this behavior and rotate only certain dashboards, just add another parameter taken into account, e.g.:: FLIPBOARD_SEQUENCE = ['my_first_dashboard', 'my_third_dashboard'] + +.. note:: + + Every change in ``settings-local.py`` file requires restart of the + application. -- cgit v1.2.3 From b76b19b62c572f02adbfbc462defe875ae4a04c5 Mon Sep 17 00:00:00 2001 From: Tomasz Mieszkowski Date: Fri, 5 Sep 2014 11:32:54 +0200 Subject: Fix for tiles' keys cache. --- tipboard/app.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tipboard/app.py b/tipboard/app.py index 59f93b4..a31ff1b 100644 --- a/tipboard/app.py +++ b/tipboard/app.py @@ -118,21 +118,26 @@ class DashboardSocketHandler(tornado.websocket.WebSocketHandler, RedisMixin, self.pubsub.disconnect() self.getter.disconnect() + @tornado.gen.engine def on_message(self, message): log.info('Message received: %s.', message) if message != 'update': return + stale_keys = set() for tile_id in self.cache: log.debug('Putting data for tile: {}'.format(tile_id)) raw = yield tornado.gen.Task(self.getter.get, tile_id) if not raw: log.warn('No data in key %s on Redis.', tile_id) - del self.cache[tile_id] + stale_keys.add(tile_id) continue data = json.loads(raw) data['tipboard'] = self.tipboard_helpers self.write_message(data) + if stale_keys: + self.cache.difference_update(stale_keys) + @tornado.gen.engine def on_publish(self, msg): -- cgit v1.2.3 From f095351d856d4c4e4fd686adcb6dd3a34803e521 Mon Sep 17 00:00:00 2001 From: Tomasz Mieszkowski Date: Fri, 5 Sep 2014 11:53:12 +0200 Subject: Added 'docs' badge. --- README.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.rst b/README.rst index be6ef7e..d5b20b0 100644 --- a/README.rst +++ b/README.rst @@ -2,6 +2,8 @@ Tipboard ======== +|docs| + Introduction ------------ @@ -82,3 +84,8 @@ License Tipboard is licensed under the `Apache License, v2.0 `_. Copyright (c) 2013-2014 `Allegro Group `_. + +.. |docs| image:: https://readthedocs.org/projects/tipboard/badge/?version=latest + :alt: Documentation Status + :scale: 100% + :target: https://readthedocs.org/projects/tipboard/ -- cgit v1.2.3