Project

Nexacro Platform creates and manages "Projects," which are stored as files with the extension xprj. Projects are generally managed as ADL (Application Definition Language), Type Definition, Global Variables, and FDL (Form Definition Language), as discussed in this chapter.

New Project Wizard

New projects can be created by using the New Project Wizard.

Menu File [New – Project]

The wizard walks you through naming the project and its location, defining its type definition, and defining the screen.

Step 1: Location

The first step is to enter the Frame Template, the path to the project and the name of the project. The project name is mandatory.

The project name cannot be used in the path.

New Project Wizard Step 1


Properties

Description

1

Frame Template

Selects the default frame for the project

2

Project Template

Select previous Project Template

3

List Style

Select the list style for the templates

4

Project Information

Display selected template

5

Objective

Specify whether to add the new project to

the current project or to create a completely

new project

6

Name

Enter the project name

7

Location

Specify path

Projects in the same folder must have unique names.

The following special characters cannot be used for IDs of projects, forms and objects.

tab new-line return \ / : ‘ * ? “ < > | ! @ # $ % ^ & ( ) - + = ~ [ ] { } , `

The following characters cannot be used as well and will display error message.

Null character strings, .(Dot), character strings starting with numbers, two-byte characters

As with any Windows environment, certain file names cannot be used with the Nexacro Platform.

The following site identifies names that cannot be used.

http://msdn.microsoft.com/en-us/library/aa365247.aspx#naming_conventions

Step 2 Definition

The next step is to set up the project's TypeDefinition.

The default character set is specified in UTF-8.

New Project Wizard 2단계

New Project Wizard 2단계


Properties

Description

1

TypeDefinition XML

Specify either

• Create new TypeDefinition from default, or

• Apply existing TypeDefinition

2

TypeDefinition XML Path

TypeDefinition XML Path

Step 3 Screen

Set up the screen information for running applications.


Description

1

Edits screen information

2

Fetches screen information from the template list

3

Adds screen

4

Deletes screen

5

Generates an ADL file that contains screen information

New Project Wizard 3단계

Screen Properties

Description

name

Screen name (unique identifier)

type

type of a device

- Many options including 'desktop', 'phone', and 'tablet'

screenwidth

Screen width (valid range: 0~65536)

sizeorientation

Specifies the direction of processing the screenwidth property

- Selects either 'landscape' or 'portrait'

- Default 'landscape' (when the type property includes 'desktop' or 'tablet')

- Default 'portrait' (when the type property is 'phone')

autozoom

Specifies whether to use the auto-zoom function

- Selects either true or false (default is false)

- If type property is 'desktop,' autozoom is not applicable.

zoommin

Specifies the minimum value for autozoom

- Unlimited if the value is a negative number. Default is -1.

zoommax

Specifies the maximum value for autozoom

- Unlimited if the value is a negative number. Default is -1.

systemos

Information on an OS for the screen

- Many options including 'windows', 'android', and 'ios'

- The default values includes all the OS property values.

systemlocale

Information on locales used in the screen

- Many options including 'af_ZA' and "zh_TW"'

- The default values includes all the locale property values.

formlayoutwidth

Specifies the width of a form layout used in the screen

formlayoutheight

Specifies the height of a form layout used in the screen

themeid property is an application property for each screen. You can specify values after an ADL file is generated.

Application Definition Language (ADL)

ADL manages styles, themes, and main frames that are generally applied to projects when launching applications.

ADL Item

ADL[Popup menu]

Menu

Function

Edit Source

Opens the Source Editing window to allow editing the XML of the selected ADL

Edit Script

Opens the Script Editing window to allow editing of the script of the selected ADL

Insert ADL Item

• Style - Add Style CSS file

• Tray - Add Tray

• Theme - Add Xtheme file

• Screen - Add screen information

Set as Active ADL

Activates a selected ADL

This menu function becomes inactive in the active ADL.

Copy

Function not supported in ADL menu

Cut

Function not supported in ADL menu

Paste

Function not supported in ADL menu

Collapse All

Hides ADL detail

Expand All

Displays ADL detail

Screen Template

Edits the screen template list

Copy Full Path

Copies the path where a selected ADL file is stored to the clipboard

Open Containing Folder

Opens and displays the location containing a selected ADL file in Windows Explorer

Close

Function not supported in ADL menu

Save

Saves the selected ADL

Save As…

Saves the selected ADL using a different name

Rename

Renames the selected ADL

Generate

Builds the selected project:

• Generate Application

• Generate Themes

• Generate File

Refresh

Reloads ADL XML

Delete

Deletes the selected ADL

MainFrame

The MainFrame is an element composing Nexacro Platform application's basic screen. It has ChildFrame as a subordinate element and by default is created when a project is created.

MainFrame[Popup Menu]

MainFrame[Popup Menu]

Menu

Icon

Function

Edit


Edit MainFrame details

Insert Frame


Adds frame objects to the selected MainFrame

Copy

Function not supported in MainFrame menu

Cut

Function not supported in MainFrame menu

Paste

Function not supported in MainFrame menu

Collapse All


Hides MainFrame detail

Expand All


Displays MainFrame detail

Copy Full Path


Copies the path to the selected MainFrame to the clipboard

Open Containing Folder


Opens and displays the folder containing the selected MainFrame in Windows Explorer

Close


Function not supported in MainFrame menu

Save

Saves the MainFrame

Save As…


Function not supported in MainFrame menu

Rename


Function not supported in MainFrame menu

Generate


Generates either the application or themes

Refresh


Function not supported in MainFrame menu

Delete


Delete the selected MainFrame

ChildFrame, a frame that can come at the lower level of MainFrame, has form information in the shape of URL and shows the form on the screen. It implies the basic unit screen for loading a form.

Theme

You can change the style of project by selecting a user-developed Theme.

