Electronic Manual - EasyData
© SunnyScript - www.sunnyscript.com

 
Table of contents
 
Installation and configuration [go] Directory structure
[go] File transfer to the server
[go] Configuration
General information about databases [go] Successful database planning
[go] Database size vs. system resources
Administration panel [go] Admin menu
Database creation and maintenance [go] Create a new database (table)
[go] Create table fields
[go] Edit or remove existing fields
[go] Category handling
[go] Moderated user actions
[go] Table maintenance
[go] View, add, clone, update and delete records
[go] Search requests statistics
Advanced features in detail [go] User managed record modifications (record owner)
[go] Set user permissions and limitations
[go] Voting and comments
[go] Record time management
[go] Images / Binaries / Memos
[go] Temporarily blocking of records
[go] Send out mailings
[go] Searching of databases (tables)
[go] Re-randomization
[go] Sorting by record popularity
[go] Bookmarking records
[go] Sending records via e-mail
[go] Automatic backup generation
[go] Database import and export tools
Web-frontend and template management [go] Adjust table parameters
[go] Available templates and basic overview
[go] Customization of templates
[go] Web integration: Embedding EasyData into websites
[go] Web integration: HTML based forms
[go] Web integration: HTML based forms - perform an advanced search
[go] Web integration: HTML based forms - add a new record
[go] Web integration: HTML based forms - rating of resources
[go] Web integration: Browse tables with custom visible fields
[go] Web integration: Create URLs performing search operations
Helpful hints and technical reference [go] Internal database handling
[go] Forgot your admin password ?
[go] Web-frontend and template translations
[go] Field output formatting with display masks
[go] Edit control alterations using edit control templates
[go] Custom field validations (Perl expressions)
[go] Interaction between tables
[go] Some collected tips and tricks
Customer services [go] Need help ? Contact the SunnyScript service department !

Smart tip: This handbook is also designed to be printed... set your printer's page orientation to landscape format, so there is enough space to place hand-written notes on the left and right margin easily.
 


 
Installation and configuration
 
SunnyScript offers an optional available installation service, if you don't want to install the software yourself.
Please contact our customer service department by e-mail for detailed information and pricing.
 
Directory structure...

The software can be installed at any place that allows the execution of CGI software: Most server systems provide a special directory called "cgi-bin" where you have to install the application, while others are not limited to a particular location.

In a common environment, we recommend to create a new sub-directory within the existing "cgi-bin" folder to separate the software from other already installed products.

Required "template.en" directory:

Inside the directory you desired for installation, please create a new sub-directory called "template.en". It's used to hold the content of "template.en" directory delivered with your software package.

Adjust path to Perl:

Open all program files (*.pl and *.cgi) in a text editor and change the first line "#!/usr/bin/perl" that it reflects the correct path to Perl 5 (or higher version) on your system. This is required to let your server know where the Perl interpreter is located.

Usage note: On most systems, /usr/bin/perl is already the default path to Perl and so no modifications are required.
 

File transfer to the server...

Upload all files to the created directories. If a ftp client is used, ensure to set the "ASCII transfer mode" for file submissions.

Detailed file table: Scheme: [filename | suggested place to upload (short description); file permission]:
 
