DBIx-Web

 view release on metacpan or  search on metacpan

lib/DBIx/Web.pod  view on Meta::CPAN

=item Triggers

C<-end0>, C<-endh>, C<-end1>;

C<Triggers Interface>;

C<-cgiRun0A>;
C<-recTrim0A>;
C<-recForm0A>, C<-recForm0C>, C<-recForm0R>, C<-recFlim0R>, C<-recForm1C>, C<-recForm1A>;
C<-recEdt0A>, C<-recEdt0R>, C<-recChg0R>, C<-recChg0W>, C<-recEdt1A>;
C<-recNew0C>, C<-recNew0R>, C<-recNew1C>;
C<-recIns0C>, C<-recIns0R>, C<-recInsID>, C<-recIns1R>, C<-recIns1C>;
C<-recUpd0C>, C<-recUpd0R>, C<-recUpd1C>;
C<-recDel0C>, C<-recDel0R>, C<-recDel1C>;
C<-recIndex0R>;
C<-recSel0C>;
C<-recRead0C>, C<-recRead1C>


=item Database Operation

C<start>, C<end>;
C<recCommit>, C<recRollback>;

C<recNew>, C<recForm>, C<recIns>, C<recUpd>, C<recDel>;
C<recSel>, C<recList>, C<recUnion>, C<recRead>, C<recQBF>;
C<recUtr>, C<recLast>;
C<recFields>, C<recValues>, C<recData>, C<recKey>, C<recWKey>

See also C<Database Engines>.


=item Data Record Special fields

Record's hash ref returned from C<Database Operation> calls contains
data fields and values. 
But some fields are specially computed to describe record:

C<-new>, C<-file>, C<-fupd>, C<-editable>


=item User Interface

Start review with C<cgiRun>.

C<Table/Form Description>;
C<-pcmd>, C<-pdta>, C<-pout>;
C<-form>;
C<-cgiRun0A>,
C<-cgcXXX>;
C<-subst>,
C<-recXXX> (C<-recNew>, C<-recForm>, C<-recIns>, C<-recUpd>, C<-recDel>, C<-recRead>, C<-recList>,...);
C<-recX#A> (C<-recTrim0A>, C<-recEdt0A>, C<-recEdt0R>, C<-recEdt1A>);
C<-httpheader>, C<-htmlstart>;
C<-banner>, C<-logo>, C<-search>, C<-login>, C<-icons>; C<-menuchs>, C<-menuchs1>, C<-frmLso>, C<-frmLsc>;
C<-cgvXXX>;

C<cgiRun>, C<cgiParse>, C<cgiQuery> (and C<cgiQueryFv>, C<cgiSel>); 
C<urlAuth>, C<urlOpt>, C<htmlMQH>;
C<psParse>, C<psEval>; 
C<htmlStart>, C<htmlEnd>, C<htmlHidden>, C<htmlMenu>, 
C<cgiForm> (and also C<htmlField> and C<cgiDDLB>, C<htmlFVUT> and C<htmlFVUH>, C<tfvVersions>, C<tfdRFD>, C<tfvReferences>),
C<cgiList> (and C<cgiLst>), 
C<cgiHelp>,
C<cgiFooter>.

See also C<Perl Script Pages>, C<Templates>.


=item UI Substitutions

C<cgiRun> (C<-cgcXXX>, C<-subst>, C<-recXXX>, C<-cgvXXX>);

C<cgiForm> (C<-field>, C<-query> C<-data>, C<-table> C<-field>);

C<cgiList> (C<-query> C<-data> C<-display>, C<-field>, C<-table> C<-field>)

See also C<User Interface>.


=item Templates

C<-tn>, C<tn>;
C<ttoRVC>; 
C<ttsAll>, C<tfsAll>; 
C<tvmVersions>, C<tfvVersions>; 
C<tvmReferences>, C<tfvReferences>;
C<tvmHistory>; 
C<tfdRFD>; 
C<tfoShow>, C<tfoHide>;
C<tvdIndex>, C<tvdFTQuery>



=back


=head1 SLOTS

=over

=item Slots

See C<Slots and Methods>


=item -affect

	=> not exists || 1

(C<Database Options>)
Number of rows to be affected by DML 'recUpd' or 'recDel' operation.
Distinguish from C<-limit>.


=item -affected

(C<Database Options>)
Number of rows really affected by DML 'recIns', 'recUpd', 'recDel' operation.
See also C<-affect>

