Q& A – WaveMaker Demo/Training Webinar – March 15, 2016

Q: Is there a workflow engine ie BPMN v2 A: WaveMaker has strong integrations with APIs, web services and SDKs. You can integrate with rules engine platforms like JBPM and Drools using their Java SDKs (jars) or through their ReST APIs. You need to do this only if the workflow requires very complex workflows. Otherwise, the native capabilities of the WaveMaker should be enough to take care of your app requirements.

Q: on oracle db's there are schemas, which should be considered...what is important to consider regarding to that (schema)? do I have to import the tables over each schema or is there a way how to import the whole tables (over all schemas)...? A: WaveMaker allows you to import tables from multiple schemas. See the image below. This is the second step of importing an Oracle DB. [Steps: Import > Database > Select Oracle > ….]

Q: Can we provide read only access to a user group? A: For instance if you are dealing with an editable grid, which has an add/save button, all you to do is to hide the button for users with a specific role. If you are dealing with a specific widget then you can use the conditional read-only option as shown below. Here you need to write a one-line javascript as shown below, where the users with the role “rolename” will be presented a read-only birthdate.

Q: Can we integrate the application for SSO ? A: You can configure SSO easily through the following approach. Many of our customers are using SSO with custom security module. The authentication token can be validated for access. Also we are coming up with in-built support for SSO using soon.

Q: how to connect to external database such as AWS /MySql? any ports or other considerations? A: If you are using WaveMaker Online, then connecting to MySql database hosted on AWS should be easy. Make sure to have the IP and port publicly accessible and relevant database permissions are there. You just need to give the PUBLIC_IP details in your connection string, when you are trying to connect. See image below. This is the second step when you are trying to import a MySql DB..

Q: Hi.. How about chart integration.. like the Healthcare Dashboard you showed.. Does WaveMaker include charts? WaveMaker has a good collection of chart widgets as shown in the image below. These are D3JS based charting widgets that can provide automatic count, aggregations and groupings. You can use the following link to know more about using these widgets - http://www.wavemaker.com/learn/docs/chart- widgets/. If you want to integrate a 3rd party widget into WaveMaker, you can use prefabs to do that as shown in this blog post.

Q: Grid inside Grid. Filtering Sorting Data in Grid and Pinning like Excel is possible A: Nested grids are not currently supported. Filtering and sorting data inside grid is possible. Pinning of grid headers is possible.

Q: Can I integrate custom code from github? If you are talking about an entire application getting imported into WaveMaker, we don’t support that. But if you are talking about specific business logic represented as java classes, you can import that into WaveMaker. You can either make a jar file of these classes and do an Import > Jar or you can create java-services and copy paste the code.

Q: how we can upload excel data into tables? A: We are in the process of making this facility out of the in the platform. But as we do it, you can use the java service feature to import excel data into WM. Check out this blog - http://www.wavemaker.com/rad/import-ms-excel-documents-into-wavemaker/. This blog is slightly dated with respect to the screen shots, but the approach remains the same.

Q: Could the java service return Object in his method A: Yes you can return an object from a java service. It presents a JSON view for the UI binding. you need to have a java object with proper bean definition. setter and getter methods and default constructors. This will present each properly to be bound on UI fields. See the sample java class below: public class TestObj { private String a; private String b; //constructor public TestObj(){ } //getters and setters for variable ‘a’ public String getA(){ return a; } public void setA(String a){ this.a = a; }

//getters and setters for variable ‘a’ public String getB(){ return b; } public void setB(String b){ this.b = b; } } Once you have the java service properly defined, the variables will start appearing in the binding screen as shown in the image below:

Q: Once I'm done with my RAD efforts, how do I move my app (i.e. its code) into my "regular" IDE (e.g. Eclipse) to enable peer code reviews and extensions, testing (unit, functional, and regression testing) and formal validation for regulated sectors/industries A: WaveMaker Enterprise (WME) allows you to integrate with your organization version control system (Git, SVN, etc). And then use your IDE to direclty access the code from VCS. You can also export your code to IDE using Export Zip facility as shown in the image below. Check out this blog which talks about maven support for WaveMaker projects - http://www.wavemaker.com/latest/maven-support-for-wavemaker-projects/. This blog is slightly old, but the process still remains the same.

Q: Overlay of screen is available? A: This feature is not available out-of-the-box.

Q: Can you use sql azure databases in a application A: WaveMaker supports any database supported by hibernate. Sql Azure is compatible with hibernate.

Q: Are there any possibilities for source control (git, svn, cvs)? and do we have an ability to bound CSS (themes)? A: We have integrated version control system (VCS) in our platform. We support Git, SVN, BitBucket. Check out the this URL for more details - link http://www.wavemaker.com/learn/docs/version- control/ . In the platform you can see the VCS items listed under the VCS menu as shown below:

Q: Does wave maker natively support multi tenancy or is this up to the developer A: We don’t have any out-of-the-box multi-tenancy support. There are multiple ways of achieving multi- tenancy though. Enabling any approach is very easy in WaveMaker. One of the approaches could be as follows: 1. Create a tenantid column in all your tables 2. On user registration, set a static variable to an unique tenantid. Also store that into the user table. 3. When your end user logs in, set the tenant id static variable from the user table. 4. For all your queries, makes sure to have the following where clause “WHERE tenantid = :tenandId” and bind the :tenantId to tenantid static variable. 5. In your UI, make sure that the data that shows up is only for a particular logged in user.

Q: What other deployment platforms other than AWS. Heroku? Etc.. A: For WaveMaker Online, we support instant deployment to AWS at this moment. We have plans to support App Engine soon. With WaveMaker Enterprise (on-premise), you can enable WaveMaker in your own infrastructure and have an instant deployment configured.

Q: Is there ORM? If yes, how it works? I mean instead of going to DB may I start to define ObjectStructure? A: WaveMaker uses Hibernate and Spring for the generated apps. Hibernate is the most popular ORM framework. So yes we use ORM. You have to define your structure using our DB designer.

Q: Can you generate pdf reports or excel reports A: Our release by April end will have integrated PDF generation and support for excel. Until then you can do the following: 1. Import a open source library (jar) like https://pdfbox.apache.org/ 2. Create a java service that accepts the contents as an input parameter and outputs a pdf file. The java service will call the libraries imported in step 1 to do that. 3. Bind the java service to button (called Generate PDF) on-click event. This way the button click will call the java service and output a pdf