Wavemaker: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
 
(3 intermediate revisions by the same user not shown)
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. I have some commands to build my sample database here: [[Motion database]]. Come back when you are done.
Next build a 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.
You can build one in Wavemaker but it's a lot of work. Use pgadmin or a text file and psql.


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


Wavemaker is a development system so I suggest you do all development on a desktop system, then deploy to a server. It's possible to run it on a server. I had trouble installing the "WaveMaker System Requirements Bundle". I clicked on the "Proxy Problems" button which let me do it as two steps: download a file from Internet then upload to my wavemaker installation.
Start Wavemaker running (as yourself not root). On my Linux server I run this:
/opt/wavemaker-6.5.3.Release/bin/wavemaker.sh


If you do run on a server you have to plug in the correct server name or IP address. It runs on port 8094. So for example, you would open http://myservername:8094/wavemaker instead of http://localhost:8094/wavemaker
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.


If you go to http://localhost:8094/ instead you will see the Tomcat page. Wavemaker is running in its own instance of Tomcat.
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!
 
I assume I can deploy anywhere I want as long as the server supports the right pieces. (Tomcat 6)
The idea here is that you will build on a staging server (running on 8094) and then deploy to [http://cloudfoundry.com/ Cloud Foundry]. I assume I can deploy anywhere I want as long as the server supports the right pieces. (Tomcat 6) I have not tried yet.


A project directory is created in your home directory.
A project directory is created in your home directory.


  ~bwilson/WaveMaker
  /home/AGI/bwilson/WaveMaker 6.5.3.Release/projects/MotionDBDemo
  [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''


Line 53: Line 53:


Services tab (the one on the left not the one in the top bar)
Services tab (the one on the left not the one in the top bar)
If you make changes to the database you can re-import it in Services.


== Setting up relationships ==
== Setting up relationships ==
Line 90: Line 88:
Spring http://springsource.com/
Spring http://springsource.com/


[[Category: Java]] [[Category: Javascript]]
[[Category: Java]] [[Category: JavaScript]]
[[Category: SQL]] [[Category: PostgreSQL]]
[[Category: SQL]] [[Category: PostgreSQL]]

Latest revision as of 15:37, 27 October 2021

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. 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.

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

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.

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.

/home/AGI/bwilson/WaveMaker 6.5.3.Release/projects/MotionDBDemo
[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/