Setting up the modeler and your project

WEM Modeler configuration

The WEM Modeler is used to model your application. All the tools you need to build, test and publish your applications are available through the WEM Modeler.
To model your application, you define what data you need to store in your applications and what the flow of your application should be. You use the modeler to create lists to store all data, and to create flowcharts that define the working of your application.
If you need access to external sources, need single-signon, make your application multi-lingual, etc.: everything is done through the modeler.

To make it all work there are a number of settings that set up your project correctly. In this article we explain how workspaces, projects, widgets, etc. are managed. With that knowledge you can get the most out of your WEM Project.

If you don't see some of the features or settings as described in these articles, you might not have the appropriate authorization level.

Menu Bar

At the very top, on the right you find a small menu bar with several options:

Here you can:

  • Create new projects
  • Manage your widgets
  • Manage your workspaces
  • Access your account information

Create new Project

Projects are the basis of your application. Every application is created within a project. So to get started on a new application means that you need to create a new project.

When you click on New Project +, you are presented with the following popup:

To create a new project, simply enter a Project name and select the correct Workspace. Hit the Ok button and the project is created and becomes available in the Modeler.

There is 1 option which is selected by default: Share database. What does this mean?
In your WEM project you create all logic, the data model, flowcharts, etc. You also define the URL to your application and the look and feel (this is done through specifying a template). We call the combination of URL and template a portal. It is possible to create multiple portals in a project. You would do this for several reasons, for example:

  • you want the same application to be available via different URLs, different look and feel, different starting points;
  • the application is used by different organizations, that access the application through their own URL and their have own look and feel;

To do this you create multiple portals in you project. The question however is: do these applications need to share data or not?
If the various portals in a project all need their own data and/or prevent users from the other portals to access the data, you cannot share a database. On the other hand, if the users of the various portals can/must share all the data, you share the database (this is the default).

NOTE: you can only specify if you want to share the database or not, at the time when you create the project. This setting cannot be changed once the project is created.

Manage Widgets

Widgets are special components you can use to enhance the user's experience beyond the standard UI components WEM offers.

WEM itself has a number of widget libraries that are shipped with the product, such as widgets to include a Google Map, Charts, color picker, reCaptcha, calendar and many more. It is also possible to create your own widgets. So there is a section where you can manage your own widgets.
When you click on Widgets </>, the Widgets tab is opened and you can access the Widgets section. Initially the only thing you see is an overview of all your workspaces and the workspaces you have access to:

You can now do the following:

  • Create a new widget
  • Create a new widget library
  • Import a widget
  • Delete a widget or widget library

Widgets can only exist within a widget library, so creating a new widget can only be done when a library is available.
For all actions above, the same principle applies: first select the workspace, library or widget before you execute the action. So select a Workspace to add a library to that workspace, or select a library to delete that library or add a widget to the library, etc.
When you want to import a widget, make sure the widget is packaged in a zip file. Only WEM-specific widgets can be imported. A widget can be downloaded from the WEM Modeler, which will package the result as a zip file that can be imported into another widget library.

The widget library (with its widgets) will appear on the toolbar when you get to creating user interaction screens (Templates, in the Template Editor).

Creating Widgets

The Widgets tab is not only the place to manage your widgets and widget libraries, but this is also where you build (new) widgets.

Widget Management

It is beyond the scope of this article to describe how you build a new widget. It is an advanced topic, and WEM provides a training class for those who are interested in building their own widgets.

My Workspace

WEM modeler uses the concept of ‘workspaces’. A workspace is a collection of projects. E.g, you might have projects that are all concepts, or ideas and store these in a workspace called ‘Concepts’. Or maybe a collection of demo projects that you store in a ‘Demo’ Workspace.

A workspace holds several properties that can be shared across all the projects within the workspace, like: * workspace-level users; * Master template location and default; * Runtime environments; * SMTP settings.

When My Workspaces is selected in the menu bar, you are presented with the list of your workspaces:

There is always at least 1 Workspace available, which is created when you created your account. This Workspace is called: \<your name\> Workspace.

From the Workspace overview you can:

  • Add a new Workspace by pressing the New button,
  • Delete an existing Workspace by select a Workspace and then hitting the Delete button,
  • Edit the properties of an existing Workspace.

Adding a new Workspace / Editing an existing Workspace

