Crisopeya
 
Crisopeya Software 2.0 Community
The software applications community

USE OF THE TECHNOLOGY
Building Customized Software Applications

Aplicaciones Informáticas a Medida

The CRISOPEYA.NET Software 2.0 Community allow to build and download online customized software applications, in only a few seconds. Just define what information you want to manage and in only a few seconds you will be able to download the requested software application, completely built and ready to install.


Note:
This document purpose is to guide you to build your own customized software applications without the need for you to have any programming knowledge. If you prefer, you can use the ESMERALDA Service and our team will help you to build the application you need.
 

This guide is a use of the technology example to obtain customized software applications. In this process the Seed tool is used to define the software application requirements and this same tool helps to send these requirements to the CRISOPEYA.NET system. Afterwards this system will build the software application following the user defined requirements.

The built applications are used to manage information from the Information Modules. The obtained application is composed of a common platform where the Information Modules to manage are installed upon. You can add as many modules as you want, extending the application capability to manage information.

The application to be built in this example is going to be used to manage information about people attending a conference, such as contact information, professional interests and other. This application can be used to, for example, share information between conference attendants to search for potential collaborations, or to adjust the conference speeches to the attendant profiles.

The application to be build is composed of the Common Platform and an Information Module (Conference). In this guide it will be explained how the user requirements have been defined, why they are defined so and what available options there are for the user.

To define requirements it is mandatory to download and install the SEED Tool. When you run the tool, the following window to select the language is shown. Tha available languages are English and Spanish.

Seed


On this "Use of the Technology" guide we have selected the english language. The next step is to choose to contribute means Information Module definition to CRISOPEYA.NET Software 2.0 Community, or to define the customized software aplication requeriments or a information module means the "Advanced build software" option.

To choose one of this options is used the next window:

Semilla


In this case, it is choosed to contribute with a Information Module to the CRISOPEYA.NET Software 2.0 Community.

Next, the following welcome windows are shown:

Seed


We press the Next button to continue.

The following step on a software aplication reuqeriments, is the definition of the information module name and description of the same one. For this purpose, the following window is shown:

Seed


In this example the Information Module name is defined as "Conference".

The next step is to define fields that compose the Information Module. For this purpose, the following window is shown:

Seed


In this "Conference" example the following fields will be defined:

  • *Code: Text with the Attendant code. It can be used, for example, when the Conference has been promoted for the members of an Organization, to contain the member number or number of affiliate.

  • This field data type has been defined as "Text" and its database size is "10".
    • This field has also been defined with the "Unique" that means that this field content cannot be reapeated in other registers.
    • This field has also been defined with the "Not null-allowed" that means that this field content can not be null.
    • This field has been defined as "Label" that means that the Information Modules registers accessed by the application will be labeled and identified through this field content.

  • Name: Attendant Name.

  • "Text" datatype field, with database size of "20". This field has also been defined with the "Not null-allowed" constraint.

  • Surname: Attendant Surname.

  • "Text" datatype field, with database size of "40". This field has also been defined with the "Not null-allowed" constraint.

  • Photograph: Attendant Photograph.

  • "Image" datatype field. No database size is defined for this datatype. The "BufferedImage" datatype is used to store all kinds of images. It supports the most usual image formats: jpeg, gif, bmp, png.

  • Company: Attendant Company Name.

  • "Text" datatype field, with database size of "100".

  • Position: Attendant Position.

  • "Text" datatype field, with database size of "50".

  • Sector: Sector where the Attendant Company operates.

  • "Text" datatype field, with database size of "50".

  • Web: Attendant Company Web Address.

  • "URL" datatype field. No database size is defined for this datatype. The "URL" datatype is used to store web addresses and online resources locations.

  • Phone: Attendant Contact Phone Number.

  • "Phone" datatype field. No database size is defined for this datatype. This datatype alone allows the storage of digits and is composed by the fields: The "Phone" datatype is a compound datatype that stores telephone numbers in three different parts:
    • International Prefix.
    • User number.
    • Extension.

  • Fax: Attendant Contact Fax Number.

  • "Phone" datatype field. No database size is defined for this datatype

  • Email: Attendant Email Address.

  • "E-mail" datatype field. No database size is defined for this datatype.This field is composed by :
    • User Account.
    • Subdomain.
    • Domain.

  • Address: Attendant Contact Address.

  • "Text" datatype field, with database size of "200".

  • Description: Large Text with the description of the Attendant and his company interests, and their reasons for coming to the event.

  • "Longvarchar" datatype field. This datatype is similar to the "Text" datatype except from sizes range from 255 characters to 32700. This field is defined with database size "1000".

  • Logo: Attendant Company Logo Image.

  • "BufferedImage" datatype field. No database size is defined for this datatypedatatype.

