wisemapping-open-source/README.md

101 lines
4.9 KiB
Markdown
Raw Normal View History

2022-01-05 22:02:06 +08:00
# Overview
2011-01-24 23:23:01 +08:00
Wise Mapping is the web mind mapping open source tool that leverages the power of Mind Maps mixing open standards technologies such as SVG and React.
WiseMapping is based on the same code product supporting [http://www.wisemapping.com].
2011-01-24 23:23:01 +08:00
2014-01-26 02:43:46 +08:00
## Compiling and Running
2012-03-19 18:43:40 +08:00
2014-01-26 02:43:46 +08:00
### Prerequisites
2014-01-09 07:28:21 +08:00
The following products must be installed:
2023-07-31 13:31:24 +08:00
* OpenJDK 17 or higher
* Maven 3.x or higher ([http://maven.apache.org/])
2022-02-23 23:39:06 +08:00
* npm 6 or higher ([https://www.npmjs.com/package/npm?activeTab=versions])
2014-01-09 07:28:21 +08:00
2014-01-26 02:43:46 +08:00
### Compiling
2014-01-09 07:28:21 +08:00
WiseMapping uses Maven as packaging and project management. It's composed of 5 maven sub-modules:
2022-01-05 13:14:14 +08:00
* wise-ui: React font-end fetcher
2014-01-09 07:28:21 +08:00
* wise-webapp: J2EE web application
The full compilation of the project can be performed executing within <project-dir>:
`mvn clean install`
2014-01-09 07:28:21 +08:00
Once this command is executed, the file <project-dir>/wise-webapp/target/wisemapping*.war will be generated.
2014-01-09 07:28:21 +08:00
### Local Development
2014-01-09 07:28:21 +08:00
The previously generated war can be deployed locally executing within the directory <project-dir>/wise-webapp the following command:
`cd wise-webapp;mvn jetty:run-war`
This will start the application on the URL: [http://localhost:8080/] using file based database.
2014-01-09 07:28:21 +08:00
User: test@wisemapping.org
Password: test
### Local Development + UI Integration
In order to reduce the life-cycle to develop UI backend testing, you can do the following hack:
2022-01-11 09:01:40 +08:00
* Clone [wisemapping-open-source](https://bitbucket.org/wisemapping/wisemapping-open-source/) and [wisemapping-frontend](https://bitbucket.org/wisemapping/wisemapping-frontend/) at the same top level directory
* Compile `wisemapping-frontend`. Details for compilation can be found in the `wisemapping-frontend` readme.
* Compile `wisemapping-open-source`
A quick and dirty solution to share changes in the UI is to manually compile the dist. This will make the loader file available without the need to publish:
2022-04-14 06:16:51 +08:00
`yarn --cwd wisemapping-frontend build;cp -r wisemapping-frontend/packages/mindplot/dist/* wisemapping-open-source/wise-ui/target/wisemapping-mindplot/package/dist;cp -r wisemapping-frontend/packages/webapp/dist/* wisemapping-open-source/wise-ui/target/wisemapping-webapp/package/dist`
### Compiling and running with docker-compose
2022-04-14 06:16:51 +08:00
Check out the [docker section](./docker/README.)
### Test reports
Individual test result reports can be found in wisemapping-open-source/wise-webapp/target/failsafe-reports/index.html
Test coverage report of unit and integration test can be found in wisemapping-open-source/wise-webapp/target/site/jacoco and wisemapping-open-source/wise-webapp/target/site/jacoco-it folders. Coverage report is generated in the verify phase of [lifecicle](https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#introduction-to-the-build-lifecyclea) using [jacoco](https://www.jacoco.org/jacoco/trunk/doc/maven.html)
2022-12-13 10:36:58 +08:00
## Google authorization
You must configure the following wisemapping properties (app.properties) in order to get google authorization working
2022-12-18 09:33:59 +08:00
* `security.oauth2.google.callbackUrl`: url where google will redirect after user authentication, tipically {frontendBaseUrl}/c/registration-google. Also, this url must be defined in google app configuration
* `security.oauth2.google.clientId`: client id from google app
* `security.oauth2.google.clientSecret`: client secret from google app
2022-12-13 10:36:58 +08:00
You must create a Google Application in [Google Cloud](https://console.cloud.google.com) and complete all the information required by Google. Here are the most important properties.
Oauth consent screen
* Authorized domains: wisemapping domain (ex: wisemapping.com), and you can add domains of other environments if needed
* Permissions
* `https://www.googleapis.com/auth/userinfo.profile`
* `https://www.googleapis.com/auth/userinfo.email`
* Test users: emails for testing, those can be used before the application is validated by Google
After that, in Credentials, you must create an `Oauth Client Id` credential
* Authorized JavaScript origins: list of authorized domains from which to redirect to Google. Ex: `https://wisemaping.com`, `https://wisemapping-testing.com:8080`
* Authorized redirect URIs: list of allowed urls to which google will redirect after authenticating . Ex: `https://wisemaping.com/c/registration-google`, `https://wisemapping-testing.com:8080/c/registration-google`
After credential was created, Google will show you the clientId and clientSecret to configure your application. For productive applications, you must **publish** your application, this is a validation process with Google.
2014-01-26 02:39:50 +08:00
## Members
2014-01-26 02:43:46 +08:00
### Founders
2022-01-11 09:04:35 +08:00
* Paulo Veiga <pveiga@wisemapping.com>
* Pablo Luna <pablo@wisemapping.com>
2014-01-20 05:21:18 +08:00
2014-01-26 02:43:46 +08:00
### Past Individual Contributors
2022-04-14 06:16:51 +08:00
* Ignacio Manzano
* Ezequiel Bergamaschi <ezequielbergamaschi@gmail.com>
2014-01-09 07:28:21 +08:00
2011-01-24 23:23:01 +08:00
## License
The source code is Licensed under the WiseMapping Open License, Version 1.0 (the “License”);
2014-01-09 07:33:00 +08:00
You may obtain a copy of the License at: [https://wisemapping.atlassian.net/wiki/display/WS/License]
2018-09-17 03:29:19 +08:00