lib/DBIx/Web.pod  view on Meta::CPAN

=item -form

	=> not exists || {form name => {form description} }

	=> not exists	|| form name to display records
			|| [?form, ?command, ?key field]
			|| [?form, ?command, '-wikn']
			|| sub{$_}() -> url string || ['urlCmd' args]
			|| false

(C<Form Description>, C<User Interface>)
User Interface forms descriptions.

(C<Field Description>, C<User Interface>)
Form to display records by field value.


=item -frmLsc

	=> not exists
	|| [	{-val => fieldname}
		|| {-val=>option, ? -lbl=>title
			, ? -cmd=> {'cgiList' options} 
				|| sub{}(self, name, {metadata}, {query}, option)}
		|| [option, ? title, ? {'cgiList' options} || sub{}],...]

(C<Table/Form Description> - C<User Interface>)
C<cgiQuery> / C<cgiList> display options 
alike column sets (C<-data>, C<-display>), 
sorting and grouping orders (C<-order>, C<-group>).


=item -frmLso

=item -frmLsoAdd

	=> not exists || boolean 
	|| [{-val=>option, ? -lbl=>title
			, ? -cmd=> {'-pcmd' options}
				|| sub{}(self, name, {metadata}, {query}, option)}
		|| [option, ? title, ? {'-pcmd' options} || sub{}],...]
	|| sub{}(self, name, meta, command, option) -> [list]

=item -frmLso0A

	=> not exists || sub{}(self, name, meta, {'-pcmd' options}, option)

=item -frmLso0C

	=> not exists || sub{}(self, name, meta, command, option)

=item -frmLso1C

	=> not exists || sub{}(self, name, meta, command, menu comment) -> html

=item -frmLso2C

	=> not exists || sub{}(self, name, meta, command) -> html

(C<Table/Form Description> - C<User Interface>)
C<htmlMenu> form query options, default provided by C<cgiQuery>
as C<-urole> C<recSel> clause.

C<-frmLso0A> trigger will be called for each C<-frmLso> value and 
may be used to change C<-pcmd> emulating user defined query parameters.
C<-frmLso0C> trigger may be used to modify immediate arguments of Ñ<cgiQuery> issue.

C<-frmLso1C> and C<-frmLso2C> triggers may be used to modify 
C<htmlMenu> comment and C<cgiList> first column header.
C<urlOpt> and C<htmlMQH> methods may be useful.


=item -fsrdr

	=> not exists || [users names]

(C<File Store>)
File Store Readers - users names


=item -fswtr

	=> not exists || [users names]

(C<File Store>)
File Store Writers - users names


=item -ftext

	=> not exists || [field names]

(C<Table/Form Description>)
Fields for full-text search.
Default is all fields of record.


=item -fupd

	=> not exists || record file attachments updatable sign

(C<Data Record Special fields>, C<Record File Attachments>)
Record file attachments updatable sign.
Stamped by C<Database Operation> calls along with C<-file>.


=item -fvhref

	=> not exists || false || sub{$_}($self,{field},'eqp' mode,{record}) -> URL

(C<Field Description>)
Form value URL to underline display of field.


=item -help

	=> not exists || help text || help html || sub{}(self) -> text || html

(C<Database Description>, C<Table/Form Description>, C<Field Description>)
Help text for C<cgiHelp>.


=item -hide

	=> not exists || sub{$_}($self,{field},'eqp' mode,{record}) || boolean

(C<Field Description>)
Hide field condition.

lib/DBIx/Web.pod  view on Meta::CPAN

'!h' option turns off table header.
See C<Table/Form Description>, C<-query>, C<recSel> for query and list specifications,
additional query/list clauses are 
C<-field> to use instead of C<-data>,
and C<-display> to use instead of C<-flg> values of C<-field>.



=item cgiLst (?-options, table / form name, ?{query})

C<User Interface>.
Simplified C<cgiQuery>/C<cgiLst> combination,
may be called within C<Field Description> sub{}
to embed list of records inside C<cgiForm>.



=item cgiParse ()

C<User Interface>.
Parses CGI input parameters:
command, parameters, keywords into C<-pcmd>;
data into C<-pdta>.
Used internally by C<cgiRun>.


=item cgiQuery (table / form name, {table / form metadata}, ? {command}||C<-pcmd>) -> cursor

