Wavemaker: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
Line 16: Line 16:
== Getting started ==
== Getting started ==


First download and install. I used the Ubuntu .deb package and did '''sudo dpkg --install wavemaker_6.5.3.Release_amd64.deb'''.
First, download and install. I used the Ubuntu .deb package and did ''sudo dpkg --install wavemaker_6.5.3.Release_amd64.deb''.


Next build a database. Come back when you are done.
Next, build a database. I have some commands to build my sample database here: [[Motion database]]. Come back when you are done.
You can build one in Wavemaker but it's a lot of work. Use pgadmin or a text file and psql.
You can build a database directly in Wavemaker but it's more work than doing it with database tools. Use pgadmin3 if you don't like psql.


I have some commands to build my sample database here: [[Motion database]].
Start Wavemaker running (as ''yourself'' not root). On my Linux server I run this: ''/opt/wavemaker-6.5.3.Release/bin/wavemaker.sh''
 
Start Wavemaker running (as yourself not root). On my Linux server I run this:
/opt/wavemaker-6.5.3.Release/bin/wavemaker.sh


When running on a server it tries to open to "localhost" in your browser. You have to plug in the correct server name or IP address.
When running on a server it tries to open to "localhost" in your browser. You have to plug in the correct server name or IP address.
It runs on port 8094. So for example, open http://kilchis:8094/ instead of http://localhost:8094/


The intent is that you build on a staging server and deploy to [http://cloudfoundry.com/ Cloud Foundry]. I don't know how to deploy yet!
The intent is that you build on a staging server and deploy to [http://cloudfoundry.com/ Cloud Foundry]. I don't know how to deploy yet!
Line 33: Line 31:
A project directory is created in your home directory.
A project directory is created in your home directory.


  /home/AGI/bwilson/WaveMaker 6.5.2.Release/projects/MotionDBDemo
  ~bwilson/WaveMaker
  [bwilson@dart MotionDBDemo]$ '''cat file_map_readme.txt''' ''this file gives details on what's in all the files here''
  [bwilson@dart MotionDBDemo]$ '''cat file_map_readme.txt''' ''this file gives details on what's in all the files here''



Revision as of 17:18, 30 May 2013

Overview

Wavemaker is a RAD browser based development tool for creating Java/Javascript/Ajax applications. Wavemaker is 100% open source. (Apache 2 license)

I am interested in it because I need to create applications backed by PostgreSQL databases.

Get it from http://wavemaker.com/ -- download and run the installer. On a Mac it's an application, on Linux it installs into /opt/wavemaker-version by default.

Wavemaker is Java and comes bundled with Tomcat so you can just run it and it connects via a web browser.

Projects are stored in your home directory under WaveMaker-version on Linux or Documents/WaveMaker on Mac.

Getting started

First, download and install. I used the Ubuntu .deb package and did sudo dpkg --install wavemaker_6.5.3.Release_amd64.deb.

Next, build a database. I have some commands to build my sample database here: Motion database. Come back when you are done. You can build a database directly in Wavemaker but it's more work than doing it with database tools. Use pgadmin3 if you don't like psql.

Start Wavemaker running (as yourself not root). On my Linux server I run this: /opt/wavemaker-6.5.3.Release/bin/wavemaker.sh

When running on a server it tries to open to "localhost" in your browser. You have to plug in the correct server name or IP address. It runs on port 8094. So for example, open http://kilchis:8094/ instead of http://localhost:8094/

The intent is that you build on a staging server and deploy to Cloud Foundry. I don't know how to deploy yet! I assume I can deploy anywhere I want as long as the server supports the right pieces. (Tomcat 6)

A project directory is created in your home directory.

~bwilson/WaveMaker
[bwilson@dart MotionDBDemo]$ cat file_map_readme.txt this file gives details on what's in all the files here

Sample database

The motion database can be used keep track of bicycle and car things. It is part training log, part asset manager.

The basic tables are: trip rider photo vehicle maintenance

The junction tables are: j_trip j_photo

Importing data into Wavemaker

  1. Services in top bar
  2. Import database

Once you have done this then the tables will be available as Data Widgets but there are no joins!

Services tab (the one on the left not the one in the top bar)

Setting up relationships

Wavemaker docs on relationships and foreign keys

So far it seems to have done a pretty good job on its own.

LiveViews are like Views in a database. I can create a LiveView to access the joined results as a single Data Widget. I think.

Insert -> LiveVariable

"Related" problems

What I am having problems with is seeing details in related tables. They show in the LiveVariable but not in the actual running user interface. I found some discussion of this here: http://dev.wavemaker.com/forums/?q=node/6165 and installed the TestRelatedRelated project that was uploaded there into Dart. This was all written 2011 though, seems like it should be fixed.

I had to install MySQL and http://dart.geo-ceg.org/phpmyadmin/ to get it going.

A "LiveVariable" holds the results of a database query.

A "LiveForm" automates the creation of a form tat accesses data in a datatable.

Work around = use a view in PostgreSQL??? Make the complex join look like a single simple table. I might not get editing going tonight. Darn. Let's go make some views. Motion database#Views

Related products

Eclipse http://eclipse.org/

Spring http://springsource.com/