Theme Functions

Access the Themes menu and select the function you want to perform.

Themes[Popup Menu]

Themes[Popup Menu]

Menu Function

Description

Edit

Accesses the Theme Editor

New Theme

Adds a new theme

Insert Theme

Inserts a theme

Copy

Function not supported by Themes menu

Cut

Function not supported by Themes menu

Paste

Function not supported by Themes menu

Collapse All

Hide theme detail

Expand All

Display theme detail

Copy Full Path

Copies the path to the selected theme to the clipboard

Open Containing Folder

Opens and displays the folder containing the selected theme file in

Windows Explorer

Close

Function not supported by Themes menu

Save

Function not supported by Themes menu

Save As…

Function not supported by Themes menu

Rename

Function not supported by Themes menu

Generate

Generates either the application or themes

Refresh

Function not supported by Themes menu

Manage an Existing Theme

To manage an existing theme, select the theme from the tree and the function you want to perform.

Theme[Popup Menu]

Theme[Popup Menu]

Menu Function

Icon

Description

Edit


Opens the Theme Editor

Set as Active Theme


Indicates that the selected theme should be applied to the project when the project is opened.

Copy

Function not supported by Themes menu

Cut

Function not supported by Themes menu

Paste

Function not supported by Themes menu

Collapse All


Function not supported by Themes menu

Expand All


Function not supported by Themes menu

Copy Full Path


Copies the path the the selected theme to the clipboard

Open Containing Folder


Opens and displays the folder containing the theme in Windows Explorer

Close


Closes the Theme Editor

Save

Saves the theme

Save As…


Saves the theme being edited under another name

Rename


Changes the theme name

Generate


Generates either the application or themes

Refresh


Function not supported by Themes menu

Delete


Deletes the selected theme

Working with Image and CSS Files

When checking image files, you can see image file information at the bottom of image preview window.

Theme Editor

Manage image and CSS files using the following functions.

Theme Editor[Popup Menu]

Theme Editor[Popup Menu]

Menu Functions

Description

Edit

Opens the CSS Editor

(For details of CSS Editor, refer to descriptions in Style)

New Folder

Create new folder in Theme

Insert File

Add image file or CSS file

Remove File

Delete selected file in tree from the list

Rename

Edit name of selected file in tree

Set Extern

Select image file to be saved at Extern File in deploy theme function. CheckBox will be set to uncheck state.

When you select the built-in Theme (default.theme) this function does not appear.

Unset Extern

Set Extern File from the menu to off. CheckBox will be set to check state.

When you select the built-in Theme (default.theme) this function does not appear.)

ScreenInfo

Access the Popup menu associated with the ADL item in the Project Explorer window to add new screen information.

To edit screen information, select ScreenInfo under the ADL item.

ScreenInfo[Popup Menu]

ScreenInfo[Popup Menu]

Menu Function

Description

Edit

Accesses the Screen Editor

Insert Screen

Adds a new screen

Copy

Function not supported by ScreenInfo menu

Cut

Function not supported by ScreenInfo menu

Paste

Function not supported by ScreenInfo menu

Collapse All

Hides ScreenInfo detail

Expand All

Displays ScreenInfo detail

Copy Full Path

Copies the selected ADL file path to the clipboard

(ScreenInfo information in included in the ADL file.)

Open Containing Folder

Opens and displays the folder containing the ADL file in the Windows Explorer

Close

Function not supported by ScreenInfo menu

Save

Saves the ScreenInfo

Save As…

Function not supported by ScreenInfo menu

Rename

Function not supported by ScreenInfo menu

Generate

Generates either the application or themes

Refresh

Function not supported by ScreenInfo menu

The ScreenInfo Editor provides the same editing functions as the previously mentioned Variable Editor.

ScreenInfo Editor


Properties

Description

1

Add

Button that adds new screen information

2

Del

Button that deletes selected screen information on ScreenInfo Grid

3

Screen Information Grid

Grid that displays the screen information of project that will be used

4

Properties window

Screen information selected in the ScreenInfo Grid is displayed in windows the same way, and can be edited

5

Add Application Property

Button that adds application property information to the screen information

Add Application Property

Selecting Add Application Property in the Properties window displays a dialog window for inputting application property information.

ScreenInfo Editor


Item

Description

1

Screen name

Displays a selected screen name

2

Align

Chooses how to align the property list (Group/Alphabet)

3

Application property list

Displays available application property information to be added to the screen information.

When you input a value, click the OK button. The Application group is created in the Properties window and the designated property item is added.

When you delete a value from the property list, the associated property item is removed from the Properties window.

You can delete the added application property information by using the context menu.

Tray

You can add applications' icons to the system tray of Windows. Then, you can control applications through the tray-related features such as a pop-up menu opened from the tray.

Adding Icons

You can add a tray icon by accessing [Inset ADL Item > Tray] from the context menu of an ADL file. Then, you can see a new tray icon under the created "Trays" group. If you want to add another tray icon, select "Insert Tray" from the context menu of the Trays group or press "Add" button on the tray editor panel.

Added icons will be displayed on the system tray of Windows when the relevant application is launched.

Adding Pop-up Menu Items

You can assign only one action for clicking an application icon on the system tray. However, you can set multiple features by using a pop-up menu.

Access items on the Properties window of a tray icon. Then, open the tray pop-up menu editor by clicking the button placed on the right-hand side of items. In the editor, you can create a pop-up menu and add items by setting an innerdataset.

The process of adding items is the same with the ones applied to a Menu component or PopupMenu component. The value of levelcolumn begins with 0. You can set a shortcut by applying "&" to a certain item of captioncolumn.

Executing Tray

Added icons will be displayed on the system tray of Windows when the relevant application runs on the runtime environment. You should add the below event script to allow users to open the registered pop-up menu by clicking the relevant icon on the system tray.

