This chapter is $Revision: 1.1 $ $Date: 2003/01/05 00:00:29 $ .
Maintain ISO 639 language information and source information. Source of this information is http://www.loc.gov/standards/iso639-2/ .
Maintain information for the User Interface (UI) such as Label, Tooltip and Help Text that will be stored in the database. The label is a description or name of the data that can be used by forms and reports as heading for the field data. Tooltip is optionally displayed when the users cursor moves over a field and tooltip support is on. Help Text is a window of text that is displayed at the request of the user for more information about a field.
There will be two help tables in the db. One "standard" (called sys_help) is provided by the module writer and in the other "individual" (called user_help) the user can fill in when he wants different help information. When updating a module via a system update, only the standard table gets overwritten.
There will be a tool that helps importing default data into the db, including helpt text. Since now those things are handeled like normal data, it can be the same tool we use for importing standard data like countrycodes etc.
There are several arguments for storing help information in the database and not in ascii files:
We can make a form for that, and the user can easily change the data
The data from that tables can be used in 2-tier mode, too
Access to db data is probably faster than access to ascii files (especially when we have big ascii files we have to search through to find the correct label).
We make use of the db's advanced caching mechanisms
It is easy to simply backup a database and have all variable data of gnue saved
We don't have to invent just another file format with just another parser
We can use the standard geas security system to decide which user can change help text and which user can't
We could even have different labels/help texts for different companies by making the "individual" table company dependent if we want
We can use the standard geas security system to decide which user can change help text and which user can't * we could even have different labels/help texts for different companies by making the "individual" table company dependent if we want
The following items will be implemented in future version of this module. They may be implemented in the base module or be added via an industry specific add on.
none
The following Business Objects are defined and maintained by this module.
language
sys_help - the system defined help data. This data is never removed or deleted. If it needs to be change then additional data is added to the 'user_help' class.
user_help - for overridding the system defined help data.
Add, modify, and delete languages.
Add or modify help information.
None
# language.gcd
#
# Copyright (C) 2001 Free Software Foundation, Inc.
#
# This file is part of GNU Enterprise.
#
# GNU Enterprise is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GNU Enterprise is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Enterprise; see the file COPYING. If not, write to the
# Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
# 02111-1307 USA.
#
# This file originally written by Neil Tiffin (neilt@gnue.org).
#
# $Revision: 1.1 $ $Date: 2003/01/05 00:00:29 $ $Author: psu_gnue $
#
# ===========================================================================
# language - language dependent stuff goes here.
# ===========================================================================
module language {
# -------------------------------------------------------------------------
# definition of languages.
# -------------------------------------------------------------------------
class language
{
char code<8>; # en = ISO for english
char dialect<8>; # us = ISO for united states
char desc_en<25>; # english description of language (required)
char desc_fr<25>; # french language description of language
char desc_ot<25>; # other language description of language
};
# -------------------------------------------------------------------------
# default system language dependent data for use by forms and reports
# to assist the user.
# -------------------------------------------------------------------------
class help
{
language::language * language;
char code<8>; # code that matches language::language.code
char dialect<8>; # dialect that matches language::language.dialect
char name<255>; # fully qualified module class field name.
# TODO define/document format.
# other layers of help may be defined by
# extending this class.
# base help has these fields = null
char company<15>; # place holder until decided how it works in geas.
char usr_group<15>; # if empty this change applies to all groups.
char usr<15>; # if empty this change applies to all users.
# Help data
char help_text<2000>; # full help text if the user clicks on help.
char help_keywords<100>; # keywords to help for searches.
text tool_tip; # short help when the user's mouse passes over
# the field.
text label; # default label for this data, used for
# both reports and forms.
text long_label;
text short_label;
text default_text; # default text data for new fields.
};
};