C<User Interface>.
Forms and starts query using C<recSel>. Returns cursor.
Used by C<cgiRun>, with C<cgiList> follows.
See C<Table/Form Description>, C<-query>, C<cgiList> and C<recSel> for query and list specifications.
See also C<cgiQueryFv> and C<cgiSel>.


=item cgiQueryFv (table name || {command} ||false, field ||[field list], ?{command}) -> cursor

C<User Interface>.
Forms and starts query of field values.
Alike C<cgiQuery>, but dynamically forms metadata needed.
May be useful for C<-ddlb> sub{}s to avoid superfluous forms.



=item cgiRun () -> success

C<User Interface>.
CGI server response implementation.
Sets error handlers.
Starts and ends session with C<start> and C<end>.
Accepts and parses input parameters with C<cgiParse> 
into C<-pcmd> and C<-pdta>.
Logins if needed (cgi redirection to C<-login>).
Determines required action, form and table using
C<-cgcXXX>, C<-subst>, C<-recXXX>, C<-table>.
If external implementation found, invokes it and returns.
Invokes action required (stores result in C<-pout>): C<Database Operation> or C<cgiQuery> or embedded implementation.
Reassigns C<-form> if found inside C<-pout>.
Determines external presentation implementation via C<-cgvXXX> and invokes it.
Or outputs http and html headers (C<htmlStart>), 
hidden fields (C<htmlHidden>), menu bar (C<htmlMenu>),
record's form (C<cgiForm>) or list of records (C<cgiList>),
screen footer (C<cgiFooter>),
form and html footers.

Also implements '-reindex' (run C<recReindex>(1)) and '-setup' (run C<setup>)
service command line options, see also C<Command Line>.

Depending on particular environment configuration
C<cgiRun> may return DBIx::Web object, C<DESTROY>, false, C<die>.
It is recommended to use C<cgiRun> as the last call in the CGI script.


=item cgiSel ({name => value,...} || name => value,...) ->  -> cursor

C<User Interface>.
Alike C<recSel>, but using C<User Interface> specifications
to produce cursor for C<cgiList>.
Alike C<cgiQuery>, but without user dependent parameters and options.



=item class () -> class name

C<Creation and Setup>.
Returns class name of the object.


=item cptran (fromCP, toCP, string) -> translated string

C<Misc Data methods>.
Translates strings between cyrillic codepages.


=item datastr (stringified data structure) -> data structure

C<Misc Data methods>.
Restores data structure from stringified format of C<strdata> result.


=item dbi () -> L<DBI|DBI> connection object

C<SubObjects>. Returns L<DBI|DBI> connection object,
creates it if not exists using C<-dbiarg> and C<-autocommit>


=item dbiLikesc (text) -> escaped

C<Misc Data methods>.
Escapes value to use within SQL LIKE '' ESCAPE '\'.


=item dbiQuote (text) -> quoted

=item dbiUnquote (quoted) -> unquoted

C<Misc Data methods>.
Quotes value to use within SQL statements.


=item dbmNew (file name) -> new isam data file object

lib/DBIx/Web.pod  view on Meta::CPAN

=item htlsTag ([[name,...],...{-tag=>name,...}],...)

=item htlsTag (..., "\n")

C<Misc Data methods>.
Converts parameters given to the list to print HTML tag
with 'name', 'attributes' and optional 'content' tags inside.
Leading '-' signs in attribute names are ignored.
Values are escaped.
Newlines string may be the last parameter to format output.
The list structure will not be documented.
See also C<xmlsTag>, C<outhtm>


=item htmlEnd () -> http and html final string

C<User Interface>.
Generates http and html final string
to C<output> by C<cgiRun>


=item htmlEscape (strings) -> escaped

=item htmlUnescape (string) -> unecaped

C<Misc Data methods>.
Escapes and unescapes to and from HTML text.
See also C<urlEscape>.


=item htmlField (name, title, {C<-inp> metadata}, value) -> html field string

C<User Interface>.
Generates HTML field, used by C<cgiForm>.
Empty name means readonly.
See C<-inp> for metadata.


=item htmlFVUH (table name, {record data}, html to translate) -> html

C<User Interface>.
Converts HTML value to HTML translating URLs alike C<htmlField>.
See C<-inp> for special URL protocol values.


=item htmlFVUT (table name, {record data}, text to translate) -> html

C<User Interface>.
Converts text value to HTML with URLs highlighted alike C<htmlField>.
See C<-inp> for special URL protocol values.



=item htmlHidden () -> hidden fields html string

C<User Interface>.
Generates hidden fields HTML to C<output> by C<cgiRun>
Uses C<-pcmd>.


=item htmlMenu () -> screen menu bar html string

C<User Interface>.
Generates menu bar HTML to C<output> by C<cgiRun>
Uses C<-pcmd>, C<-pdta>, C<-pout>.


=item htmlMQH (-option=>value,...) -> menu query hyperlink html

C<User Interface>.
Generates menu bar styled hyperlink HTML with query options.
May be used within C<-frmLso1C>.
Display value may be defined using -label option for text or 
immediate -html option.
Hyperlink will be highlited if current query matches options defined.
The last matched call may be inspected in $s->{C<-pcmd>}->{-htmlMQH}.

HTML hyperlink options: -title, -style, -class, -target.

Query options: -qwhere, -qkey, -qurole, -quname, -qorder, -qkeyord.
Value of C<-qwhere> may be eclosed in '[[ ]]' or '/* */' brackets distinguishing from another condition.

Query exclusion options: -xpar => 0 - excluding none
| 1 - excluding some | 2 - excluding all (default)
| -option name | [-option names];
-xkey => -qkey key | [-qkey keys].

Overview option: -ovw => sub{}(self, match?, {C<htmlMQH> args}, {query active}, {query formed}).


=item htmlStart () -> http and html headers string

C<User Interface>.
Generates http and html headers using C<-httpheader>, C<-htmlstart>, L<start_multipart_form|CGI>
to C<output> by C<cgiRun>


=item initialize (-option=>value,...) -> initiated as DBIx::Web object

C<Creation and Setup>.
Initiates new DBIx::Web object. Used internally, by C<new>().
See C<initialize> and C<set> sources for defaults.


=item ishtml (string) -> alike HTML?

C<Misc Data methods>.
Looks string given like HTML code?



=item ldapLst (? '-ug<>', ? filter username || groupname || sub{}(self,name), ? container [] || {}, ?[system name attr => diaplay name attr]) -> user and group names

C<User Identification>.
Returns user ('-u') and group ('-g') names 
using filter given 
in array ([]) or hash ({}) ref;
'<>' option forces comment notation for hash ref.
Default is both ('-ug') in array ref ([]).
Uses C<-ldapsrv>, C<-ldapbind>, C<-ldapsearch>,....
May be used alike C<uglist>, but directly with LDAP server.

lib/DBIx/Web.pod  view on Meta::CPAN

Several command line options mentioned are implemented within C<cgiRun> method,
another options may be implemented within script itself.


=back


=head1 Web Server Configuration

=over


=item CGI Script Configuration sample

('#' - default value)

C<-path>	=>'-ServerRoot' # datastore path

#C<-cgibus>	=>undef		# legacy mode

#C<-url>	=>'/dbix-web'	# filestore URL (/dbix-web or /cgi-bus)

C<-urf>		=>'-path'	# filestore filesystem URL

#C<-fswtr>	=>'System'	# filesystem writers (default is process account)

#C<-login>	=>/cgi-bin/ntlm/# login URL


=item Apache Configuration sample

Run 'perl cgi-script C<-setup>' C<Command Line>.
See 'C<-path>/.htaccess-*' file.


=item Microsoft IIS Configuration sample

'RevertToSelf' Windows call controlled with C<-w32IISdpsn>.

 Default Web Site Properties: Home Directory = Read; Scrpts Only; Low (IIS process);
 cgi-bin directory: C:\Inetpub\wwwroot\cgi-bin; Scripts and Executables; 
 cgi-bin\dbix-web directory: C:\Inetpub\wwwroot\cgi-bin\dbix-web; Scripts and Executables; 
 cgi-bin\ntlm virt directory: C:\Inetpub\wwwroot\cgi-bin; Scripts and Executables; Anonymous off
 cgi-bin\guest virt directory: C:\Inetpub\wwwroot\cgi-bin; Scripts and Executables; Anonymous only
 dbix-web\rfa directory and 'dbix-web\rfa' url: Read, Browse, Index;


=back


=head1 VERSION

=over


=head2 2013-10-30 - Version 0.80

Corrected obsolete syntax, new C<-PlainGroupFile> and C<-PlainUserFile>,
thanks to Zhenya.
Corrected C<udisp>(), C<udispq>(), C<ugf_w32ldap>(), C<ugf_w32>().
Changed C<htmlMenu>().
Some minor corrections and improvements.



=head2 2009-05-25 - Version 0.79

Corrections in C<htmlRFD>, C<recRead>, C<cgiList>, C<cgiForm>, C<recWikn>, C<cgiAction>.

Extended C<cgiForm> processing C<-form> field hyperlink array with '-wikn', C<htmlMQH> with C<-ovw> option, C<cgiQuery> for C<-frmLsc> undescribed values, C<recWikn> for table name as C<-wikq> query parameter.

Changed C<htmlStart> using C<-expires>=>'now' conditionally.

CMDB and Service Desk example corrections and improvements.


=head2 2009-01-10 - Version 0.78

C<ugroups> cached in memory shared between DBIx::Web objects, this is alike C<udispq>.

CMDB and Service Desk example corrections and improvements.


=head2 2008-12-04 - Version 0.77

New #ftext() and #urole() substitutions for SQL WHERE in C<recSel>.

Extended C<cgiHelp>().

New C<hreverse>()

Corrected C<cgiRun>(), C<cgiDDLB>().

CMDB and Service Desk example corrections and improvements.


=head2 2008-11-09


New C<w32ufswtr>, C<-wikq>, C<umail>; deprecated C<w32umail>.

C<new> extended to reuse existed object.

C<cgiDDLB> corrected to comply with its specification.

Corrrections in 
C<osCmd>, C<cgiDDLB>, C<recWikn>, C<htmlStart>, C<htmlMenu>, C<tfvReferences>,
C<ugfile>, C<initialize>, C<end>, C<DESTROY>.

CMDB and Service Desk example corrections and improvements.


=head2 2008-09-21 - Version 0.76

Minor corrections (C<pthMk>, C<cgiRun>).

Redesigned C<pthCp> - external copy command not used now.

New C<-w32xcacls>.



=head2 2008-06-23 - Version 0.75

Minor corrections.



=head2 2008-04-24 - Version 0.74

New C<-search>.

C<Perl Script Pages> may be also called directly by {-cmd=>frmCall, -form=>'filename.psp'},
without C<-cgcXXX>/C<-cgcURL>/C<-cgvXXX> registration.

Improved C<htmlMenu>, C<cgiParse>, C<cgiQuery>, C<cgiHelp>.

Corrected row-level access control filtering (C<dbiACLike>, C<dbmSeek>).

Corrected behaviour of exeptions.

CMDB and Service Desk example corrections and improvements.



=head2 2008-03-03 - Development Version 0.73

Misc corrections and improvements in C<cgiRun>, C<cgiSel>, C<uglist>, C<htmlMenu>, C<htmlML>.

New C<-dbistart>.

Extended C<-help> using HTML and improved C<cgiHelp>.

CMDB example improvements.



=head2 2007-12-27 - Development Version 0.72


Corrections for PerlEx: C<-serial>=>0, error handling.

Data quoting correction.

CMDB example corrections.

New C<-dbiexpl>.


=head2 2007-11-07 - Development Version 0.71

CMDB example - changed record status flow.

Improvements/corrections for PerlEx.

Error processing improvements.

C<logRec>() corrected.

Query length limit increased.

C<htmlMQH>()/C<cgiSel>() conditions catenation added 
using C<-qwhere> with '[[]]/**/' syntax for C<htmlMQH>.



=head2 2007-09-07 - Development Version 0.70

And some minor corrections


=head2 2007-08-23

New C<-banner>.

Corrected C<osCmd> behaviour for 'xcopy' command under PerlEx.


=head2 2007-06-29 - Development Version 0.69


=head2 2007-06-26

Considered Active Perl/PerlIS 5.8 with L<CGI|CGI> 3.20:
'use CGI qw(-no_xhtml -newstyle_urls -nph)';
'$CGI::Q =$s->{C<-cgi>}';
new C<url> method fixing L<CGI::url|CGI>.

Corrected C<-serial> operation.

Optimised C<w32umail>.

Corrected C<ugfile>.


=head2 2007-06-03 - Development Version 0.68


=head2 2007-04-20-05-22

Changed C<htmlField> for C<-hist>.

Corrected C<cgiRun> for C<-cgcCall>.

Changed C<htmlMenu> form choise list behaviour.

C<-menuchs> item may be form/table name.

Corrected C<htmlHidden>, C<htmlMenu>, C<psEval>.

New C<-ugflt1>.

Corrected C<cgiForm>, C<cgiList>, C<htmlRFD>.

C<-ddlbloop>/C<-loop> value may be sub{}.

Corrected C<timestr> and C<timeadd> considering DST.

CMDB example development.


=head2 2007-04-12

Corrected C<recForm> setting C<-editable>.

Corrected C<recUtr>.

Corrected C<recIns>, and C<recUpd> using 
C<-recForm0R>, C<-recFlim0R>, C<-recRead0R>, C<-recRead1R>, C<-recRead1C>
when single record read to be returned.

New C<-racManager>.

Corrected C<smtpSend> using pure addresses for 'to' and 'mail'.


=head2 2007-04-06

New C<udispq>.

New C<-recFlim0R>, C<recActor>, C<recActLim>.
Adapted or changed C<-recForm0R>, C<-recDel0R> (C<Triggers Interface>),
C<recRead>, C<recNew>, C<recForm>, C<recIns>,
C<cgiForm>, C<ugmember>.

New C<cgiHelp> and C<-help>.


=head2 2007-03-09 - Development Version 0.67



=head2 2007-02-28

Changed C<recQBF>, new C<-qjoin>/C<-join2> to use joins with query conditions.

Fixed C<cgiList> XML.

Fixed C<xmlEscape>, C<xmlTagEscape>.



=head2 2007-02-06

Changed C<-cgibus> calculation to support key:// and wikn:// hyperlinks.



=head2 2007-02-02

lib/DBIx/Web.pod  view on Meta::CPAN


Improvements in '<html ... lang>'.



=head2 2006-12-15 - Development Version 0.65


=head2 2006-11-16 - 12-14

New C<-rvcVerWhen>, conditionally for C<ttoRVC> compatibility.

Some corrections of JavaScript for Mozilla/Firefox.

Added record changes display, using L<Algorithm::Diff|Algorithm/Diff>,
but with wrong processing of file attachments.

New C<strDiff>, C<strHTML>.

Extended C<-dbiarg> with 'DBI:Proxy:hostname=127.0.0.1...' case.

New C<-recChg0W>.

Improved frameset behaviour.



=head2 2006-11-05 - Development Version 0.64


=head2 2006-09-30 - 2006-11-03

Taking ownership of C<Record File Attachments> on Windows along with 'cacls'.

Changed C<-usernt> values, new 'not exists' default works in C<ugroups>
without any filtering of '\\' or '@' name forms.
Another values are to reduce database query conditions.

New C<-ldap>, C<ldapLst>, C<-w32ldap>.

New C<ugfile> with 'ugf_...' subroutines, removed C<w32agf>,
changed format of user/group cache files.

Some corrections of JavaScript for Mozilla/Firefox.

New frameset behaviour for user interface using '_frame=Name' and '_frame=set' URL paramters.

Some internal corrections and improvements.

Development of cgi-bus remake seems to be done.



=head2 2006-09-22 - Development Version 0.63


=head2 2006-09-08


New C<-proto> parameter for C<recNew>.
Changed C<htmlMenu> to create a new record using hyperlink 
and minimum inheritance from record current.

New C<-datainc> parameter for C<-query>.

Extended SQL generated with default field aliaces and table qualifiers.
C<dbiSel> changed and corrected.

New 'f' and '-' values for C<-flg> attribute of C<-field>.
Reviewed usage of C<-flg>.

New C<dsdQuot>.

Changed C<cgiQuery>,C<dbiSel>,C<htmlMenu>,C<cgiForm> 
to nest C<-qkey> hashes within arrays recursivelly: 
-qkey=>{name=>value,... name=>[OR value,...{name=>AND value,...}]}

Fixed C<ugnames>(name) using "local C<-userln>=undef"



=head2 2006-08-04-24

Changed C<-frmLso1C> specification from sub{}(self, name, meta, command, option, comment),
corrected C<-frmLso2C> specifications from sub{}(self, name, meta, command, option).

New C<htmlMQH>.

Arranged C<cgiQuery>, C<cgiForm>, C<htmlHidden>, C<htmlMenu> handling
C<-qkey>, C<-qwhere>, C<-urole> as defaults for user defined query arguments, 
considering also C<-uname>, C<-frmLso>, C<-frmLsc>.

Changed C<cgiQuery> - improved inheritance from table C<-query> parameters.

New C<recUnion>.

Fixed C<tfvReferences>: C<-flg>=>'l' not needed when C<-query>->{C<-data>/C<-display>}.

Changed C<-ldclass>, C<-ldstyle>, C<-lsthtml> specs from sub{$_}($self,cursor,[record]).

Changed C<-fdclass>, C<-fdstyle>, C<-fhclass>, C<-fhstyle> specs from sub{$_}($self,{command},{record}).

Changed C<-ddlb> spec from sub{$_}($self, {field}).

New C<-fnhtml>, C<-fnhref>, C<-fvhref>.

Changed C<cgiQuery> query defaults usage:
C<-query>{C<-frmLso>, C<-qwhere>, C<-qkey>} will not be used
if C<-pcmd>{C<-qwhere>, C<-qkey>, C<-qurole>} specified.

New C<-cgiRun0A>.

New C<-udisp>.

Added C<-dbiACLike> to C<Table Description>.

New C<-limlb>.

Fixed C<-ldprop> to work without C<-ldstyle>.

Added C<-frmLsc> default C<-cmd> behaviour, required now C<-val> only.

New C<w32umail>.



=head2 2006-06-30 - Development Version 0.62


=head2 2006-05-04-17

New C<cgiQueryFv>.

New C<recUtr>.

Changed C<-lsthtml> - called always within field border tags.

New C<urlCmd>, C<cgiLst>.

Extended C<-form> field description with sub{} and array ref values.

Improved C<-hidel> behaviour.



=head2 2006-04-03 - Development Version 0.61


=head2 2006-03-10-22

lib/DBIx/Web.pod  view on Meta::CPAN

C<-dbiph>, C<-keyqn> new options/slots.

C<-cgibus> new slot, 
Starting 'webus.cgi' remake of L<CGI::Bus|CGI/Bus> example,
Attempting SQL subsystem.

Some improvements in behaviour.

C<ugroups>(?user) variant in addition to C<ugnames>(?user)
'<?XML' tag 'encoding' attribute corrected.
HTML style usage corrected.
 


=head2 2004-10-25 - Development Version 0.54

Doubts found reviewed since C<2004-06-26> position.
This should not be used yet...


=head2 2004-10-13

New C<-urm> feature.


=head2 2004-10-09

'Default Data Definitions' methods redesigned to C<Tempates>. 
Templates specifications and examples changed.


=head2 2004-09-21

C<-unflt> and C<-ugflt> slots added to filter user and group names.


=head2 2004-09-14

C<-end0>, C<-end1>, C<-endh> triggers created, C<-endh> used by C<ugfile>.
C<w32agf> rewritten with C<ugroups> and C<uglist> using Windows ADSI,
L<Win32API::Net|Win32API/Net> excluded at all.

L<Win32::OLE|Win32/OLE>->Option("Warn"=>0) used anywere.

C<cgiAction>: Edit mode switched off when record save.

C<-racAdmWtr> can read only permitted records, but update all can read.
C<-racAdmRdr> slot added.


=head2 2004-08-28

C<w32adhi> created.

C<w32domain> corrected.


=head2 2004-06-26 - Development Version 0.53

XML presentation.
Menu listboxes behaviour improved.
'dbmSeek' string condition parser improved.
'DHTML Editing Component' used.
Temporary files dir environment variables usage reviewed.
Default query conditions display.
Some another reviews and corrections.
This should not be used yet...


=head2 2004-06-13 - Development Version 0.52

C<tvdFTQuery> created.
Log more readable.
Some corrections.
This should not be used yet...


=head2 2004-06-06 - Development Version 0.51

CSS support. 
C<tvdIndex> created.
Some error corrections.
This should not be used yet...


=head2 2004-05-16 - Publication of Version 0.50

This should not be used yet, only looked at, may not work at all.

=item ToDo

See beginning of source code


=head2 2004-03-16 - Paused

http://makarov.arkhangelsk.ru/index-anton.htm 



=head2 2004-01-29 - Preview Release

This should not be used yet, only looked at, may not work at all.


=head2 2004-01-26 - Size Analysis

The biggest are C<User Interface> (43.7 Kb), 
C<Database Options> (39.5 Kb), tools (30 Kb, C<Misc Data methods> and C<SubObjects>).
Details, in kilobytes:

C<Creation and Setup>		12

C<Misc Data methods>		9.6

C<SubObjects>			3 + 20.7 of internal objects

C<File Store>			5.6

C<Persistent Variables>		1



( run in 0.659 second using v1.01-cache-2.11-cpan-39bf76dae61 )