this.Tray0_onlbuttonup = function(obj:Tray, e:nexacro.MouseEventInfo)
{
	obj.items['item00'].trackPopup();
}

Managing TypeDefinition

In Nexacro Studio, you can register and update Components in TypeDefinition and use them as prefixes.

Project_Explorer_1

Access the TypeDefinition context menu for different functions you can use.

Project_Explorer_2

TypeDefinition[Popup Menu]

Menu Function

Description

Edit

Opens the TypeDefinition Editor

Insert Typedefinition Item

Opens the wizard to add a new protocol to the Protocols tab of TypeDefinition

Copy

Function not supported by TypeDefinition menu

Cut

Function not supported by TypeDefinition menu

Paste

Function not supported by TypeDefinition menu

Collapse All

Hides TypeDefinition detail

Expand All

Displays TypeDefinition detail

Copy Full Path

Copies the path to the selected TypeDefinition to the clipboard

Open Containing Folder

Opens and displays the folder containing the selected TypeDefinition file in Windows Explorer

Close

Function not supported by TypeDefinition menu

Save

Function not supported by TypeDefinition menu

Save As…

Function not supported by TypeDefinition menu

Rename

Function not supported by TypeDefinition menu

Generate

Generates the selected component, one of:

• Application

• Themes

• Service

• File

Refresh

Reload TypeDefinition XML

Editing TypeDefinition Items

Open the Edit TypeDefinition window to add, edit, or delete an item by selecting Edit from the context menu or by double-clicking the TypeDefinition item.

Objects

Edit_TypeDefinition

Component Definition

Column

Description

Type

Type of component

ID

Component ID

ClassName

ClassName of component

Image

Image that will be used in the toolbar of component

Default Width

Default width of component

Default Height

Default height of component

Modules

To use additionally developed components, you must register (add) related modules on the Modules tab.

Design components used in Nexacro Platform, such as Button and Checkbox, and invisible components such as Dataset, are managed in the library registered on the Modules tab. For applications to work properly, make sure that the library folder in use is set up in an accessible path.

Edit_TypeDefinition-Modules

Protocols

In Protocols, you can register/delete protocols as well as manage the device types to which each protocol is applied. Moreover, you can register information of modules and classes for each device type.

Edit_TypeDefinition-Protocols_2

Device type

Column

Description

Runtime

ModuleName

This is the name of a binary module, which is a DLL file located in the target path. You can register the module by specifying the name of the DLL file.

TargetPath

This is the path from which a binary module is obtained.

HTML5

Classname

This is the class name of a protocol used in the HTML5 environment.

Android

Classname

This is the class name of a protocol used in the Android environment.

iOS

Classname

This is the class name of a protocol used in the iOS environment.

Services

Access the Services tab for managing service definitions, and the folder path or Internet URL.

Use the Add and Delete button to add new services or delete selected services.

Edit_TypeDefinition_Services

Service Definition

Column

Description

PrefixID

PrefixID of Service

Type

Service Type

Url

Path of a service

CacheLevel

Whether and what type of caching to use

Codepage

Codepage name

Language

Language to use

Version

Service version information

Communication version

Communication version information

ServiceList

Path for calling a service list (This item will be activated if you specify a service type as "bs" or "metadata.")

DatasetLayout

Path for calling a model service layout (This item will be activated if you specify a service type as "bs" or "metadata.")

ExecuteUrl

Path for executing a business service (This item will be activated if you specify a service type as "bs.")

File Extension

List of file extensions that are managed in a service (This item will be activated if you specify a service type as "file.")

You can specify multiple extensions by dividing them with semicolons. (eg. js;txt;xfdl;xml)

Include Sub-directory

Determines whether to include sub-directories. (This item will be activated if you specify a service type as "file.")

Search Column

Specifies the columns to search when you handle data in the metadata editor (This item will be activated if you specify a service type as "metadata.")

You can specify multiple extensions by dividing them with semicolons. If you specify no value, all columns will be searched.

The following types of strings should not be used in specifying a PrefixID as they may cause an error.


- An empty string

- A string beginning with a number

- A string that overlaps an existing PrefixID

- A string that includes a special character as below

space(' '), \t, \n, \r, \, /, :, ;, *, ?, ', ", <, >, |, !, @, #, $, %, ^, &, (, ) , -, +, =, ~, [, ], {, }, `, comma(,), dot(.)

The file types allowed in the Project Explorer differ according to service types.

Service Definition

Service Type

File extension

form

*.xfdl, *.xjs, *.js

js

*.js, *.xjs

file

Any file types.

If you specify certain file extensions when creating a service, only the relevant types are allowed.

css

*.css

JSP

The service is used only as a prefix ID and not displayed in the Project Explorer.

ASP

The service is used only as a prefix ID and not displayed in the Project Explorer.

SAP

The service is used only as a prefix ID and not displayed in the Project Explorer.

bs

business service dataset

metadata

metadata service dataset

Each service manages only the files whose types are acceptable to the types of the relevant services. Unacceptable files will not displayed in the Project Explorer.

Unacceptable files will not be copied in the process of generation or deployment. For instance, a JSON file will not be copied if it is located in a service whose type is "form."

As for the JSP, ASP and SAP types, even their directories will not be copied.

JSP, ASP and SAP services are used only as prefix IDs, and their files do not appear in Nexacro Studio.

Update Tab

The Update Definition manages the file distribution and version information. You can add and delete updates using Add and Delete buttons.

Edit_TypeDefinition-Update_3

Update Definition

Column

Description

SystemType

Select system type (Windows, Android, iOS)

OS

Select OS type

Device

Select device type

UpdateUrl

Path in the server for updating components

EngineUrl

URL for installing the engine

EngineSetupKey