Filename...
Description...
Filename...
Description...
* cgi-bin (program & data files); 755 template.en/* template.en (templates); 666

Important notes: Please double-check file permissions and transfer mode, otherwise the software may not work as intended. Depending upon the server configuration, different file permissions than the ones stated above may be necessary.

Smart tip: Our installation helper install.cgi makes it easier... just call it from your web browsing software (requires correct installation of this script) and it automatically checks your entire installation, adjusts permissions and fixes typical errors.
 

Configuration...

After you have uploaded all files, you may wish to start the admin panel first time to initialize the system parameters. In order to do so, please call admin.cgi with your favorite web browsing software:
 
Action to perform...
URL to call (location varies on your system, of course)...
Open admin panel http://www.sunnyscript.com/cgi-bin/ed/admin.cgi

Before you proceed, it is highly recommended to set an administration password. After this is done, access to the admin panel is granted only by using "admin" as login together with the chosen password.

Now click on the button "Edit system parameters" and configure the shown parameters according your needs.

Usage note: Since all parameters are automatically filled with correct values, modifications on your side may not be required.

Directories and files:
 
Name of parameter to set...
Description...
CGI files directory
Example: /usr/www/cgi-bin/ed
Absolute path to the location of EasyData on your server.
"data" directory
Example: /usr/www/cgi-bin/ed/data
Absolute path to the location that holds databases and related files.
"binarydata" directory *
Example: /usr/www/cgi-bin/ed/bindata
Absolute path to the location that holds binary database content.
"templates" directory
Example: /usr/www/cgi-bin/ed/template.en
Absolute path to the location of web and mail templates.
"auth" directory
Example: /usr/www/cgi-bin/ed/auth
Absolute path to the location of session info files (e.g. passwords).

* Technical note: The software tries to create this directory at a web-accessible place (certain cgi-bin locations doesn't allow to deliver multimedia content). If you experience problems in content delivery, please move it manually to a suited location.

Platform specific settings:
 
Name of parameter to set...
Description...
Mailing program (for Unix only)
Example: /usr/bin/sendmail
Absolute path to Sendmail (or compatible) application on your server.
SMTP server
Example: smtp.sunnyscript.com
SMTP server for handling mails; when left blank, default mail application is used. This setting is required for non-Unix systems, otherwise optional.
Don't use flock
Example: Unchecked
"flock" is normally supported directly by the operating system; should it be unavailable for any reason (e.g. on Win9x, WinMe), mark this checkbox.
Admin e-mail address
Example: admin@sunnycript.com
E-mail address of the system administrator (e.g. webmaster).

URLs:
 
Name of parameter to set...
Description...
Binary directory URL
Example: http://www.sunnyscript.com/cgi-bin/ed/bindata
URL to the location that holds binary database content.
URL of CGI files directory
Example: http://www.sunnyscript.com/cgi-bin/ed
URL to the location of EasyData on your server.
URL of user's help document (optional)
Example: http://www.sunnyscript.com/myhelp.htm
URL to an optional help document (not included); may also consist of an e-mail link (e.g. "mailto:support@sunnyscript.com").

Various parameters:
 
Name of parameter to set...
Description...
Authentication time (in seconds)
Example: 10800
Time frame keeping user authentications active (after expiration, people must log in again); recommended range: 1 to 12 hours.
Default records per page
Example: 25
Maximum number of records (unless specified exactly) appearing on one page; recommended range: 5 to 30 records.
Max. number of links
Example: 10
Max. number of selectable links on a page flicker when displaying search results; recommended range: 5 to 30 links.
Default table (optional)
Example: firsttable
Standard table used when no specific table is called.

After you have verified all settings carefully, click on the button "Save parameters" to take over modifications to the system. It is also possible to bring back previous values with the "Let the script restore defaults" button.
 

Congratulations - you have successfully installed the software :-)

 
General information about databases
Successful database planning...

1. Determine required database fields:

Write down all fields required for your database on a piece of paper to ensure having a consistent and logical data structure. For example, a database containing business contacts has other field demands than a product catalogue.

If you're very unsure which fields are needed, just think about the content you want to store in the database and create some sample records based upon this. Have still problems ? Don't worry, you can add, modify and delete fields later at any time.

2. Assign field types, edit controls and verification parameters:

Field types describe the content of the concerned fields closer. By default, EasyData uses the type "text" which accepts any input - but it can be wiser to be a bit more specific (e.g. a field like "Birthday" should be set to the type "date").

Edit controls determine how particular fields are displayed. By default, EasyData uses a single input line. But it is possible to work with any edit control supported by HTML (like text boxes, radiobuttons, drop-down lists, checkboxes, ...).

Verification parameters are intended to ensure that only correct data is entered for a particular field. EasyData offers many pre-set verifications for date formats, e-mail addresses and value ranges but also allows custom settings.

Please take some time to work out suited field parameters. Especially when having different people working on one database, meaningful settings will increase data consistency dramatically - and so, this makes also search operations easier.

Helpful hint: Confused about all this stuff ? Don't worry, the correct usage will be explained later. At this stage, you should just have a basic understanding of the database structure and your desired application.

3. Check all of your planning steps:

Last but not least you should go carefully through your planning and check it. It's a matter of course, that you can do changes to existing databases at any time, but it will save some time and trouble to start right away from the beginning.

Has your planning matched the application your database is intended to ? Try to perform some search operations on the sample records you invented previously and see how users are able to access particular records.

Furthermore you may think about some extras, like desired sorting, scheduled record availability, user permissions and other stuff. But for now, don't care about this too much. It will all be explained later step by step in this handbook.
 

Database size vs. system resources...

EasyData is highly optimized and supports databases of an unlimited size (number of records, data volume to handle), so the performance mainly depends upon the used server type and available system resources.

Accesses to your databases are handled very efficiently, so also high traffic websites are generally managed fine by EasyData. Our special database backend provides you with SQL-like performance, but neither with the need to have a SQL software server installed nor to deal with SQL's complexity and typical hang-ups.

In a common system environment, you don't have to take care about this issue. However if you have more specific questions regarding this topic, please contact SunnyScript's customer service department for personal assistance.
 


 
Administration panel

The administration panel is a convenient way to work interactively with EasyData. You can start the admin panel by calling admin.cgi with your favorite web browsing software:
 
Action to perform...
URL to call (location varies on your system, of course)...
Open admin panel http://www.sunnyscript.com/cgi-bin/ed/admin.cgi

How to access your databases:

Please refer to the chapter "Web-frontend and template management" for detailed information about web integration.
 

Admin menu...

This screen allows the following actions:
 
Main menu options...
Description...
Manage (existing) tables Select the desired action and click on the submit button.
Quick statistics View summarized system statistics.
Create new table This form is intended to create a new database.
Change password Change admin password.
Other administrative features
Edit templates Click on this link to edit the layout templates.
Edit system parameters Click on this link to modify system related parameters.
Import / export data Click on this link to import or export data and tables from/to EasyData.

The top menu line provides additional selections (depending on the current system status):
 

Top menu options...
Description...
Admin Go to the main admin menu.
Home Browse the currently active database.
Search Search the currently active database.
Search stats Show usage statistics of the currently active database.
Bookmarks Show bookmarks created for the currently active database.
Login / Logout Login or logout as administrator.
Moderate Approve or decline user modifications made to database.
Restructure Modify structures and parameters of the currently active database.
Mailings Send out mailings to record owners of currently active database.
Categories Manage categories for currently active database.
Add / Clone / Update / Delete Add, clone, update or delete records.
 

 
Database creation and maintenance
Create a new database (table)...

First of all, call the admin panel and go to the part "Create new table". Now just follow these steps:
 
EasyData asks...
Description...
Enter new table name Short internal name of the new table (alphanumerical chars, except spaces).
Set optional system fields
 
Available option...
Description...
Include category field Use categories inside the table.
Include record addition date/time field Time stamp of record creation.
Include record update date/time field Time stamp of last record update.
Include user feedback fields Voting and comments for records.
Include record owner e-mail / pwd. fields * User managed records.
Include expiration field Individual expiration of records.
Make additions moderated Moderation of public record additions.
Make modifications moderated Moderation of public record modifications.
 

After this is done, just click on the "Create new table" button in order to create the new database.

By the way: You can add and remove system fields manually later at any time; so if you are unsure about an optional setting described above, just leave it empty and read more about below in this manual.

* What exactly is a record owner ?

Each record can have an assigned e-mail address as well as a password (optional). In this way, people are able to modify their owned records. Additionally, the mailing utility allows sending of e-mails to all registered record owners.

Why is there an ID field in each table ?

This field is required for some internal functions of EasyData (mainly used to distinguish records); so you can commonly ignore it. If you like, you may also rename its label, hide it when showing records or even make it editable by users.

Technical note: Since each record must have a unique ID field value, this field is of autoincrement type by default.
 

Create table fields...

Choose the desired table and select "Restructure table". Alternatively click on "Restructure" in the upper right corner of the screen. If you just created a table, this screen appears automatically.

Go to "New field name", type in the desired name and select the data type. In order to finish action, click on "Create new field".

There are also various system fields available, required for advanced features. Type in the field names exactly as they appear in the following list to enable the concerned feature (refer to following chapters for details):
 

System field...
Description...
_email Record owner e-mail field; required for record modifications made through users (record owners) and for sending of mailings (see _subscribed field below).
_login Alternative to the record owner e-mail field; if both are available, this field holds the login information and _email stores the e-mail addresses for mailings.
_pwd Record owner password field (optional), requires record owner to specify a password before a record can be modified or removed.
_add_datetime Date/time stamp containing the date of record creation (auto-filled by EasyData).
_update_datetime Date/time stamp containing the date of last record update (auto-filled by EasyData).
_category Category field; required to handle categories (auto-filled by EasyData).
_blocked Flag to allow blocking of records (admin only).
_effective_since Individual appearance date for each record.
_expires Individual expiration date for each record.
_rating, _votes Rating fields; required to allow user ratings of records.
_comments, _comments_data Comment fields; required to allow user comments for records.
_views_number Auto-increasing field; shows number of total detailed record views.
_subscribed Flag to allow reception of mailings (in connection with _email).
_addbookmark Bookmarking field; creates the edit control to bookmark a record.

After a field was created successfully, the screen "Field properties" appears (see next part of this chapter).
 

Edit or remove existing fields...

Select the desired table and choose "Restructure table" from admin panel. Alternatively you can click on "Restructure" in the upper right corner of the screen.

How to delete a field:

Look for the field you wish to remove from the table and click on "Delete". However, please note that once a field is removed, all related content will get lost and cannot be recovered.

By the way: All table parameters are automatically updated and the concerned field becomes removed from these settings.

How to change sorting of fields:

Look for the field you wish to move around and click on either "move up" or "move down" to change the field's position.

Technical note: Sorting of fields takes effect only to various admin panel screens. Use "Table parameters and layout" settings to change the default field order for the web-frontend.

How to edit a field:

Look for the field you wish to modify and click either on "Edit" or the field name. Now the screen "Field properties" appears. Depending of the selected field, you can modify these options:
 

EasyData asks...
Description...
Field name Contains the name of the table field; you can change it at any time (table parameters are automatically updated with new field name).
Data type Select the type of content being stored in this field:
 
Type...
Description...
text Any content with unlimited size (default).
int Positive and negative integers.
float Real numbers.
date Date in format YYYY-MM-DD.
time Time in format HH:MM:SS.
datetime Date and time in format YYYY-MM-DD HH:MM:SS.
boolean Empty value = false; any other value = true.
image GIF, JPG, PNG & BMP pictures (stored in "binary" directory).
binary Binary content (stored in "binary" directory).
memo Textual content (stored in "binary" directory).
htmlmemo HTML-formatted content (stored in "binary" directory).
uploadmemo See "memo", but use with "upload (other files)" edit control only.
autoinc Autoincrement integer field.
URL Same as text, but URL validation and embedded HTML.
email Same as text, but e-mail validation and embedded HTML.
 
Display label Field label appearing instead of field name set above.
Display comment Comments which appear when adding or updating records, giving some hints to users.
Display mask Advanced users only: Active template for Perl scripts used to format concerned field value in HTML code or to make manipulations with value before output.

Available system variables are $id (contains record ID), $fields{FIELDNAME} and $value (contains the current field's value).

Sample application for display mask:
 

Description...
How to realize...
Field value in bold characters Type in: &"<b>$value</b>"
 
Default value Type in a default value you wish to use for this field, if it is kept unfilled by the user; can be also a Perl script.

Sample applications for default value:
 

Description...
How to realize...
Text based (no Perl scripting) Just type in the desired default value.
Current date & time Type in: &datetime2str(time)
 
Required Click here to mark this field as required.
Unique Click here to mark that this field's content has to be unique in the entire table.
Verification rules Type in rules to verify field's content (multiple rules separated by semicolon); if this is left empty, verification is done based upon used field type.
 
Rule...
Description...
int Positive and negative integers.
float All numbers ("+", "-", "." and digits).
alpha Characters only (A-Z, a-z).
alphanum Characters and digits only (A-Z, a-z, 0-9).
positive Positive numbers only.
negative Negative numbers only.
range:x,y All numbers from x to y.
values:val1,val2, ... Only given values are allowed.
min_size:x Minimum length of required input.
max_size:x Maximum length of allowed input.
valid_email E-mail address checking for correct format.
valid_URL URL checking for correct format.
accepted Required field (same as "required" in field types); e.g. used for checkboxes.
format:<x>::<error> <x> must match a Perl regular expression.
<error> may contain a customized error message, shown instead of the default one when verification failed.

Samples for field verification:
 

Rule...
Allowed content...
range:1,10 All positive numbers from 1 to 10 (e.g. 2, 9.35, ...).
values:yes,no Allowed input "yes" or "no" only.
min_size:5 At least 5 chars required, e.g. postal code check.

Refer to the chapter "Helpful hints and technical reference" for advanced samples.

Edit control Choose the intended edit control type:
 
Edit control type...
Description...
Automatic selection Let EasyData automatically select the matching edit control type based upon the field type.
Text input control Standard text input field.
Text input with dropdown list * Combined text input and dropdown list control (requires JavaScript enabled).
Password input control Password text input field.
Checkbox Checkbox (value = 1 when enabled).
Checkbox list * List of multiple checkboxes.
Upload (image) "Upload file" field for images (uploaded content will be stored in "binary" directory).
Upload (other files) "Upload file" field for binaries and memos (uploaded content will be stored in "binary" directory).
Text area Multi-line textbox (applicable for data types "text", "memo" and "htmlmemo").
Radio buttons * Radio buttons.
Combobox (Dropd. list) * Dropdown list.
List * Same as combobox, but items appears as listing.
Multiselectable list * Same as list, but allows to choose multiple items.
Hidden Hidden from users, but may have a value (as it is specified in "Default value")
* Values must be specified in field "Edit control data" below.
 
Edit control data Applicable for radio buttons, comboboxes, lists and multiselectable lists to determine the field content. Format: <Internal used value>|<Displayed value>

For example:
 
  01|Get YourAffiliates now
02|Get EasyData now
03|Get AccessGuardian now
...
 

Edit control width Applicable for text and password input fields as well as text areas. Type in the width of concerned field in characters (this does not set maximum length of field input).
Edit control height Applicable for text areas, lists and multiselectable lists. Type in the height of concerned field in lines (field content can contain more or fewer lines than set here).
Edit control template Advanced users only: Active template for executing Perl scripts.
Column width Type in the width of the table column concerned field appears in. Use either percentage value or pixels; leave empty for standard setting.
Column alignment Select alignment of the table column concerned field appears in.
Cell vertical alignment Select alignment of the table cell concerned field appears in.
Max. size Type in max. number of characters allowed for input.
Images, binary & memo fields: Type in max. file size (bytes) allowed being uploaded.

Important notes: If you edit a system field, some of the settings above may be not available for selection. Don't touch pre-filled settings for system fields; you may negatively affect their behavior.
 

Category handling...

Usage note: Before you can use categories, ensure that the system field _category is available within your table.

From admin panel, select the desired table and choose "Edit table categories". Alternatively you can click on "Categories" in the upper right corner of the screen.

How to create a new category:

Type in a category name and short description (optional; can be displayed when browsing by categories).

Now click either on the button "Add new top-level category" to create a new main category or "Add new category inside current category" to add a sub-category within the currently selected category.

How to edit a category:

Click on the ID of the category you wish to modify:
 

EasyData asks...
Description...
ID (category code) Category codes are assigned automatically; but if desired, you can customize them (use alphanumerical characters only).
Name Type in a new category name or correct the old one.
Description Type in a new category description or correct the old one.

In order to take over the changes to the system, click on the button "Save".

Helpful hint: Since categories are sorted alphabetically by their IDs (category codes), changing their displayed default order is very easy by altering the concerned category codes according your desired arrangement.

How to delete a category:

Select the ID of the category you wish to remove and then click on the appropriate deletion button to remove the concerned category from the table (please be careful when doing so; once deleted, categories cannot be recovered).

Important note: Records related to removed categories are re-assigned to the concerned upper level category.

Category trees - overview:

EasyData comes with a feature allowing website developers to implement an interactive JavaScript-powered category tree to websites in just a few minutes. Ideally suited for easy database navigation on category-based tables.

Each tree is built with graphical elements and can be individualized to allow highest flexibility. It is also based upon an own template (treeview.htm), so even surrounding HTML elements are possible.

Category trees - website implementation:

Call treeview.cgi to display a table's tree:
 

Action to perform...
URL to call (location varies on your system, of course)...
Display a category tree http://www.sunnyscript.com/cgi-bin/ed/treeview.cgi?tbl=<name>
<name>: Desired table to display tree for (required parameter).

Implementation by using SSI-tags:

Example: <!--#include virtual="/cgi-bin/ed/treeview.cgi?tbl=TABLE"-->
Description: Replace "TABLE" with the concerned table's name.

Technical note: Remove all HTML initializing tags from template treeview.htm (mainly <HTML> and <HEAD>) to avoid display errors caused when inserting the category tree codes into an existing webpage via SSI.

Important note: In order to use category trees, at least the permission "Search" is required for anonymous users.

Category trees - available settings:

Choose the desired table and select "Restructure table". Alternatively click on "Restructure" in the upper right corner of the screen. If you just created a table, this screen appears automatically. Now click on the button "Edit treeview parameters".

Layout options:
 

EasyData asks...
Description...
Show number of records Mark this button to show the number of records available per category.
Show category description Mark this button to include available category descriptions.
Show "Expand all" link Mark this button to display a link at the end of the tree allowing to expand it entirely.
Show "Collapse all" link Mark this button to display a link at the end of the tree allowing to collapse it entirely.
Initial tree state Select the status of the tree when called (all expanded, all collapsed)
Target frame If the category tree is used in a frame-based environment, specify the target frame to display the table content (when tree element is clicked).

Keep this empty to open the content in the same window where the category tree is located in (this removes the category tree).

Usage note: Use "_blank" to open a new browser window for displaying table content.

Template of tree node Specify or edit a template file applicable to the web-frontend.

Drawing icons:
 

EasyData asks...
Description...
... URL Alternatively to the hardcoded icons, you can specify own images being displayed. Keep the concerned setting empty to use the default elements.

Technical note: Even images are located at the same server, please use full URLs only (starting with "http://...").

Use background vertical line Mark this button to display a filling element used for large categories (taking more than one line in space, e.g. when displaying category descriptions).

Folder/leaf icons:
 

EasyData asks...
Description...
Show folder/leaf icons Mark this button to show icons for folders and leafs.
... URL Alternatively to the hardcoded icons, you can specify own images being displayed. Keep the concerned setting empty to use the default elements.

Technical note: Even images are located at the same server, please use full URLs only (starting with "http://...").

Root category:
 

EasyData asks...
Description...
Root category label Type in the label used for the root category (at top of tree).
Root category icon URL Specify an image being shown as icon near the root category. Keep the setting empty to not show an icon for root.

Technical note: Even the image is located at the same server, please use full a URL only (starting with "http://...").

 
Moderated user actions...

If this feature is active, administrator can approve (or decline) changes submitted by users (mainly additions, modifications or deletions of records). Enable moderated modifications by configuring the appropriate fields on the screen "Table parameters".

Important note: It is strongly recommended to enable this feature, if you allow people adding their own records. Otherwise you have no control about the database content.

Enable moderation mode:

Check fields "Make additions moderated" and/or "Make modifications moderated" during table creation or go to "Change table parameters and layout" and modify "Permissions" according your needs.
 

EasyData asks...
Description...
Moderate additions Make all record additions to your table moderated (anonymous / registered users).
Moderate updates Make all record updates to your table moderated (anonymous / registered users).
Moderate deletions Make all record removements from your table moderated (anon. / registered users).

Usage note: For more details about permissions and user groups, please take a look at the next chapter.

How to moderate actions:

From admin panel (you must be logged in as admin), select the desired table and choose "Moderate table". Alternatively you can click on "Moderate" in the upper right corner of the screen.

Now you see a list containing all queued requests. Each request can be approved or declined by selecting the concerned radio button. Select "Hold" and the concerned record will be still kept in moderation queue.

After you moderated all requests, click on the button at the end of this screen to take over your decisions to the system.

How to edit records in moderation queue:

If you wish to modify records that are currently in moderation queue, mark the button "Remind to update" when approving the concerned records. Now the moderation result screen allows you to edit them right away (new browser window opens).
 

Table maintenance...

Select the desired table and choose "Restructure table" from admin panel. Alternatively you can click on "Restructure" in the upper right corner of the screen.

How to remove a table (be very careful):

Go to "Delete table" and then click on "Delete files". You can either remove parts of this table or the entire database structure.

How to clear selected table files (be very careful):

Go to "Empty table", select the appropriate files you wish to clear and then click on "Clear data" to carry out this action.

How to rename a table:

Go to "Rename table" and specify the new name. Click on "Rename" to take over the changes to the system.
 

View, add, clone, update and delete records...

Go to the admin panel, select the desired table and choose "View/Add/Update/Delete records".

On the following screen, you may browse through all categories, search for records, add new ones, remove, update or clone existing records and do all other database administration tasks (see menu on the upper right corner of the screen).

Technical note 1: When updating records (admin only), all fields are shown regardless of the "Visible fields" settings at the "Table parameters" screen for convenience reasons (however other screens in admin panel consider these preferences).

Technical note 2: Cloning a record means to take over all field values from an existing record to a new one showing the "Add record" screen. It is not possible to clone fields of type "image", "binary" and "uploadmemo".
 

Search requests statistics...

The search requests statistics shows how people are using your database regarding search queries. All search queries are logged and then presented in a comprehensive graphical report searchable by date/time and sorted by usage frequency.

You can use these statistics for various marketing and performance analysis (e.g. most popular search queries, behavior of the users when doing search operations) or just for your personal interest.

How to enable search requests logging ?

Go to the screen "Table layout parameters", "Search requests logging":
 

EasyData asks...
Description...
Log all modifications to file... Mark "Don't log" to disable logging or any other entry to enable it.

Sending of statistics via e-mail: See also "Table layout parameters" screen, but now part "Table automatic maintenance":
 

EasyData asks...
Description...
Search requests statistics mailing EasyData is able to send a summary of all statistics to the admin's e-mail address.

If you wish to receive mailed statistics, just decide for the mailing time period. If no option is checked, the mailing feature is disabled.

How to access the statistics ?

Click on "Search stats" available in the upper left corner of the screen to access the statistics of the currently active table.

Search requests statistics form:
 

EasyData asks...
Description...
Select time period The following selections are available:
 
Selection...
Description...
All available dates Display data for the entire time period parsed.
Date range Type in a start and end date of the time period you wish to receive reports from.
Month Select a particular month to display data (available selections bases upon the parsed logs).
Year Select a particular year to display data (available selections bases upon the parsed logs).
 
Limit number of top requests Keep the default "Unlimited number" entry to show all search queries or limit it to a more reasonable range of top requested search queries.

Smart tip 1: The generated reports can be printed easily: Depending upon the used paper size, you may need to set the printer's page orientation to landscape format. In this case, there is also space for placing hand-written notes at the margins.

Smart tip 2: Since EasyData doesn't use image files to create bar graphs, you can simply copy the report to a disk and carry it to other computers, still keeping the layout (reports are generated in HTML language).
 


 
Advanced features in detail
User managed record modifications (record owner)...

How to enable managed records:

As mentioned in the previous chapter, users can be assigned to records they added to a table. By using this feature, record owners are able to modify or delete their owned records online and even prolong the life of them (if expiration feature is active).

In order to enable managed records, just ensure that you have the system field _email (e-mail address) within your table. Higher security will be achieved by adding another system field called _pwd, which contains a user determinable password.

Registered users are required to log in by using the login screen of EasyData providing their e-mail address and password.

Usage note: Alternatively to _email, also the field _login can be used. While _email needs to contain an e-mail address, the _login field may hold any content (e.g. alphanumerical values). If both fields are available, _login has a higher priority.

Configure the password reminder utility:

If a record owner forgot the password, it can be re-send automatically by the system at request. In order to configure this utility, please go to the "Table parameters" screen:
 

EasyData asks...
Description...
Pwd. remember msg. body template Specify the mail message template or keep the default one.

Important note: Since the admin password is saved encrypted for higher security, it cannot be restored. See chapter "Helpful hints and technical reference" about information on how to reset the admin password.

Technical note: For this feature, the system field _email is required.
 

Set user permissions and limitations...

Available types of users:

Anonymous users are not logged in and just work with the system (e.g. searching or browsing a database).
Registered users refers to record owners logged in with their e-mail address (or login ID) and password.

Set permissions for anonymous users:
 

EasyData asks...
Description...
Search, View Allows to search table and/or view record details.
Add, Update, Delete Enables record additions, updates or removements.
Moderate add., updates, deletions User actions will be placed in moderation queue first to allow verification by admin.

Set permissions for registered users (record owners):
 

EasyData asks...
Description...
Search, View Allows to search table and/or view record details.
Add, Update *, Delete * Enables record additions, updates or removements (ANY record in table).
Moderate add., updates, deletions User actions will be placed in moderation queue first to allow verification by admin.
* Please be careful, since record owners can also modify or remove records they not own. So moderation of these actions is recommended, unless you restrict them (see following permission set).

Set permissions for (registered users') owned records:
 

EasyData asks...
Description...
Search own, View own Restricts users to search and/or view only their very own records (as logged in).

Technical note: When "Search own" is enabled, also browsing of not-owned records is disabled, while "View own" hides only detailed entry views of not-owned records. 

Update own, Delete own Users are able to update and/or delete own records.
Moderate updates, deletions User actions will be placed in moderation queue first to allow verification by admin.

Enable moderation for record comments:
 

EasyData asks...
Description...
Moderate visitor comments Mark the button to moderate comments done for records.

Usage note: Votings (numerical ratings) are always unmoderated.

Enable "flood" prevention (anonymous and registered users):
 

EasyData asks...
Description...
Max. number of daily record
additions per unique IP
Number of records, each single user (each IP address) is allowed to add per day. Keep this parameter empty to disable it.

If a user tries to add more records than allowed, an error message is shown and further record additions will be declined by the system.

Usage note: Especially suited to prevent abuse when allowing anonymous users to add records without enabled moderation.

By the way: Record additions done by the admin are not counted, of course.

 
Voting and comments...

How to enable voting and/or comments for a table:

Add system field _rating to the table to allow user ratings. Optionally add system field _votes to count number of ratings.
Add system field _comments_data to the table to allow comments. Optionally add system field _comments to count them.

Helpful hint: During table creation, mark "Include user feedback fields" to allow rating as well as comments; so you don't have to add the system fields above manually.

Voting and comments settings:

Select the desired table and choose "Change table parameters and layout" from admin panel. Go to the part "Voting and comment parameters".
 

EasyData asks...
Description...
View comments per page Type in the number of comments displayed per page when showing comments.
Rate choices Specify the choices a user can choose from to rate a record. You must use pairs of "Rating number | Rating display text" (higher number means better rating), for example:
 
  |Rate this resource
0|So-so
2|Okay
4|Good
6|Excellent
...

By the way: You can also use negative numbers (for very bad rating).

Default votes number EasyData uses the value of _votes field to calculate an average rating value. If this system field is not present, the number specified here will be used instead of.
Use fraud blocking (IP saving) Enable this option to save all IP addresses. One IP address is allowed to leave one rating per record only; so it prevents this feature from being abused.
Clear IP lock file when
doing maintenance
Enable this option to let EasyData automatically clear the IP lock file when doing maintenance. If disabled, you should clear this file from time to time by yourself.

Technical note:  Admin can remove unwanted comments by editing the field _comments_data of the concerned record.

Helpful hint: It is also possible to make comments moderated. Please refer to "Set user permissions and limitations" above.

Voting and comments web-frontend:

Please refer to the chapter "Web-frontend and template management" for more details.

Technical note: The default maximum size for _rating field is five characters. Since it is in float data type, digits are chopped off if field size exceeds the maximum size (however admin can adjust field properties).
 

Record time management...

General information:

EasyData provides the ability to schedule the appearance and disappearance of records. In case of removements, notification messages may be sent before and records are able to be prolonged by their concerned owners.

There are several ways to set appearance dates, expiration dates and periods (e.g. based upon record creation date or last record update, for the entire table or unique for each record).

Pre-requisites for automatic record expiration:

1. Maintenance interval: Ensure that a maintenance interval is specified. See screen "Table parameters", "Table automatic maintenance". Recommended range: 3600 to 43200 seconds (1 to 12 hours).

2. Record owner: If you wish to allow record owners to prolong the life of their assigned record(s), the system fields _email (alternatively _login) and _pwd are required (password field is optional).

Technical note: Record appearance tasks are automatically handled when accessing the concerned table.

Appearance... table-wide appearance date (valid for all new records):

Add system field _effective_since and type in the following string as "Default value" setting at "Field properties" screen:
  Appears in <x> days

<x>: Number of days counted from record creation till appearance.

Usage note: This string is a special command, only valid for the above particular application.

Technical note: Until appearance date, the record exists but is not allowed being shown when searching or browsing the table. While for the admin such records are always visible, registered users can update them only by using a direct link.

Appearance... individual appearance date for each unique record - absolute date:

Add the system field _effective_since which contains the date of first desired appearance (format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS). It must be filled during record addition; leave field empty to make the record available immediately.

Appearance... individual appearance date for each unique record - relative date:

Same procedure as done for a table-wide appearance date, but don't set a default value for _effective_since, just use "Appears in <x> days" individually for each created record as field value.

Expiration... table-wide expiration date (valid for all records):

Ensure that either the system field _add_datetime or _update_datetime is present for the concerned table - based upon these date/time stamps, the expiration dates are calculated:
 
  _add_datetime contains the date/time stamp of record creation.
_update_datetime contains the date/time stamp of last record update.

Helpful hint: _update_datetime should be used, if you wish to allow record owners to prolong life of their records.

At "Table automatic maintenance" (see "Table parameters" screen), you'll find the record expiration settings:
 

EasyData asks...
Description...
Expiration time (days) * Type in the number of days records are kept in table before they expire.
Allow record life be prolonged Check this button to allow record owners to prolong the life of their record(s). A notification is sent by e-mail to the record owner when it's time doing so.
Warn on ... days before expiration In order to give record owners some time to prolong the life of their record(s), type in the number of days, notification message will be sent before records expires definitively.
* Leave this field empty to disable record expiration feature.

If you activated the setting "Allow record life be prolonged", notification mails are sent out to record owners with instructions on how to prolong the life of concerned record:
 

EasyData asks...
Description...
Warning message template Specify the mail message template or keep the default one.

If you wish to notify the record owner as soon as a record is removed, fill out also these settings:
 

EasyData asks...
Description...
Notify about deletion Check the button to activate this feature.
Notification message template Specify the mail message template or keep the default one.

Expiration... individual expiration of each unique record - absolute date:

Add the system field _expires which contains the date of expiration (format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS). This field must be filled during record addition; leave it empty to disable expiration for a particular record.

Important note: Setting an expiration time (see above) is required also here to determine a maximum applicable time frame; you may wish to set the expiration time parameter to a high value, like 3650 days (about ten years).

Helpful hint: If you allow record owners to prolong the life of their assigned records, ensure that the system field _expires is accessible for updates (see "Table parameters", "Record update mode - visible fields").

Expiration... individual expiration of each unique record - relative date:

Alternatively to the date input described before, simply type in this as "Default value" setting for the field _expires:
  Expires in <x> days

<x>: Number of days counted from record creation till expiration.

Usage note: This string is a special command, only valid for the above particular application.

Expiration... combination of table wide and individual expiration dates:

If _expires and one date/time stamp as well as an expiration time exists, then the expiration date in _expires applies.
If both date/time stamps and an expiration time exists, then _update_datetime is used for calculating the expiration time.

General priority of date/time stamps and expiration field: _expires, _update_datetime, _add_datetime.

Expiration... Templates (warning / notification mails):

Please refer to the chapter "Web-frontend and template management" for more details.
 

Images / Binaries / Memos...

You can have multiple image fields as well as binary fields and memos in each table. Just create a table field and set its data type to "image", "binary" or a memo one. Depending on your selection, the concerned field has a specific behavior:
 
Selected data type...
Description...
image Image fields (GIF, JPG, PNG & BMP formats); will show an image as field value.
binary Binary fields; will show a link to allow file downloads.
memo / htmlmemo Memo fields (for textual or HTML content); will show its content as field value.
uploadmemo Same as memo fields, but used together only with edit control "upload (other files)".

By using the parameter "Max. size" at "Field properties", you can specify the maximum file size in bytes allowed for uploads. Setting a file size limitation is strongly recommended, if you want to enable public record additions or modifications.

Important note: It is not possible to perform search operations upon these fields' content.
 

Temporarily blocking of records...

An existing record can be blocked, which means that it cannot be found during table browsing or search operations. In order to enable this feature, you must have the system field _blocked in your table.

How to block a record:

Search for the concerned record to block, click on "Update" (can be found in the upper right corner of the screen) and then just check the appropriate button (edit control of the field _blocked).

How to unblock a record:

Search for the concerned record to unblock, click on "Update" (can be found in the upper right corner of the screen) and then just uncheck the appropriate button (edit control of the field _blocked).
 

Send out mailings...

In order to create a mailing, select the desired table and choose "Send out mailings" from admin panel. Alternatively you can click on "Mailings" in the upper right corner of the screen.

You can send out mailings either to all record owners of a selected table (recipients filter set to "Send to all") or just mail such people who have allowed you to do so (recipients filter set to "Send to subscribed users only").

Mark "Do not send duplicate e-mails" in order to send only one single mail, even a particular address is found multiple times.

Custom recipients filter:

You can specify a search query that filters only recipients matching particular criteria. It is possible to use any field available in the table this mailing is intended for. Click on "view filter results" to get a listing of all selected records.

For example: income>=3000 AND education="high"
Only recipients will receive this mailing which have an income of more than 3000 currency units and a "high" education level.

Usage note: For more details about how to perform search operations, please refer to "Searching of databases (tables)" below.

Personalized mailings:

Personalized mailings contain an individual "To:" field for each recipient. In addition, you can include fields from the concerned table  (format: <!--$FIELDNAME-->) which are replaced by appropriate content.
 

EasyData asks...
Description...
Sender's name and e-mail Type in the name and e-mail address used in the header of outgoing mails.
Message subject Type in the subject line used in the header of outgoing mails.
Message format Select message format, "Plain text" or "HTML" (applicable to recipients' mail clients).
Message body Type in the content of your mailing here.

Sample personalized mailing: