Beetle Studio (Web-based tooling for the Teiid project)
This is the official Git repository for the Beetle Studio project. Beetle Studio is a development effort intended to become, or at least influence, the next generation of Teiid web-based tooling. As a first step, capability to deploy Data Access Services is being developed. See the Teiid project for more information.
Get the code
The easiest way to get started with the code is to create your own fork of this repository, and then clone your fork:
$ git clone firstname.lastname@example.org:teiid/beetle-studio.git $ cd beetle-studio $ git remote add upstream email@example.com:teiid/beetle-studio.git
At any time, you can pull changes from the upstream and merge them onto your master:
$ git checkout master # switches to the 'master' branch $ git pull upstream master # fetches all 'upstream' changes and merges 'upstream/master' onto your 'master' branch $ git push origin # pushes all the updates to your fork, which should be in-sync with 'upstream'
The general idea is to keep your
master branch in-sync with the
Building, Deploying, and Testing Beetle Studio
Node.js (OS X 8.4.x, Fedora 6.11.x) - go here for installation instructions
Angular CLI (OS X 1.3.x, Fedora 1.4.x) - after installing Node.js, open a terminal and execute:
$ npm install -g @angular/cli
Note: If this command fails you might need to run it as
sudo. See these installation instructions for more details.
Maven 3.x (installation instructions)
Prior to running a build:
Make sure Node.js and Angular CLI are installed. See Requirements section above.
$ cd src/main/ngapp $ npm install
Then at the project root run the build by issuing this command:
$ mvn clean install
This will run the build and all of the unit tests.
Deploy Beetle Studio to Openshift
Utilize an existing Openshift installation, or install your own local Openshift. Refer to Openshift Setup.
Login to Openshift, then initiate the Beetle Studio deployment:
$ cd <BEETLE_STUDIO_REPO_DIR>/openshift $ ./beetle-os-setup.sh -h <OPENSHIFT_IP>
Monitor the pod deployments in your Openshift console. When all pods have successfully been started, you are ready to access Beetle Studio.
Access Beetle Studio
In the Openshift console, go to the beetle studio project. View the routes: 'Application > Routes'. To access Beetle Studio, navigate to the route for
Contribute fixes and features
Beetle Studio is open source, and we welcome anybody who wants to participate and contribute!
If you want to fix a bug or make any changes, please log an issue in the Teiid Tools JIRA describing the bug or new feature. Then we highly recommend making the changes on a topic branch named with the JIRA issue number. For example, this command creates a branch for the TEIIDTOOLS-1234 issue:
$ git checkout -b teiidtools-1234
After you're happy with your changes and a full build (with unit tests) runs successfully, commit your changes on your topic branch (using really good comments). Then it's time to check for and pull any recent changes that were made in the official repository:
$ git checkout master # switches to the 'master' branch $ git pull upstream master # fetches all 'upstream' changes and merges 'upstream/master' onto your 'master' branch $ git checkout teiidtools-1234 # switches to your topic branch $ git rebase master # reapplies your changes on top of the latest in master (i.e., the latest from master will be the new base for your changes)
If the pull grabbed a lot of changes, you should rerun your build to make sure your changes are still good.
You can then either create patches (one file per commit, saved in
$ git format-patch -M -o ~/teiidtools-1234 orgin/master
and upload them to the JIRA issue, or you can push your topic branch and its changes into your public fork repository
$ git push origin teiidtools-1234 # pushes your topic branch into your public fork of beetle-studio
and generate a pull-request for your changes.
We prefer pull-requests, because we can review the proposed changes, comment on them, discuss them with you, and likely merge the changes right into the official repository.
- IDE - The WebStorm IDE is the preferred development environment. See our Beetle Studio WebStorm IDE Guide for IDE development practices.
- Openshift environment - Openshift is required for Beetle Studio deployment. More detail can be found in our Openshift Setup.
- Style and Coding Guide - In general, we try to follow the style outlined by Angular defined in their style guide. More specific syntax, conventions, project structure, and formatting can be found in our Beetle Studio Style Guide.
- Internationalization (i18n) - All text visible to the user should be internationlized. The Internalization in Beetle Studio document describes the internationalization practices that should be followed.
- The Beetle Studio Developer Notes document contains information that developers may find useful in performing their daily tasks. For instance, there might be a note on how to track down a certain problem, or a note on common issues with unit tests.