|
How to create a new application.
|
| |
Login into zeroCode by entering the User name and Password.
Click on the create button.
Enter a name for the application. By default the option "destroy all the files in the site and start afresh" will come into effect. From the combo, select the database server where you have or would like to have your site's data hosted.
Key in the path name of the file, that contains the SQL for creating the tables that the site uses. You can also click on the Browse button and choose that file.
Enter the name of mail server, SMTP server and Time server in the respective fields.
Click on the Create button to continue.
zeroCode now analyzes the SQL you gave, it and directs you to the next stage, where you can select specific components and options for site generation.
The Build objects page appears on the screen.The General Options section appears by default. There are three options as follows:
Login Capability.
Default Paging.
Default meta-template family.
You can either choose one or all the options.
Per-table objects – By default all the tables in the schema appear on the screen along with corresponding UDM's & HTML's. Uncheck the UDM and HTML in case you do not require the respected table.
You can enable the page based security for the users as per the hierarchy in this page.
Click on the create button to create the application.
The newly created application/site is listed in this page. You can access the newly created application/site by clicking on it.
|
|
How to modify an existing application.
|
| |
Enter a name for the application in the first field. Description is optional.
If the site name already exists, choose one of the following:
Do not destroy the existing site but overwrite any new files that you create this time.
Destroy all the files in the site and start afresh.
If the site does not exist, neither of these options applies. From the combo, select the database server where you have or would like to have your site's data hosted.
Key in the path name of the file, that contains the SQL for creating the tables that the site uses. You can also click on the Browse button and choose that file.
Enter the name of mail server, SMTP server and Time server in the respective fields.
Click on the Create button to continue.
zeroCode now analyzes the SQL you gave it, and directs you to the next stage, where you can select specific components and options for site generation.
The Build objects page appears on the screen.
|
|
How to identify foreign keys of tables in a schema.
|
| |
While creating new applications, the foreign key relation of the tables in a schema, can be viewed in the 'browse-by-objects' tab of 'Build objects for site' page.
|
|
How to upload a file in the application while you are in the 'zDE'.
|
| |
As you start constructing the application you will view an icon 'upload file' on the toolbar.
By clicking on this icon you will get a browse window. This allows us to specify the location of a file which you need to upload.
|
|
How to download a file in the application while you are in the 'zDE'.
|
| |
As you start constructing the application an icon 'download as zip file' can be viewed on the toolbar.
Check the directory which you wish to download, click on this icon. You will see a 'file download pop up'. This allows us to specify the location where you want to save the file in the computer.
|
|
How to create a new directory in the application while you are in the 'zDE'.
|
| |
As you start constructing the application an icon 'create new directory' is be visible at toolbar.
By clicking on this you get an explorer window. This allows you to specify the name of the directory you want to create.
|
|
How to delete an existing directory in the application while you are in the 'zDE'.
|
| |
In the application, check the directory you want to delete by finding it in its parent directory. Click on icon 'delete directory' at toolbar.
|
|
How to create a new custom UDM.
|
| |
On the left navigator go to UDM files, then to custom, followed by directory in which you want to create a new UDM. Then click on 'Create a new custom UDM'.
Enter name and description(optional) of the UDM.
The default directory name appears in the directory field.
Select one of the relevant option by clicking in the radio button which best describes the function/utility of the UDM that is being created.
Search/retrival
Editing/updating
Click on the Create button.
|
|
How to Name a UDM.
|
| |
Use JavaScript style while naming. Please note that the name should not contain spaces in between or after the name.
|
|
How to change the directory where a UDM can be placed.
|
| |
While creating a new UDM you can choose the directory from the drop down beside 'Directory in which to create'. This allows us to change the directory in which you want to create the UDM.
|
|
How to create a node in the UDM.
|
| |
After creating UDM, go to left navigator, choose node '0' (root node) which is the name of the UDM. Then click on icon 'Add a child to select a node'. Enter name and description and continue with the design.
|
|
How to restrict or decide the functionality of a node.
|
| |
While creating the node, In Step 1: Specify the essential node attributes:
Choose one of the functions:
Read data.
Edit data.
Add new data.
Edit or add new data.
That will decide the functionality of a node.
|
|
How to get or retrieve more than one result or list of results from a database.
|
| |
While creating the node, In Step 1: Specify the essential node attributes:
Choose 'Yes' for 'Is List Node?'
|
|
How to get a single value from a database.
|
| |
While creating the node, In Step 1: Specify the essential node attributes:
Choose 'NO' for 'Is List Node?'
|
|
How to get a node number other than default node numbers.
|
| |
While creating the node, In Step 1: Specify the essential node attributes:
You can Choose Node numbers from the drop down at ID.
|
|
How to create a sibling node.
|
| |
In the UDM, choose node '0' (root node), then click on icon 'add a child to the selected node'. This will create a sibling node to the first node.
|
|
How to create a child node.
|
| |
In the UDM, choose a node, and then click on icon 'add a child to selected node'. This will create a child node of the node.
|
|
How to find node numbers.
|
| |
check the check box beside 'show attributes' on tool bar. This displays all nodes and sub - nodes at left navigator, where you will find the numbers of nodes.
|
|
How to choose a table while dealing with a database.
|
| |
While creating the node, in Step 2. Specify the node type: Choose a table from the dropdown beside the 'Database table'.
|
|
How to decide on the Number of elements to be shown in Result pages.
|
| |
While creating the node, in Step 2. Specify the node type: Choose a number from the dropdown beside 'Maximum elements to be shown in the page'.
|
|
How to retrieve data while processing a submission.
|
| |
While creating the node, in Step 2. Specify the node type: Choose 'yes' for 'retrieve while processing a submission'. This gets the node's content from its data port while processing the UDM submission.
|
|
How to Retrieve Record(s) containing the smallest values.
|
| |
In Step 3. Specify database parameters for retrieving data:
Go to Matching Records (Simple Records).
Choose Record(s) containing the smallest value of, and a field can be chosen from the drop down.
|
|
How to Retrieve Record(s) containing the largest values.
|
| |
In Step 3. Specify database parameters for retrieving data:
Go to Matching Records (Simple Records).
Choose Record(s) containing the largest value of, and a field can be chosen from the drop down.
|
|
How to get records on group basis.
|
| |
In Step 3. Specify database parameters for retrieving data:
Go to Grouped records->Grouped aggregate values.
This displays only fields of the corresponding tables.
Choose the field from which we need to find Grouped aggregate values.
|
|
How to retrieve records from others which are related to the table.
|
| |
In Step 3. Specify database parameters for retrieving data:
Go to Matching Records (advanced matching).
Choose the table for retrieving corresponding record in that table.
|
|
How to count values of list nodes.
|
| |
Create a sibling/child node to the list node, In Step 3. Specify database parameters for retrieving data:
Go to 'single (derived) values', choose 'count of' option and parameter needed to be counted from Dropdown.
|
|
How to find the smallest from a list of node values.
|
| |
Create a sibling/child node to the list node, In Step 3. Specify database parameters for retrieving data:
Go to single (derived) values, choose 'smallest of' option and also choose a parameter from dropdown to get the smallest value.
|
|
How to find the largest from a list of node values.
|
| |
Create a sibling/child node to the list node, In Step 3. Specify database parameters for retrieving data:
Go to single (derived) values, Choose 'Largest of' options, also choose a parameter from dropdown to get the largest value.
|
|
How to find average values of list node values.
|
| |
Create a sibling/child node to the list node, In Step 3. Specify database parameters for retrieving data:
Go to single (derived) values, choose 'average of' option, and also choose a parameter from dropdown to get average of values.
|
|
How to find the sum of values of list node values.
|
| |
Create a sibling/child node to the list node, In Step 3. Specify database parameters for retrieving data:
Go to single (derived) values, choose 'sum of' option, and also choose a parameter from Dropdown to get sum of values.
|
|
How to make a field null.
|
| |
In Step 4. Specify additional database parameters. Go to Tab Nullable terms Under 'Additional retrieval constraint terms (check the ones that apply)' it shows 'Nullable columns in where clause', choose one from dropdown and check it.
|
|
How to retrieve data from table upon condition.
|
| |
In Step 4. Specify additional database parameters. Go to Tab selection terms Under 'Additional retrieval constraint terms (check the ones that apply)' check column, choose field, and choose operator from drop down and value. Value may be literal or value of field parent node table.
|
|
How to specify visuals on UI.
|
| |
In step 4. Specify the visual aspects for attributes: (Non-Nullable attributes are in bold face.).Check the modification modes. Corresponding display elements will appear, along with extended types.
|
|
How to change visuals of a node.
|
| |
Select the node on the left navigator, Go to visuals tab, and change display element by selecting the suitable one from dropdown list.
|
|
How to generate HTML view of a UDM.
|
| |
After step 4. Specify additional database parameters. Click on 'Save' after specifying visuals of the UDM, and click on the icon 'Regenerate html', followed by 'Generate' and 'save HTML'.
|
|
How to change the Meta templates of a UDM.
|
| |
While generating html of a UDM you can change the Meta template by choosing suitable one from dropdown beside 'Meta-template to use'. Then click on ‘Generate’ followed by 'save HTML'.
|
|
How to change an HTML source.
|
| |
While generating html, if you go to 'Show Source' you will get a text area containing html code which is editable. Or you may also go to icon 'Preview html', followed by 'show source'.
|
|
How to use JavaScript in zeroCode.
|
| |
The Role of Client-side Scripting:
To fully decouple a generated application's user interface from its business logic and database access mechanisms, zeroCode-built sites use a macro-expansion engine called FreeMarker. To use it, zeroCode encapsulates HTML in templates. FreeMarker runs on the server and retrieves data, while the HTML renders on the client, along with the DHTML. DHTML is a combination of cascading style sheets and JavaScript/VBScript.
JavaScript is an extension of HTML that helps the programmer do special things like formatting and building advanced User interfaces with Web pages.
Using JavaScript in a Site:
In a zeroCode-built site, the web server expects JavaScript files to be located in the …/webFiles/javaScript subdirectory of the site on the server. Designers can build new functionality using JavaScript and upload the relevant source-files into this directory. In building such functionality, designers must recognize that the architecture of their site, as generated by zeroCode, is predictable and scalable and the code that they construct must reflect that structure. Specifically, designers can take one of the two approaches:
Build functionality that can be included in each template that needs that functionality.
Build functionality that can be included in a meta-template, such that all future pages generated using this meta-template include the functionality built.
A zeroCode meta-template includes two levels of complexity in using FreeMarker: FreeMarker is invoked first at gen-time (when the site is generated and the templates are created) and again at run-time (when the page is served up). At gen-time, FreeMarker is used more as a control mechanism, with its ability to expand macros being very important. At run-time, FreeMarker is used as much to pull in data from the Java objects as to marshal that data (using zeroCode-specific functions) and make it presentable on the client. The language in the JavaScript files needs to work with this complexity, if it is to be usable in a meta-template. This is not an issue if the JavaScript functionality planned will be used only in templates.
As a designer, you must be aware of the FreeMarker data items that are available in a given context. These items include everything in the related UDM and can be invoked in the standard FreeMarker syntax. Typical data items are the items that come from the objects that you include and the additional items that the zDE automatically includes in certain cases, like the list-control-related counts and other values. If the JavaScript function is to be used in a meta-template, the references to those data items must be specified using special (recursive) syntax that the meta-templates include. There are other variables available at gen-time that you can use in a meta-template to control the manner in which a site is generated. If you choose to implement your JavaScript functionality at the meta-template level, so that it is included in every page that zeroCode generates, you will need to decompose your functions into stuff that happens at gen-time and stuff that happens at run-time. At gen-time, you need to ensure that the generation process includes the exact statements that you want to see in the template. You do this by adding the appropriate language to the meta-template.
|
|
How to verify the validity of a UDM.
|
| |
Once the design of UDM is over, click on icon at tool bar to check the validity of UDM.
You can use this page to identify mismatches between the UDM and its data ports, and synchronize the UDM with its data ports. In particular, when you have recently updated your database schema, you can verify a previously-created UDM against the schema, detect any mismatches, and automatically update many of the discrepancies between the UDM and the database.
|
|
How to use relators.
|
| |
Relators can be used on, non-attribute, non-list nodes. Choose non-attribute, non-list node, and click on icon 'Add Relators'. It displays the tables that are related to it. Choose the required one and proceed. You can also choose relationship type one among 'one to one' or 'one to many'.
|
|
How to see the results of an application.
|
| |
After generating html of a UDM, save it and copy the path, go to -> server -> link to app. It opens the index page, where we need to key in the path of our application to see the result.
|
|
How to create a filter.
|
| |
In the left navigator of the application, go to filters and then click on icon 'Create a new filter' to open the Create a new filter page.
Name the filter. The name is case sensitive and cannot include embedded spaces or special characters.
Description and comment are optional. Select the table on which you would like to apply your Filter. Click on 'Next' to continue.
Click on ADD and you will get an ADD terms page. There it shows a table with a (arrow) symbol beside it.
Click on will show its' columns of table.
Click on beside the column, where in you need to apply the 'where' clause.
Click in the check box to prepare the respective 'where' clause and select the condition from the drop down box. Mention the clause in the box by keying in a hard code value.
Click on 'save' button.
The 'where clause' is added to the filter.
Click on the Finish button to save the filter.
|
|
How to extend 'where' clause of a filter.
|
| |
You may extend the filter by adding a where clause to the existing filter in order to refine your search.
Similarly you can add/create another 'where clause' to facilitate an optional search. To perform this click on the ADD button to add another 'where clause' to the filter.
If your first 'where clause' is related to another table, that table will appear and allow you to apply 'where clause' on that table too and so on.
The 'where clause' gets added to the filter.
Click on the Finish button to save the filter.
|
|
How to add filters to the node of a UDM.
|
| |
If the filter is designed beginning with same table name that is used in the node of a UDM, the filter will appear at the data port of a UDM node. If you check it, it will be applied to the node.
|
|
How to edit the filter in a UDM.
|
| |
Choose filter by holding down 'shift key'. It brings you to 'edit filter page'.
You can extend or add new terms that are applied with 'OR' condition by clicking on the Add button. Note that the parameters from UDMs or 'passed parameters' should be enclosed by question marks.
Once you are through editing the Filter, click the 'Finish' Button to save it.
|
|
How to get aggregation terms in filters.
|
| |
While designing a filter and when you click on the Extend button, you will also see a section 'Add aggregation terms'. This section shows maximum, minimum and count values that you can retrieve using this Filter.
|
|
How to print aggregation terms of filter in 'output'.
|
| |
To write print aggregation terms on the output screen edit html by using 'Free Marker'. The retrieved data is shown as Free marker tags in the $ {...} format.
This will print a corresponding value at that node.
|
|
How Data tree structures of a UDM Look like.
|
| |
The Data tree structure has four classes with the following hierarchy:
- Data Tree Node
- Data tree non leaf Node
- Data tree Vector Node
- Data tree scalar Node
Data Tree Leaf
|
|
How to read parameter(s) of UDM.
|
| |
At 'UDM Details' move to tab 'Parameters'. Here you can provide the names of parameters that the UDM will expect,. When the UDM is requested at run time, these parameters can be passed either via URL parameters (if it is a GET request) or form parameters (if it is a POST request). Make an expression node and read variable with same name as in the parameter list.
|
|
How to print retrieved data of parameter(s) of a UDM.
|
| |
To print the value of a parameter on the 'output', edit html by using Free Markers.
The retrieved data is shown as Free marker tags in the $ s{...} format.
|
|
How to create a new Meta-template family.
|
| |
In the zDE,choose the 'siteName/metaTemplates' directory, where "sitesName" is the name of the application site you created.
Click on the "create Directory" button in the header frame.
Key in a name for the directory. Click the "OK" button to continue.
This creates a new directory for your meta-templates.
|
|
How to copy Meta-templates from standard Meta-templates family.
|
| |
Choose the siteName/metaTemplates/standard directory where "siteName" is the name of the application site you have created.
Check the checkbox for the corresponding meta-templates you wish to copy. Click the icon "Copy file (s)" in the header frame in order to copy these files onto the clipboard.
Choose the siteName/metaTemplates/test directory where "siteName" is the name of the application site you have created.
Click on the icon "Paste from clipboard" in the header frame, to paste the copied files from the clipboard onto the new meta-template family.
|
|
How to change a Meta-Template.
|
| |
Steps to achieve this: Open the view metatemplate under the sitename/metatemplates folder. • Change the Meta-Template.
|
|
How to remove an existing Meta-template family.
|
| |
Choose the siteName/metaTemplates directory, where "siteName" is the name of the application site you have created.
Check the checkbox for the corresponding meta-template family you wish to remove.
Click on the icon "Delete file(s)" in the header frame.
|
|
How do I avoid insertion of records into not null fields, when the option "none" is chosen.
|
| |
A conditional table is used to relate distinct unrelated tables. This conditional table contains foreign key references of other tables, which are 'not null fields'. If you choose 'none' in these fields 'null' will be inserted. The fields should not have even a null value. This condition can be handled by changing the html and JavaScript files of the custom UDM. In the html file the option values in the Combo can be set to " ".
|
|
What is an Action Sequence.
|
| |
An action sequence is a set of actions (or action units) that will be executed in a specific sequence, triggered by a UDM. An action unit can be anything that a UDM node supports - retrieval, addition, modification and/or deletion of data from a Dataport and the expression evaluation that a normal UDM supports.
Note: Action sequence does not have UI. It is used for the manipulation of conditional statements.
|
|
How to create an Action Sequence.
|
| |
In the left navigator of application, click on actions Folder and further click on the icon 'Create a new action sequence'. Fill in the relevant details in the create action sequence screen that appears before you.
Enter an action sequence name in the first field. Description is optional.
Click on the Create button to open the Action details page.
Pass a parameter and click on the Save button.
Continue with design until the action to be performed is achieved.
|
|
How Action Sequence is connected to a UDM.
|
| |
The action sequence itself can be triggered as the "action hook" for a UDM, to be executed at any one of four points in a UDM's execution:
- Before it is retrieved for data display.
- After the data is retrieved but before it is sent to the user's browser for display.
- After the user submits the UDM to the server for adding/editing data but before those operations are carried out.
- After the add/edit operations of the UDM are completed but before control moves on to an optional response UDM.
|
|
How to hook action sequences to a UDM.
|
| |
At UDM Details move to tab 'submission'.
Since you need to hook the UDM to the action sequence, select the radio button.
- This UDM is never submitted.
- On submission, it inserts or updates the submitted records.
- On submission, it deletes the submitted records.
- On submission, it searches for matching records.
Move to action hooks, you can specify an action hook or action sequence that should be executed at each of the four significant points in the UDM's retrieval (pre-retrieval, post-retrieval) and submission (pre-submission, post-submission) cycle.
Beside the action sequence, choose the right action sequence from the drop-down.
Click on the Next button.
The next step is to specify the UDM action by binding the parameter passed earlier to the action hook. Bind the action sequence parameter to the UDM parameter by selecting the option from the drop down box and click on the Save button.
The action sequence parameter is bound to the UDM.
|
|
How to bind a variable to the UDM.
|
| |
Bind variables. Data ports sometimes need bind variables that control their behavior. A data port's bind variable can be thought of as a "parameter" -- it is used to pass values from the UDM to the data port.
This association of bind variables to values is done at the time you create a new node that uses that particular data port.
|
|
How to use FreeMarker Extensions.
|
| |
Generate html of UDM.
Write FreeMarker Extensions (for syntax go to help -> FreeMarker extensions) by editing html. Save html.
You can then see the results on output by linking to App.
Note: Do not generate html of UDM again after editing old html page with FreeMarker. It will overwrite the previous html.
|
|
How to print retrieved results of FreeMarker Extensions.
|
| |
The retrieved result is shown as Free marker tags in the $ {...} format. It will print corresponding values at that node.
|
|
How to use auto UDM's in custom UDM's.
|
| |
You can use auto UDM's by invoking their html pages in your UDM. If essential you can edit it by applying filters. The advantage with auto UDM's is it provides Drill-downs to related tables.
|