##About this extension fork This fork is about to extend RAW to get data from external data sources, handles JSON files and deal with nested, hierarchical data structure. Therefore a new workflow is integrated in the user interface to guide the user. Based on selected attributes, nested data will be transformed to an table-like representation, so RAW can use it for visualisation.
The forked version is 1.0.0, the latest available version in December 2016. However, in the last days, there were a lot of changes publ 985E ished to the original project, containing commits from the last couple of years (which were unpublished till now !?). Feature comparison is still to come.
Load data from external sources Not only copy and paste or given CSV-files, to deal with Cross-Origin-Resource-Sharing a proxy server is given in the project files. See example down below.
JSON format Handle JSON data format and metadata will be extracted, too. Handle hierarchical (nested) data structure in JSON as it may come from webservice oder NOSQL-database. Therefore a transformation is needed to convert nested data structure to 2 dimensional table-like representation, so RAW can continue with it like before. Internally, the nested data will be transformed to an relational database like representation and based on the selected metadata fields, the final data transformation will be done. A user interface workflow guides the user through the steps. This logic is extracted as angular service to a separate repo ds-angular-nested-json-to-table, available as NPM or Bower dependency.
Overview of this extension Take a look at the Video Demo on YouTube or images below
Sample of nested, hierarchical data structure
Extended User Interfaces including a workflow as guideline
Selection of the nested metadata
The resulting transformed data, based on the selected metadata.
##About RAW
RAW is an open web tool developed at the DensityDesign Research Lab (Politecnico di Milano) to create custom vector-based visualizations on top of the amazing d3.js library by Mike Bostock. Primarily conceived as a tool for designers and vis geeks, RAW aims at providing a missing link between spreadsheet applications (e.g. Microsoft Excel, Apple Numbers, Google Docs, OpenRefine, …) and vector graphics editors (e.g. Adobe Illustrator, Inkscape, …).
RAW works with delimiter-separated values (i.e. csv and tsv files) as well as with copied-and-pasted texts from other applications (e.g. Microsoft Excel, TextWrangler, TextEdit, …). Based on the svg format, visualizations can be easily edited with vector graphics applications for further refinements, or directly embedded into web pages.
Knowing the need of working with sensitive information, the data uploaded to RAW is processed only by the web browser: no server-side operations or storages are performed and no one will see, touch or copy your data!
RAW is also highly customizable and extensible, accepting new custom layouts defined by users. For more information about how to add or edit layouts, see the Developer Guide.
- App page: app.raw.densitydesign.org
- Project official page: raw.densitydesign.org
- Documentation: github.com/densitydesign/raw/wiki
- Google group: groups.google.com/forum/#!forum/densitydesign-raw
##Usage The easiest way to use RAW is by accessing the most updated version on the official app page. However, RAW can also run locally on your machine: see the installation instructions below to know how.
##Installation If you want to run your instance of RAW locally on your machine, be sure you have the following requirements installed.
###Requirements
###Instructions
Clone RAW from the command line:
$ git clone git://github.com/densitydesign/raw.git
browse to RAW root folder:
$ cd raw
install client-side dependencies:
$ bower install
You can now run RAW from your local web server. For example, you can run Python's built-in server:
$ python -m SimpleHTTPServer 4000
or for Python 3+
$ python -m http.server 4000
Once this is running, go to http://localhost:4000/.
Troubles with the installation? Maybe a look at the issues page can solve your problem, otherwise join the Google group.
##Documentation and Support
Documentation and FAQs about how to use RAW can be found on the wiki.
##Charts
Information about the available charts can be found here. Adding new charts is very easy in RAW, see how here!
If you have any suggestion or request about new layouts to include, please let us know! If you have already created new charts and you would like to see them included into Raw, please send us a pull request.
##Libraries
RAW has been developed using a lot of cool stuff found out there:
angular.js
angular-bootstrap-colorpicker
angular-ui
bootstrap
bootstrap-colorpicker
Bower
canvas-toBlob.js
CodeMirror
d3.js
FileSaver.js
jQuery
jQuery UI Touch Punch
ZeroClipboard
##Roadmap
Refactoring using reusable charts as layoutsIntroducing continuous color scales (for numeric values)Mobile support- Improving documentation and API Reference
- Creating and exporting legends
- PDF export
##Team and Contacts
RAW has been developed and maintained at DensityDesign Research Lab by:
Giorgio Caviglia giorgio.caviglia@gmail.com
Michele Mauri michele.mauri@polimi.it
Giorgio Uboldi giorgio.uboldi@polimi.it
Matteo Azzi matteo.azzi@polimi.it
If you want to know more about RAW, how it works and future developments, please visit the official website. For any specific request or comment we suggest you to use Github or the Google group. If none of these worked for you, you can write us at raw@densitydesign.org.
##Contributing
Want to contribute to RAW's development? You are more than welcome! Start by forking the repository (the "Fork" button at the top-right corner of this page) and follow the instructions above to clone it and install dependencies. Then you can use Github's issues and pull requests to discuss and share your work.
##License
RAW is provided under the LGPL (Lesser General Public License) v.3:
Copyright (c), 2013-2014 DensityDesign Lab, Giorgio Caviglia, Michele Mauri,
Giorgio Uboldi, Matteo Azzi
<info@densitydesign.org>
<giorgio.caviglia@gmail.com>
<michele.mauri@polimi.it>
<giorgio.uboldi@polimi.it>
<matteo.azzi@polimi.it>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.