Adding a new Workspace of editing an existing Workspace presents the same form (only the header is different (“New Workspace” vs “Edit Workspace”). There are three ways to get to this form:

  • Selecting the New button
  • Select a Workspace and then click on Settings
  • Doubleclick on a Workspace

Property Description
Name The name of the Workspace
Default master template The default master template to be used for all projects within this Workspace
Default runtime environment for staging Specifies the default staging-runtime to be used for all projects within this Workspace (usually just 1)
Default runtime environment for live Specifies the default live-runtime to be used for all projects within this Workspace (usually just 1)

A runtime environment can only be added, managed and made available by WEM Administrators; it links to the specific servers where the actual application will be provided from.

Deleting a Workspace

When a Workspace is selected, the ‘Delete’ button becomes available.

When the ‘Delete’ button is selected the Workspace and all projects in that Workspace are deleted.

If there are any projects in that Workspace that should not be deleted, you need to move these projects to another Workspace first, to prevent accidental deletion of a project.

Collaboration and Workspaces

An important feature is the ability to collaborate with others on Projects of Workspaces. This way you can build an application with multiple people. When you are the owner of a Workspace, you can invite people to collaborate on projects in that Workspace. Once that invitation is accepted, the other user(s) will see you Workspace in their own Projects and Workspace overviews.

A user has a specific role within a Workspace or Project. The following roles can be assigned to users:

User role Description:
Workspace User A User on Workspace-level has the right to work on all projects in the Workspace (i.e. model and build an application)
Workspace Power User A Power User has the same rights as a regular User, but can also: publish and configure all projects as well as edit widgets
Workspace Admin An Admin has the same rights as a Power User, but can also: manage projects and workspace settings
Workspace Owner An Owner has the same rights as an Admin, but can also change ownership. There can be only one
Project User A User on project-level has the right to work in this specific project (i.e. model and build an application)
Project Power User A Power User has the same rights as a regular User, but can also: publish and configure this project
Project Admin An Admin has the same rights as a Power User, but can also: manage project

In schema:

Project
user

power user

admin
Workspace
user

power user

admin

owner
Edit project * * * * * * * make changes to project elements, flowcharts, datamodel
Publish project * * * * * publish to staging and live environments to make the application available to end-users
Configure project * * * * * edit project settings, create/copy/delete portals
Manage project * * * manage project-level users
Edit widgets * * * create/edit/delete widgets
Manage workspace * * create/copy/delete projects, edit workspace settings, manage workspace-level users
Change workspace owner * change the owner of the workspace

When you create a new Workspace, you automatically become the Owner of that Workspace.

To manage access to a Workspace, select a Workspace and click on the ‘Users’ button. You now get a list of all users that have access to this particular Workspace. In this list you can also see what the role of a user is within that Workspace.
Example:

From this form you have the following options available:

  • Invite more people
    When you select this option, a new form is presented where you can enter the email address of the user(s) you want to invite to collaborate within this Workspace. You can enter multiple email addresses, separate by a comma.

    You can also enter a message that will be part of the email invitation that is sent to the user(s).
    At the upper right hand corner, there is a link called “workspace user”, when you click on that link, you can select the role you would like to give to the user(s) you are inviting. If these users all need different roles, you need to add them separately, because the selected role will apply to all the users you enter on this form. the email address should be linked to a WEM account

  • Resend invite
    As long as an invited user has not yet accepted the invitation, the invited user has the remark “(pending)” behind his/her name. When this is the case, you can select that user, and hit the “Resend invite” button to resend the invitation to this particular user.

  • Remove from workspace
    Users can be deleted from a Workspace by selecting them and then hitting the “Remove from Workspace” button. The user will then be deleted from the Workspace and will no longer have access to the Projects of this Workspace.

  • Leave Workspace
    When you select “Leave Workspace”, you remove yourself from this particular Workspace. You will no longer have access to the Workspace and the Projects that are part of the Workspace.

SMTP settings

It is possible to send email from within your WEM application. By default, this mail is sent using WEM's mail server. However there are some situations where this is not desirable. And in some of these cases you may want to use your own mail server to send email from within a WEM application.

Using your own 'from' mail address

If you want to send email from your own email address, you can do this. However, the WEM-Mailserver needs to be authorized to do this. And the way to to this, is by adding an SPF record to your DNS configuration. If this is what you need: please contact us, so we can provide you or your domain administrator with the correct details.

You need access to all mail follow-up

It is possible that mail doesn't get delivered. E.g. an email bounces because a mailbox is full or the user doesn't exist. This information is logged in the mailserver's log files. To be more specific: it is logged in WEM's mailserver logs. In other words: you don't know if something failed when sending an email. If this is important, you can decide to use your own mailserver to send the email from. And that is where the SMTP settings are necessary: you define the email server specifications from which the mail has to be sent. WEM will not sent the email messages directly but will send it to the mailserver to handle it.
When you click on SMTP Settings, you get to the form where you can add SMTP servers (the mailservers) from which you want to send emails.

When you define a New server you need to specify the following details:

Property Description
Host This is the URL or IP address of your mail server
Port The portnumber to reach your mailserver via SMTP (the default is 25)
Username The username (if needed) to access the SMTP server
Password The password (if needed) to access the SMTP server

When this information is added, you can select this SMTP-Mailserver at portal-level to handle all email via the specified mailserver. Obviously you can also send email from your own email-address, since you are using your own mailserver.

Account Information

In the upper right corner of the WEM Modeler you can access basic profile information. When you click on your name, you get the option to either log out, or to change your name and/or password:

Make the changes that are needed, click ‘Ok’, and you are done.

Next

Next, let's look at setting up and configuring your WEM Project