Next, a table with the "Conference" Information Module fields definition is shown.

Field name
Datatype
Unique
Not Null-Allowed Label Text Field Size
Code Text YES YES YES 10
Name Text NO NO NO 20
Surname Text NO NO NO 40
Photograph Image NO NO NO  
Company Text NO NO NO 100
Position Text NO NO NO 50
Sector Text NO NO NO 50
Web URL NO NO NO  
Phone Phone NO NO NO  
Fax Phone NO NO NO  
E-mail Email NO NO NO  
Address Text NO NO NO 200
Description Large Text NO NO NO 2000
Logo Image NO NO NO  



Beside the datatypes used in the "Conference" Information Module, the CRISOPEYA Technology also supports many more datatypes. The datatypes supported at the moment are shown next:

AVAILABLE DATA TYPES

  • TEXT: Datatype to store a string of text containing letters, numbers and/or other characters. To use this datatype you must define the "field size" on the database. To set the size, you write the maximum number of characters that could be stored. For this datatype, the number of characters range from 1 to 254. By default, the value 254 is set.


  • INTEGER: Datatype to store integer number, either positives and negatives.


  • BUFFEREDIMAGE: Datatype to store images. It support the most usual image formats: bmp, gif, jpeg y png.


  • DATE: Datatype to store date values.


  • BOOLEAN: Datatype to store the logical values true or false.


  • BIGDECIMAL: Datatype to store decimal numbers, either positives nad negatives. To use this datatype you must define the "field size" on the database. To set the size, you must write the total number of digits to be stored (called accuracy) followed by a hyphen, and next the number of digits to be used on the decimal side (called scale). By default, the value 10-2 i set, which means that the decimal number can store up to ten digits, two of them on the decimal side.


  • DOUBLE: Datatype to store doble accuracy floating point numbers, positives and negatives, usually used for scientific accuracy.


  • REAL: Datatype to store simple accuracy floating point numbers, positives and negatives, usually used for scientific accuracy.


  • URL: Datatype to store web addresses and online resources locations.


  • PHONE: Datatype to store telephone and fax numbers. This is a compound datatype, with three subfields:
    • International Prefix
    • User Number
    • Extension

  • EMAILDatatype to store email addresses. This is a compound datatype, with three subfields:
    • User
    • Subdomain
    • Domain

  • CHARACTER: Datatype to store a single character (either letter, numer, or other).


  • CHARACERN: Datatype to store an specified number of characters (either letter, numer, or other). To use this datatype you must define the "field size" on the database. To set the size, you must write the number of characters that are to be stored on this field. For this datatype, the number of characters range from 1 tp 254. By default, the value 254 is set. It differentiates from the "Text" datatype in that the database size that is the maximum string length that can be stored using the "Text" datatype while it is the mandatory string length that can be stored using the "CharacterN" datatype.


  • LONGVARCHAR: Datatype to store large pieces of text. To use this datatype you must define the "field size" on the database. To set the size, you must write the maximum number of characters that could be stored. For this datatype, the number of characters range from 255 to 32700. By default, the value 1000 is set. The "Large Text" datatype is similar to the "Text" datatype except that the "Text" datatype can be used with many different search functions, while the "Large Text" datatype has only a few search functions available due to its size.


  • MONETARY: Datatype to store monetary amounts. This datatype behaves as the "BigDecimal" datatype with a 10-2 database size.


  • ENUM: Datatype to store a value from an enumeration of values. To use this datatype, you must define in a different window the allowed values for this enumerated field.

If you had defined field with the "Enum" datatype, you should set the allowed values for the field. The following window would be shown:

Seed


The example shown is used to set an address "Kind of Road", where the allowed values are : Avenue, Street, Road and Square.

Next a window is shown whrere the users can define additional information about the Information Module fields.

The additional information users can define is the folllowing:

  • Field Long Name: it is used to show the name of the field at the detailed view, though the (shorter field) name already defined is shown at the table view. Both views are explained later on this guide.
  • Field Name on the Database Table: it is used to set the field name on the database table. If this field is set with a value that is not valid for the database, the SEED Tool will show the warning message.
  • Field Width: it is used to set the default field width for the field column on the table view. If not set, the SEED tool will automatically adjust its width attending to the field name and datatype.

All three values are optional. They are not mandatory for the module definition.

The window for the "Conference" example is shown next:

Seed


Press Next to continue

The next window is used to realize a information module fields description. This description will appear in the Community web page for the Community users can see if it is the information module that they are looking for.