Key for installing the engine

EngineVersion

Version of the engine

Timeout

Allowed waiting time (This item will be activated if you specify SystemType as "Android" or "iOS.")

Retry

Number of retries (This item will be activated if you specify SystemType as "Android" or "iOS.")

AutoUpdate

Select "auto" or "manual" (This item will be activated if you specify SystemType as "Android" or "iOS.")

Description

Additional memos (This item does not affect system operation)

Resource

Type

Resource file type (Object, Theme, File, Engine)

File

File name (including an extension)

TargetPath

Path for update (Destination)

Version

Version of the update file

If the domain specified as UpdateUrl does not match the path of the relevant XADL file, the update will not be conducted.

If the XADL file is stored in your local computer, an update will be conducted regardless of domain information.

For explanation on options needed to develop mobile device apps, please refer to the Administrator Guide documents.

The below restrictions have been added since the version 14.0.1.3200 as part of countermeasures against security threats.


• An update will be conducted only when an alias path is designated as a target path.

• An update will not be allowed when the start menu folder is designated as a target path.

• You cannot specify a relative path (e.g. "../") as a target path.

Service Refactoring

When changing the Prefix ID of a service being used in a TypeDefinition, the refactoring function is automatically performed.

Service Rename

This figure shows all of the Prefix ID before it is changed in the current project list. When you click the Rename button, the checked items are changed automatically.

Metadata

This is a feature designed to connect matadata to Nexacro Studio. The metadata will be used in the form of a dataset, or used to specify the value of the id or text property.

Metadata Registration

Metadata can be registered through the Services tab in the TypeDefinition editor.

You can register only one metadata service in a project. If you try to register more than one, an error will stop you by showing the below message.

To create a metadata service, you need further settings: specifying "Service List" and "DatasetLayout."

Service List

This item is used to designate a dataset file. The below script contains exemplary source codes of a file that can be specified as ServiceList. To employ a dataset as metadata, you must enter the fixed value "metadata" to the "DOMAIN" and "MODEL" columns.


Column ID

Description (fixed value in red)

1

DOMAIN

metadata

2

MODEL

metadata

3

DESCRIPTION

description

4

DATASOURCE

used data source

<?xml version="1.0" encoding="utf-8"?>
<Root xmlns='http://www.nexacroplatform.com/platform/Dataset' ver='4000'>
<Parameters>
	<Parameter id="ErrorCode" type="int">0</Parameter>
	<Parameter id="ErrorMsg" type="string">success</Parameter>
</Parameters>
<Dataset id="termService">
	<ColumnInfo>
		<Column id="DOMAIN" type="string" size="255"/>
		<Column id="MODEL" type="string" size="255"/>
		<Column id="DESCRIPTION" type="string" size="255"/>
		<Column id="DATASOURCE" type="string" size="255"/>
	</ColumnInfo>
<Rows> 
	<Row>
		<Col id="DOMAIN">metadata</Col>
		<Col id="MODEL">metadata</Col>
		<Col id="DESCRIPTION">description</Col>
		<Col id="DATASOURCE">DB</Col>
	</Row> 
</Rows>
</Dataset>
</Root>

DatasetLayout

This item is used to designate information to include in the dataset. The below script contains exemplary source codes of a file that can be specified as DatasetLayout. The dataset layout includes the information on an output dataset and metadata dataset. You must enter the fixed value "metadata" to the "name" column of the output dataset. You also must specify the ID of the metadata dataset as "metadata."


Column ID

Description (fixed value in red)

1

name

metadata

2

type

dataset

3

description

Description about the data

<?xml version='1.0' encoding='utf-8'?>
<Root xmlns='http://www.nexacroplatform.com/platform/Dataset' ver='4000'>
<Parameters>
	<Parameter id='svcid' type='string'></Parameter>
	<Parameter id='ErrorCode' type='int'>0</Parameter>
</Parameters>
<Dataset id='output'>
	<ColumnInfo>
		<Column id='name' type='STRING' size='50'/>
		<Column id='type' type='STRING' size='50'/>
		<Column id='description' type='STRING' size='256'/>
	</ColumnInfo>
	<Rows>
		<Row>
			<Col id='name'>metadata</Col>
			<Col id='type'>dataset</Col>
			<Col id='description'>Color code</Col>
		</Row>
	</Rows>
</Dataset>
<Dataset id='metadata'>
	<ColumnInfo>
		<Column id='CODE' type='STRING' size='50'/>
		<Column id='NAME' type='STRING' size='50'/>
	</ColumnInfo>
	<Rows>
		<Row>
			<Col id='CODE'>0048BA</Col>
			<Col id='NAME'>Absolute Zero</Col>
		</Row>
		<Row>
			<Col id='CODE'>4C2F27</Col>
			<Col id='NAME'>Acajou</Col>
		</Row>
		<Row>
			<Col id='CODE'>B0BF1A</Col>
			<Col id='NAME'>Acid green</Col>
		</Row>
		<Row>
			<Col id='CODE'>C9FFE5</Col>
			<Col id='NAME'>Aero</Col>
		</Row>
	</Rows>
</Dataset>
</Root>

A dataset layout is called with the below format.

"Service URL" + "Service List" + &domain=domain name&model=model name


If you employ an unchageable XML file as metadata, you should specify a dataset layout as the below exemplary format.

ServiceModelData.xml?service=serviceInfo

Option Setting

If you want to use metadata in specifying the value of the id or text property, you must configure a separate option. Access the menu [Tools > Options > Environment > Business Service] and select the checkbox in front of "Use user-defined metadata."

If you check the above option "Load business service layout information on Startup," Nexacro Studio loads the information on metadata whenever it opens a project. If it is unselected, you need to load metadata information manually by right-clicking the metadata in the Project Explorer and selecting the "Refresh" menu.

