|
1 | | -Thats a simple fork from Wirecloud original develop branch. The porpose of this fork is to create a docker image for a Wirecloud version supporting NGSI-LD operations. The image is published [here](https://hub.docker.com/repository/docker/joaosnd/wirecloud-ngsi-ld/general) |
| 1 | +<p align="center"> |
| 2 | + <a href="http://conwet.fi.upm.es/wirecloud"> |
| 3 | + <img width="256" src="src/wirecloud/defaulttheme/static/images/logos/wc1.png"> |
| 4 | + </a> |
| 5 | +</p> |
| 6 | + |
| 7 | +# WireCloud |
| 8 | + |
| 9 | +[](https://www.fiware.org/developers/catalogue/) |
| 10 | +[](./LICENSE) |
| 11 | +[](https://hub.docker.com/r/fiware/wirecloud/) |
| 12 | +[](https://stackoverflow.com/questions/tagged/fiware-wirecloud) |
| 13 | +[](https://pypi.python.org/pypi/wirecloud) |
| 14 | +<br/> |
| 15 | +[](http://wirecloud.readthedocs.org/en/latest/) |
| 16 | +[](https://github.com/Wirecloud/wirecloud/actions?query=workflow%3A%22Tests%22) |
| 17 | +[](https://coveralls.io/github/Wirecloud/wirecloud?branch=develop) |
| 18 | + |
| 19 | +[](https://bestpractices.coreinfrastructure.org/projects/4479) |
| 20 | + |
| 21 | +WireCloud builds on cutting-edge end-user development, RIA and semantic |
| 22 | +technologies to offer a next-generation end-user centred web application mashup |
| 23 | +platform aimed at leveraging the long tail of the Internet of Services. |
| 24 | + |
| 25 | +WireCloud builds on cutting-edge end-user (software) development, RIA and |
| 26 | +semantic technologies to offer a next-generation end-user centred web |
| 27 | +application mashup platform aimed at allowing end users without programming |
| 28 | +skills to easily create web applications and dashboards/cockpits (e.g. to |
| 29 | +visualize their data of interest or to control their domotized home or |
| 30 | +environment). Web application mashups integrate heterogeneous data, application |
| 31 | +logic, and UI components (widgets) sourced from the Web to create new coherent |
| 32 | +and value-adding composite applications. They are targeted at leveraging the |
| 33 | +"long tail" of the Web of Services (a.k.a. the Programmable Web) by exploiting |
| 34 | +rapid development, DIY, and shareability. They typically serve a specific |
| 35 | +situational (i.e. immediate, short-lived, customized) need, frequently with high |
| 36 | +potential for reuse. Is this "situational" character which precludes them to be |
| 37 | +offered as 'off-the-shelf' functionality by solution providers, and therefore |
| 38 | +creates the need for a tool like WireCloud. |
| 39 | + |
| 40 | +This project is part of [FIWARE](https://www.fiware.org/). For more information |
| 41 | +check the FIWARE Catalogue entry for |
| 42 | +[Context Processing, Analysis and Visualization](https://github.com/Fiware/catalogue/tree/master/processing). |
| 43 | + |
| 44 | +| :books: [Documentation](https://wirecloud.rtfd.io/) | :page_facing_up: [Site](https://conwet.fi.upm.es/wirecloud) | :mortar_board: [Academy](https://fiware-academy.readthedocs.io/en/latest/processing/wirecloud) | :whale: [Docker Hub](https://hub.docker.com/r/fiware/wirecloud/) | :dart: [Roadmap](roadmap.md) | |
| 45 | +|---|---|---|---|---| |
| 46 | + |
| 47 | +## Contents |
| 48 | + |
| 49 | +- [Install](#install) |
| 50 | +- [Usage](#usage) |
| 51 | +- [Bugs and feature requests](#bugs-and-feature-requests) |
| 52 | +- [Quality Assurance](#quality-assurance) |
| 53 | +- [Testing](#testing) |
| 54 | +- [License](#license) |
| 55 | + |
| 56 | +## Install |
| 57 | + |
| 58 | +```console |
| 59 | +$ sudo pip install wirecloud |
| 60 | +``` |
| 61 | + |
| 62 | +See the |
| 63 | +[installation guide](https://wirecloud.readthedocs.io/en/stable/installation_guide/) |
| 64 | +for more info. |
| 65 | + |
| 66 | +## Usage |
| 67 | + |
| 68 | +WireCloud is a user-development tool aimed both at users and developers. Users use the platform |
| 69 | +to build and/or use their interfaces using deployed widgets and developers, whereas developers do |
| 70 | +create such components by extending existing ones or creating them from scratch. |
| 71 | + |
| 72 | +In the former, final users can find useful information in the [User Guide](https://wirecloud.readthedocs.io/en/stable/user_guide/). In the latter, |
| 73 | +developers can learn how to develop components in the [Programmer Guide](https://wirecloud.readthedocs.io/en/stable/restapi/) |
| 74 | + |
| 75 | +## Bugs and feature requests |
| 76 | + |
| 77 | +Have a bug or a feature request? Please first read the |
| 78 | +[issue guidelines](docs/CONTRIBUTING.md#using-the-issue-tracker) and search for |
| 79 | +existing and closed issues. If your problem or idea is not addressed yet, |
| 80 | +[please open a new issue](https://github.com/Wirecloud/wirecloud/issues/new). |
| 81 | + |
| 82 | +## Quality Assurance |
| 83 | + |
| 84 | +This project is part of [FIWARE](https://fiware.org/) and has been rated as |
| 85 | +follows: |
| 86 | + |
| 87 | +- **Version Tested:** |
| 88 | +  |
| 89 | +- **Documentation:** |
| 90 | +  |
| 91 | +  |
| 92 | +- **Responsiveness:** |
| 93 | +  |
| 94 | +  |
| 95 | +- **FIWARE Testing:** |
| 96 | +  |
| 97 | +  |
| 98 | +  |
| 99 | +  |
| 100 | + |
| 101 | +## Testing |
| 102 | + |
| 103 | +Testing of WireCloud is based on two different frameworks. On the one side, Python code is being |
| 104 | +tested using Django's own testing capabilities. On the other side, JavaScript code testing is based |
| 105 | +on Karma and Jasmine. Both tests are run on a local copy of the |
| 106 | +[WireCloud repository on GitHub](https://github.com/Wirecloud/wirecloud), inside |
| 107 | +the `src` folder. |
| 108 | + |
| 109 | + |
| 110 | +### Python code |
| 111 | + |
| 112 | +Before running the tests, you have to ensure all the python dependencies are |
| 113 | +installed on the environment. To do so, execute the following commands on the |
| 114 | +`src` folder: |
| 115 | + |
| 116 | + $ pip install -r requirements.txt |
| 117 | + $ pip install -r requirements-dev.txt |
| 118 | + |
| 119 | +Once installed all the dependencies, you can run the Python tests by using the |
| 120 | +following command: |
| 121 | + |
| 122 | + $ python manage.py test --nologcapture -v 2 -a tags='wirecloud-noselenium' |
| 123 | + |
| 124 | +WireCloud also comes with some selenium tests that can be executed using the |
| 125 | +following command: |
| 126 | + |
| 127 | + $ python manage.py test --nologcapture -v 2 -a tags='wirecloud-selenium' |
| 128 | + |
| 129 | +In this case, you will need to have Chrome and Firefox installed as well as |
| 130 | +[chromedriver](http://chromedriver.chromium.org/) and [geckodriver](https://github.com/mozilla/geckodriver/releases). |
| 131 | + |
| 132 | + |
| 133 | +### JavaScript code |
| 134 | + |
| 135 | +Before being able to test JavaScript code, some dependencies have to be |
| 136 | +installed: |
| 137 | + |
| 138 | + $ sudo npm install -g grunt-cli |
| 139 | + $ npm install |
| 140 | + |
| 141 | +Once installed all the npm dependencies, tests can be executed using `grunt`: |
| 142 | + |
| 143 | + $ grunt |
| 144 | + |
| 145 | +## Monaco Editor |
| 146 | + |
| 147 | +Wirecloud uses the Monaco Editor as its code editor. The Monaco Editor is the code editor that powers VS Code. |
| 148 | + |
| 149 | +In order to use the Monaco Editor, install the npm dependencies and build the editor: |
| 150 | + |
| 151 | + $ npm install |
| 152 | + $ npm run build-monaco (optional, already done by npm install) |
| 153 | + |
| 154 | +This will download the Monaco Editor and build it for Wirecloud. |
| 155 | + |
| 156 | +--- |
| 157 | + |
| 158 | +## License |
| 159 | + |
| 160 | +WireCloud is licensed under Affero General Public License (GPL) version 3 (or |
| 161 | +any later, at your option) with classpath-like exception. |
| 162 | + |
| 163 | +### Are there any legal issues with AGPL 3.0? Is it safe for me to use? |
| 164 | + |
| 165 | +There is absolutely no problem in using a product licensed under AGPL 3.0. Issues with GPL |
| 166 | +(or AGPL) licenses are mostly related with the fact that different people assign different |
| 167 | +interpretations on the meaning of the term “derivate work” used in these licenses. Due to this, |
| 168 | +some people believe that there is a risk in just _using_ software under GPL or AGPL licenses |
| 169 | +(even without _modifying_ it). |
| 170 | + |
| 171 | +For the avoidance of doubt, the owners of this software licensed under an AGPL-3.0 license |
| 172 | +wish to make a clarifying public statement as follows: |
| 173 | + |
| 174 | +> Please note that software derived as a result of modifying the source code of this |
| 175 | +> software in order to fix a bug or incorporate enhancements is considered a derivative |
| 176 | +> work of the product. Software that merely uses or aggregates (i.e. links to) an otherwise |
| 177 | +> unmodified version of existing software is not considered a derivative work, and therefore |
| 178 | +> it does not need to be released as under the same license, or even released as open source. |
0 commit comments