Semilla


The next window is used to define the default module registers ordering. Here you can set what fields will be used to order the search results when no ordering has been explicitly defined. You can choose up to different fields, and for each of them set if the ordering will be either ascending or descending.

This windows is shown next:

Seed


Due to the "Conference" Information Module assigned configuration, the information will be shown ordered by the "Code" field on ascending direction, and if equals for some registers, they will be alphbetically ordered by the name, also ascending direction, and so on for each field defined for the default ordering.

Once configured, press Next to continue.

The next window is used to set the icons that will identify the Information Module inside the application. If none is defnied, the default icons will be used for the model.

The Buttons Icon has a 24 x 24 pixels size and is uesd to identify the actions buttons affecting the module. The Tables Icon has a 16 x 16 pxels size and is uesd to identify the opened tabs with the module table view. The Registers Icon has a 16 x 16 size and is used to identify the opened tabs with the module registry view.

In the "Conference" Information Module example the files "conference24.gif", "conferenceTable.gif" y "conference16.gif" has been selected for buttons icon, tables icon and registers icon respectively. The windows is shown next:

Seed


To easily select the icons you can press the "Browse" button.

Once the icons have been defined press Next to continue.

The folowing step is to define the Database that will be used to stored the Information Module data. In the "Conference" Information Module example a database engine is selected from the available databases list. To do this, the Select an external or internal database from compatible databases list (Advanced Users) must be selected.

More specifically, the "MySql 5.0, 4.1 and 4.0" external database engine has been selected. When selecting this option, the Information Module that will be built will be able to work with any of the three database engine versions: MySql 5.0, MySql 4.1 and MySql 4.0.

Next, the windows for selecting this database are shown.

Seed


Seed


On the last window shown, the user can opt to Include the definition of the database connection parameters. If this option is not selected, the parameters will be inserted at installation time.

In the "Conference" Information Module example the Include the definition of the database connection parameters is selected. The next window is used to define these parameters, specifically: User, Password and URL. To easily define the connection URL press the tools button. The window is shown next:

Seed


Seed


At this point, it is important to note that the connection parameters can be set or modified from inside the application once it has been built and installed.

Press Next once the connection parameters are defined.

The following window that includes a summary with the requirements definition is shown.

Seed


On this window, the user can choose to define more Information Modules, or either finalize the requirements definition. If the user wants to define more modules, he selects the New Module options and presses Next. If he wants to finalize the requirements definition, without defining additional modules, he keeps the New Module option unselected.

Next the "Sending requirements file" window is shown, where the file name where the already defined requirements will be saved is set. To select the file to save the requiments you press the "Browse" button.

The name of the file where the requirements are stored must have the “.cri” extensions, which is set by default.

Complimentary this window can connect the CRISOPEYA.NET on-line system, and send the requirements file directly. Select the “Generate and send” option to send the requirements.

Seed


If you only want to save the requirements to send them later to CRISOPEYA.NET, select the “Generate files” option.

Seed


In the "Conference" Information Module example the requirements file name is "Conference.cri" and the "Generate and send option is selected to directly connect to the CRISOPEYA.NET system and send the file. The window is shown next:

Seed


Next the following window to finalize the requirements definition is shown.

Seed


Press Finalize to close this tool.

REQUIREMENTS SENDING

With the "Generate and Send files" option selected, the Internet Browser will be opened and will directly connect to the CRISOPEYA.NET to choose the category where insert the new aplication software, it is possible to add until 3 categories, and it is possible to request the creation of new categories.

Once defined, in only a few seconds you can download the requested aplication software ready to be installed. The window where the software is downloaded from is shown next:

Crisopeya.net



CUSTOMIZED SOFTWARE APPLICATION USE
Once the purchased software is downloaded, we install it. The application can be started from a direct access on the desktop, from the direct access created at the start menu, or executing the "crisopeya.exe" or "crisopeya.sh" file on the isntallation folder. The following window is shown:

APPLICATION HOME


To manage the Information Module data, you must press the Manage Data button on the left panel of the screen.

The following screen will be shown, where you manage the module data. This screen is called the table screen or Table View, already cited on this guide.

Application


To add a new registry press the New button. The following window, called the Insert View, will be shown:

Application


To add a registry we fill up the form with the suitable data and press the Save button. We can add more registers in a manual way following this procedure.

To make a data loading from data stored on a system file with the comma sepparated values format (CSV format), we press the Manage modules button on the menu panel. The screen "Manage modules" will be shown. On this screen we press the Data Load button, and the following window will be shown:

Application