Metadata Used as a Property Value

If you check the "Use user-defined metadata" option, you can find a button to call metadata information in the id or text property box. Click the button and select an item to apply as the property value.

If there are too many data pieces in the metadata, you can filter them. Through the "Search Column" item in the TypeDefinition editor, you can specify which column to filter.

An applied data piece will serve as an actual property value. The property value will not be influenced by the change in the metadata since the metadata is not bound to the property value.

Metadata Used as a Dataset

To derive a dataset from metadata, select the metadata in the Project Explorer, and then drag and drop it onto the "Invisible Objects" pane.

Global Variables

The GlobalVariables object contains items used in overall projects but not included in ADL or the Form. Using any of the editors, you can add or edit these global variable items. An item can be a dataset, variable, or image.

Global Variables Item

GlobalVariables[Popup Menu]

Menu Function

Description

Edit Source

Edits Global Variables directly in the XML edit window

Insert Global Variables Item

• Dataset - Adds a new dataset and opens the Dataset Editor

• Variable - Adds a new variable and opens the Variable Editor

• Image - Adds an image

Copy

Function not supported by GlobalVariables menu

Cut

Function not supported by GlobalVariables menu

Paste

Function not supported by GlobalVariables menu

Collapse All

Hides GlobalVariable detail

Expand All

Displays GlobalVariable detail

Copy Full Path

Copies the GlobalVariables file path to the clipboard

Open Containing Folder

Opens and displays the folder containing the selected GlobalVariables file in Windows Explorer

Close

Function not supported by GlobalVariables menu

Save

Saves the Global Variables

Save As…

Function not supported by GlobalVariables menu

Rename

Function not supported by GlobalVariables menu

Generate

Generates the selected component, one of:

• Application

• Themes

• File

Refresh

Reload GlobalVariables XML

Datasets

A dataset is a memory location in a table form used to process data. When a dataset is bound with components for presentation, automatic synchronization to relevant the component function is provided also.

Datasets[Popup menu]

Datasets[Popup Menu]

Menu Function

Icon

Description

Edit


Opens the Dataset Editor

Insert Dataset


Adds a new dataset to the project

Copy

Function not supported by the Datasets menu

Cut

Function not supported by the Datasets menu

Paste

Function not supported by the Datasets menu

Collapse All


Hides datasets detail

Expand All


Displays datasets detail

Copy Full Path


Copies the path to the GlobalVariables file to the clipboard

Open Containing Folder


Opens and displays the folder containing the selected GlobalVariables file in Windows Explorer

Close


Function not supported by the Datasets menu

Save

Saves the dataset being edited

Save As…


Function not supported by the Datasets menu

Rename


Function not supported by the Datasets menu

Generate


Generates the selected component, one of:

• Application

• Themes

Refresh


Function not supported by the Datasets menu

You can add, delete or change the construction of dataset items in the Dataset Edit Window.

Dataset Editor

Dataset Editor


Properties

Description

1

Import Datasets

Loads a Dataset from a saved file

2

Export Datasets

Saves the current dataset as a file

3

Add a New Dataset

Adds a Dataset

4

Delete selected Datasets

Deletes the selected Dataset

5

Const

Sets up columns of constant data

6

Add a new Const Column

Adds a new constant column

7

Insert a new Const Column

Inserts a new constant column above the cursor location

8

Delete selected Const Columns

Deletes the selected Constant column

9

Columns

Defines Dataset columns

10

Add a new Column

Adds a new Dataset Column

11

Insert a new Column

Inserts a new Dataset column above the cursor location

12

Delete selected Columns

Deletes the selected Dataset Column

13

Rows

Defines Dataset rows

14

Add a new Row

Adds a Dataset row

15

Insert a new Row

Inserts a new Dataset row above the cursor location

16

Delete selected Rows

Delete the selected Dataset rows

Variables

Variables are used widely in a project. Manage the variables from the Variables context menu.

Variable[Popup Menu]

Variable[Popup Menu]

Menu Function

Description

Edit

Opens the Variable Editor

Insert Variable

Adds a new variable and opens the Variable Editor

Copy

Function not supported by the Variables menu

Cut

Function not supported by the Variables menu

Paste

Function not supported by the Variables menu

Collapse All

Hides Variables detail

Expand All

Displays Variables detail

Copy Full Path

Copies the path to the GlobalVariables file to the clipboard

Open Containing Folder

Opens and displays the folder containing the selected GlobalVariables file in Windows Explorer

Close

Function not supported by the Variables menu

Save

Saves Variables

Save As…

Function not supported by the Variables menu

Rename

Function not supported by the Variables menu

Generate

Generates the selected component, one of:

• Application

• Themes

Refresh

Function not supported by the Variables menu

You can add, delete, or change the construction of the variable items in the Variable Edit Window.

Variable Editor

Variable Editor


Properties

Description

1

ID

Variable Name

2

Initval

Initial value

3

Usecookie

Whether to use a cookie

4

Add Variable

Adds a variable

5

Delete Variable

Deletes the selected variable

Images

You can add or delete images used in the Project.

Add a new image by selecting Insert Image from the context menu.

Images[Popup Menu]

Manage individual images by expanding the Images group.

Image[Popup Menu]

Images/Image[Popup Menu]

Menu Function

Description

Edit

Function not supported by the Image menu

Insert Image

Opens a file dialog where you can select an image file

Copy

Function not supported by the Image menu

Cut

Function not supported by the Image menu

Paste

Function not supported by the Image menu

Collapse All

Hides Images detail

Expand All

Displays Images detail

Copy Full Path

Copies the path to the GlobalVariables file to the clipboard

Open Containing Folder

Opens and displays the folder containing the selected GlobalVariables file in Windows Explorer

Close

Function not supported by the Image menu

Save

Saves the Image definition

Save As…

Function not supported by the Image menu

Rename

Function not supported by the Image menu

Generate

Generates the selected component, one of:

• Application

• Themes

Refresh

Function not supported by the Image menu

Delete

When an individual image file is selected, deletes the selected image from the Image group

When the images group is selected, this function is not available

When an image item is selected in the Project Explorer, Image Preview is summoned automatically.

Image Preview

If you try to bring an image file that is stored not in the same drive as the project, errors can occur with respect to the path.

For instance, if you try to bring an image stored in the C drive to the project in the D drive, the relative path cannot be specified properly.

An image file is not copied in the process of generation unless the file is saved in the Services group in TypeDefinition.

Therefore, users should copy the image file into the same path in the server, plus access should be allowed to the file.

Form Creation Wizard

A new form can be created using the New Form Wizard, which is launched using Menu File [New – Form]

Step 1 Location

Enter the path and name of the form to be created. Entering the form name is mandatory, and must be unique among forms in the path.

Create New Form Wizard 1단계

Create New Form Wizard Step 1

Properties

Description

Name

Name of the form

Location

Location of the form

Step 2 Dimension

Set up the width and height of form in pixels. Menu Tool [Options] displays the default values.

Create New Form Wizard 3단계

Step 3 Position

Set up the units for measuring the position when generating a component in a form. The default is the value specified in options.

After setting up the units, click the checkbox beside 'Save position in options' on the bottom left corner to save the designated units in options.

Step 4 Layout

Set up the form layouts, indicating which screens are supported by which layout.

Automatically compose a layout according to the screen designated when a project is generated. If a form is generated by clicking 'Finish' in the previous step, a default layout is composed without any additional information.

Create New Form Wizard 4단계

Create New Form Wizard 4단계


Description

1

Edits layout information

2

Fetches layout information form Screen Template

3

Adds layout information used in a form

4

Deletes the selected layout information

Layout Properties

Description

name

Layout name (unique identifier)

screenid

Name of the screen that a layout is applied to

- Multiple screens can be selected from the list of ADL screens.

width

Layout width

height

Layout height

description

Layout description

Click 'Template' button to open the Screen Template window.

Layout Template


Description

1

Select screens to use among User/Basic templates designated in Screen Template.

Multiple screens can be selected.

2

Open the window for adding, modifying, and deleting user templates.

Modifications are immediately applied to relevant user templates

You can compose a layout with items selected in Screen Template. In the process, the name and width of the layout are automatically determined according to the name and screenwidth properties of the relevant screen.

Template정보가 추가된 New Form Wizard

FDL (Form Definition Language)

FDL Drag and Drop

Forms may be moved in service group units in a project, in a group, and between groups by using drag-and-drop or <Ctrl> + drag-and-drop.

Form Move

Form Copy

FDL Items

Form items contain subordinate items including: Layout, Objects, Script, and Bind elements.

Form Item

Form Item

Icon

Name

Explanation

Layout

Display components created in a form as lower item

Objects

Display invisible components without design

Script

Display form function lists

Bind

Display information bound on form

The context menu displayed for a form in Nexacro Studio varies based upon whether the form is open for editing. When form is open for editing, menu items such as BindItem and Layout List are enabled. When not being edited, other menus such as Edit, Insert Style, and Rename are enabbled.

FDL[Popup Menu]

FDL[Popup Menu]

Menu Function

Description

Edit

Opens the Design Window for WYSIWYG (What You See Is What You Get) form editing

Insert Style

Adds a CSS file, applied only to forms that are not loaded

BindItem

Opens the Bind Items editing window

Copy

Copies the selected form

Cut

Cuts the selected form

Paste

Pastes a copied or cut form

Collapse All

Hides form detail

Expand All

Displays form detail

Layout List

Open the Layout List editing window

Copy Full Path

Copies the path to the selected form file to the clipboard

Open Containing Folder

Opens and displays the folder containing the selected form file in Windows Explorer

Close

Closes the form (only enabled when a form is open for editing)

Save

Saves the form being edited

Save As…

Saves the form being edited under another name

Rename

Changes the name of the selected form

Generate

Generates the selected component, one of:

• Application

• Themes

• File

Refresh

Reloads the selected form

Delete

Deletes the selected form

QuickView

Launches the selected form in the QuickView viewer

Using a Template

Make a Project Template

The Project Template function saves the current project as a template. In Project Explorer, right-click on Project and select Project Template to display the Make Project Template window.

Make a Project Template

Make a Project Template


Properties

Description

1

Project Template Name

Name of the template to create

2

Select ADL to include

Select the ADL to be included in the template

3

Select a Service Group

and Files to include

Select files to include in the template

Saved templates can be selected and used to create new projects in the New Project Wizard.

New Project Wizard[Project Template]

Screen Template

You can use ready-made templates. You can register pieces of screen infomation you frequently use as user templates in Screen Template.

The Layout Template function has been removed since Version 14.0.0.40 due to changes in function.


Description

1

Button to add user-defined screen information

2

Button to delete user-defined screen information

3

Panel to edit user-defined screen information

The information in Basic Template is default values, so users cannot edit them. The information is managed in the "nexacro_os_device.xml" file located within the directory of setup files.

Creating Other Files

Style files (CSS), XML files, script files, and theme files may be created using menu option File > New > File.

New File[PopupMenu]

Create an XML File

Create a new XML file

Create a new XML file

Properties

Description

File name

Name of XML file to create

Location

Location of XML file to create

Create a JavaScript File

Create a new Java script file

Create a new Java script file

Properties

Description

File name

Name of the Javascript file to create

Location

Location of JavaScript file to create

Auto Recover

When you set up the Auto Recover function from the Tools > Options menu, Nexacro Studio will periodically save backups of files being edited.

AutoRecover Setting