On the "Select the data file" text box you mut input the file path where the data you want to manage is stored. To easily do this, you can press the browse button on the right side of the text box.

To perform the data loading you must select the character that has been used as delimiter for the comma sepparated values file format (CSV format). You can select one of the characters provided at the "Fields delimiter value", or you can select the Others option and write the delimiter character on a text field. To better adjust the loading procedure you can select if you want to update any existent registers on the database tables with the new values on the data load file. To do this you must select between the Yes or No option on "Modify current registers".

Usually, the data loading from a comma sepparated values file (CSV file) only requires these inputs. Only when the Information Module has some BufferedImage datatype fields, new data load options will be shown to perform the images insertion on the Module database.

This is the case for the "Conference" module, which has two BufferedImage datatype fields: "Photography" and "Logo". In this case, a new panel called "Module Images" is shown inside the data load panel. On this new panel the load options for each of the BufferedImage datatype fields are shown. The image load options are: the path to the folder containing the images and the module field that gives name to those images.

In the "Conference" module example, with the Photography and Logo "BufferedImage" datatype fields, we have inserted the path to the folder containing the images and we have selected the "Code" field. With these options, for example, if for the "Photography" field we have selected the "Load/Photographa" folder and the conference code for a attendant is "C123", the loading procedure will look on this folder for a file called C123.gif, C123.jpg, C123.png or C123.bmp and it will store the image on the Photography field of the registry.

Once the data loading options are selected, we press the Accept button. If no error has occurred on the procedure the following screen will be shown:

Aplicación


On this screen, the statistics of the data loading procedure are shown: the number of inserted regiters, the number of updated regiters, the number of erroneous regiters and the total number of registers readen. In this example, 46 registers has been successfully readen and inserted.

In any error or warning has ocurred in any of the regiters during the data loading, a screen like the following one would be shown:

Application


On this screen the erroneous lines on the file are shown, together with the place where the error is located at the line. If any error has occurred on the data loading, the Accept and Undo buttons would be shown. By pressing Accept the changes performed on the database during the data loading would be stored, while pressing the Undo these changes would be descarted and the database would come back to its initial state before the data loading. With both options, the Reload file, Load new file and Edit file buttons would be shown to easily fix the erroneous data.

Once the data load has been performed, we have the information available on the data base and reay to be managed. By pressing the Manage data button on the menu panel, the following screen will be shown:

Application


On this this screen you can perform all sort of searches, filtering and ordering. To perform Basic Searches you can use the controls located over the table. With these controls you can set search criteria by selecting the field, the search operator, and the search ordering. For example, if you wish to search what conference hold a managerial position on their company you will select the "Position" field, the "equals" operator, and you will insert the "Manager" text on the box. The search operators available depend on the field datatype, so if you select a Text data type field, the search operators are "equals", "starts with", "contains", "ends with" and "matches"; while if you select an Integer data type field the search operators are "equals", "lesser than", "greater than", "lesser or equals than", y "greater or equals than".

If you select the "Open in a new tab" control the search results will be displayed on a new tab. If not selected, the results will be shown on the same tab where the search has been launched. The "Add this criterium" control allows you to nest search criteria inside others, fine tunning the search results.

Once the search criteria is defined, press the Search button to perform the searching.

The window to perform a basic search is shown next:

Application


The window that shows a basic search results, defined like the one above, is shown next:

Application


The application can also perform Advanced Searches by pressing the Advanced button. The following screen will be shown:

Application


The advanced search allows to easily efine and combine many search criteria at the same time. It can also use additional advanced search operators, and perform searches on the compound field subfields.

For example, you can search for the conference that hold a director or manager position at their company, and have a corporate email address. To set this search you would define two search criteria as "Position + ignore case + contains + manager" and "Position + ignore case + contains + director" and use the brackets to group together these two criteria with the "OR" logic operator. Then you would define other two criteria as "Email_Subdomain + not + equals + hotmail" and "Email_Subdomain + not + equals + gmail" and group them together using the "AND" logic operator. Last, you would group them together using the "AND" logic operator. The window with this definition is shown next:

Application


When the search is performed you will get all the conference that hold a manager or director position at their company and have an email address not hosted at hotmail or gmail. The results that are obtained by this example search are shown next:

Application



© BUSINESS EXCELLENCE through INFORMATION TECHNOLOGIES, S.L. 2004-2007. All rights reserved.
CRISOPEYA, the CRISOPEYA logo, BEIT and the BEIT logo are Business Excellence through Information Technologies SL registered trademarks.
Project co-funded by the IMPIVA Instituto de la Pequeña y Mediana Industria de la Generalitat Valenciana and the European Social Fund European Social Fund