With Auto Recover configured, when you open a project that was closed abnormally, Nexacro Studio will check the temporary file and prompt you to recover the file from the most recent backup.

AutoRecover Messagebox

Auto Recover displays the target recovery list and recovers the work in process using the saved backup file.

AutoRecover

New Protocol Wizard

You can add a new protocol in TypeDefinition through New Protocol Wizard. There are two ways to start the wizard.

You can choose either way to launch New Protocol Wizard.

Step 1. Protocol

In this step, you can register/delete protocols as well as select the device types to which each protocol is applied. Moreover, you can register information of modules and classes for each device type.

Item

Description

1

Add

Adds a protocol

2

Delete

Delete a selected protocol

3

Protocol ID

Protocol ID, which is also used as a service URL ([Protocol ID]://)

4

Device Type

In this section, you can determine device types to which each protocol is applied. You can apply one protocol to multiple device types. You can designate different class names for each device type that includes HTML5, Android, and iOS.

5

Runtime:

ModuleName

This is the name of a binary module. You can register a DLL file with a module name (module name.dll) after finding it in the target path.

A module name will be added to start.json.

6

Runtime;

TargetPath

This is the path from which a binary module is obtained.

A target path will be added to start.json.

7

HTML5:

Classname

This is the class name of a protocol used in the HTML5 environment.

The class name will be registered to the registerclass array of adl.js, and the protocol will be loaded with other components.

8

Android:

Classname

This is the class name of a protocol used in the Android environment.

The protocol ID and class name will be registered to the start_android.json file.

9

iOS:

Classname

This is the class name of a protocol used in the iOS environment.

The protocol ID and class name will be registered to the start_ios.json file.

The following examples show how each device type constructs protocol information.

$r_title(start.json)
"version" : "15.0.0.1",														
	"runtime" :
	{
		"target" :
		{
			"os" : "windows"
		},
		"framework" :
		[
			[framework js path]
		],
		"component" :
		[
			[component js path]
		],
		"form" :
		[
		],
		"xadl" :
		{
		},
		"protocol" :
		{
			"adaptors" :
			[
				{
					"protocolname" : "[Protocol ID]",
					"modulename" : "[modulename].dll",
					"targetpath" : "[Target Path]"
				},
				{
				}
			]
		}
		"resource" :
		{
		},
$r_title(adl.xadl.js)

// load components
var registerclass = [
	{"id":"Div", "classname":"nexacro.Div", "type":"JavaScript"},
	{"id":"Button", "classname":"nexacro.Button", "type":"JavaScript"},
	{"id":"PopupDiv", "classname":"nexacro.PopupDiv", "type":"JavaScript"},
	{"id":"Combo", "classname":"nexacro.Combo", "type":"JavaScript"},
	{"id":"CheckBox", "classname":"nexacro.CheckBox", "type":"JavaScript"},
	{"id":"ListBox", "classname":"nexacro.ListBox", "type":"JavaScript"},
	{"id":"Edit", "classname":"nexacro.Edit", "type":"JavaScript"},
	{"id":"MaskEdit", "classname":"nexacro.MaskEdit", "type":"JavaScript"},
	{"id":"TextArea", "classname":"nexacro.TextArea", "type":"JavaScript"},
	{"id":"Menu", "classname":"nexacro.Menu", "type":"JavaScript"},
	{"id":"Tab", "classname":"nexacro.Tab", "type":"JavaScript"},
	{"id":"ImageViewer", "classname":"nexacro.ImageViewer", "type":"JavaScript"},
	{"id":"Radio", "classname":"nexacro.Radio", "type":"JavaScript"},
	{"id":"Calendar", "classname":"nexacro.Calendar", "type":"JavaScript"},
	{"id":"Static", "classname":"nexacro.Static", "type":"JavaScript"},
	{"id":"Grid", "classname":"nexacro.Grid", "type":"JavaScript"},
	{"id":"Spin", "classname":"nexacro.Spin", "type":"JavaScript"},
	{"id":"PopupMenu", "classname":"nexacro.PopupMenu", "type":"JavaScript"},
	{"id":"GroupBox", "classname":"nexacro.GroupBox", "type":"JavaScript"},
	{"id":"ProgressBar", "classname":"nexacro.ProgressBar", "type":"JavaScript"},
	{"id":"Plugin", "classname":"nexacro.Plugin", "type":"JavaScript"},
	{"id":"Dataset", "classname":"nexacro.NormalDataset", "type":"JavaScript"},
	{"id":"Protocol00", "classname":"test_HTML5", "type":"Protocol"},
	{"id":"Protocol01", "classname":"Protocol01", "type":"Protocol"}
];
$r_title(start_android.json)

"version" : "15.0.0.1",
	"runtime" :
	{
		"target" :
		{
			"os" : "android"
		},
		"framework" :
		[
			[framework js path]
		],
		"component" :
		[
			[component js path]
		],
		"form" :
		[
		],
		"xadl" :
		{
		},
		"protocol" :
		{
			"adaptors" :
			[
				{
					"protocolname" : "[Protocol ID]",
					"classname" : "[Android_ClassName]",
				},
				{
				}
			]
		}
		"resource" :
		{
		},
$r_title(start_ios.json)

"version" : "15.0.0.1",
	"runtime" :
	{
		"target" :
		{
			"os" : "ios"
		},
		"framework" :
		[
			[framework js path]
		],
		"component" :
		[
			[component js path]

		],
		"form" :
		[
		],
		"xadl" :
		{
		},
		"protocol" :
		{
			"adaptors" :
			[
				{
					"protocolname" : "[Protocol ID]",
					"classname" : "[iOS_ClassName]",
				},
				{
				}
			]
		}
		"resource" :
		{
		},

Step 2. Service

In this step, a service will be created automatically for the registered protocol.

Item

Description

1

PrefixID

Service prefix ID

2

Type

This indicates the type of a service. You can select either JSP or ASP.

3

Url

This is a service URL. The protocol ID defined in the Step 1 will be used such as ‘[Protocol ID]://’, and this format is uneditable.

Step 3. Resource

This step automatically adds a resource to start.json, which was generated as a result of applying the protocol to the Runtime device type.

Item

Description

1

File

The protocol automatically designates the DLL file in the Step 1 as a resource—the DLL file refers to the one whose name was used as the module name. The resource file is a crucial element, so you cannot finish the protocol creation process unless the file is designated.

2

TargetPath

The target path mentioned in the Step 1 will be automatically designated.

You can change the values set automatically in the Resource step. However, you are advised not to do so because those values are used for start.json.

Step 4. Finish

After clicking the Finish button shown in the Step 3, you will see a new protocol, service, and resource (update) added to TypeDefinition.

The below code is a sample of TypeDefinition updated after completing New Protocol Wizard. The portions in red color represent the protocol, service and resource added through the wizard.

$r_title(default_typedef.xml)
<?xml version="1.0" encoding="utf-8"?>
<TypeDefinition version="1.2">
  <Modules>
    <Module url="CompBase.json"/>
    <Module url="ComComp.json"/>
    <Module url="Grid.json"/>
    <Module url="DeviceAPI.json"/>
  </Modules>
  <Components>
    <Component type="JavaScript" id="Div" classname="nexacro.Div"/>
    <Component type="JavaScript" id="Button" classname="nexacro.Button"/>
    <Component type="JavaScript" id="PopupDiv" classname="nexacro.PopupDiv"/>
    <Component type="JavaScript" id="Combo" classname="nexacro.Combo"/>
    <Component type="JavaScript" id="CheckBox" classname="nexacro.CheckBox"/>
    <Component type="JavaScript" id="ListBox" classname="nexacro.ListBox"/>
    <Component type="JavaScript" id="Edit" classname="nexacro.Edit"/>
    <Component type="JavaScript" id="MaskEdit" classname="nexacro.MaskEdit"/>
    <Component type="JavaScript" id="TextArea" classname="nexacro.TextArea"/>
    <Component type="JavaScript" id="Menu" classname="nexacro.Menu"/>
    <Component type="JavaScript" id="Tab" classname="nexacro.Tab"/>
    <Component type="JavaScript" id="ImageViewer" classname="nexacro.ImageViewer"/>
    <Component type="JavaScript" id="Radio" classname="nexacro.Radio"/>
    <Component type="JavaScript" id="Calendar" classname="nexacro.Calendar"/>
    <Component type="JavaScript" id="Static" classname="nexacro.Static"/>
    <Component type="JavaScript" id="Grid" classname="nexacro.Grid"/>
    <Component type="JavaScript" id="Spin" classname="nexacro.Spin"/>
    <Component type="JavaScript" id="PopupMenu" classname="nexacro.PopupMenu"/>
    <Component type="JavaScript" id="GroupBox" classname="nexacro.GroupBox"/>
    <Component type="JavaScript" id="ProgressBar" classname="nexacro.ProgressBar"/>
    <Component type="JavaScript" id="Plugin" classname="nexacro.Plugin"/>
    <Component type="JavaScript" id="Dataset" classname="nexacro.NormalDataset"/>
  </Components>
  <Services>
    <Service prefixid="Base" type="form" url="./Base/" version="0" communicationversion="0"/>
    <Service prefixid="Service00" type="JSP" url="Protocol00://" version="0" communicationversion="0"/>
    <Service prefixid="Service01" type="JSP" url="Protocol01://" version="0" communicationversion="0"/>
    <Service prefixid="Service02" type="JSP" url="Protocol02://" version="0" communicationversion="0"/>
  </Services>
  <Update>
    <Item systemtype="Windows" url="">
      <Os type="default" url="" engineurl="" enginesetupkey="" engineversion="">
        <Device type="default" url="" engineurl="" enginesetupkey="" engineversion="" desc="">
          <Resource type="Object" file="aa" failpass="false"/>
          <Resource type="File" file="test.dll" targetpath="" version="" failpass="false" desc=""/>
          <Resource type="File" file="protocolAdp.dll" targetpath="C:\Base" version="" failpass="false" desc=""/>
        </Device>
      </Os>
    </Item>
    <Item systemtype="Android" url="">
      <Os type="default" url="" engineurl="" enginesetupkey="" engineversion="">
        <Device type="default" url="" engineurl="" enginesetupkey="" engineversion="" desc="">
          <Resource type="File" file="default.zip" targetpath="C:\Users\user\Documents\nexacro\outputs" failpass="false"/>
        </Device>
      </Os>
    </Item>
    <Item systemtype="iOS" url="">
      <Os type="default" url="" engineurl="" enginesetupkey="" engineversion="">
        <Device type="default" url="" engineurl="" enginesetupkey="" engineversion="" desc="">
          <Resource type="File" file="Archive00.xzip" failpass="false"/>
        </Device>
      </Os>
    </Item>
  </Update>
  <Protocols>
    <Protocol id="Protocol00" classname="test_HTML5" targetpath="C:\apache-tomcat-6.0.36\webapps" devicetype="Runtime,HTML5,Android,iOS" modulename="test_runtime" android_classname="test_android" ios_classname="test_ios"/>
    <Protocol id="Protocol01" classname="Protocol01" devicetype="HTML5,iOS" file=""/>
    <Protocol id="Protocol02" devicetype="Runtime,HTML5,Android,iOS" modulename="protocolAdp" targetpath="C:\Base" classname="nexacro.Protocol02" android_classname="test_android" ios_classname="test_ios"/>
  </Protocols>
</TypeDefinition>