Click here to Skip to main content
15,885,546 members
Articles / Web Development / HTML

Wizard and CRUD Applications to Build other CRUD Applications

Rate me:
Please Sign up or sign in to vote.
4.65/5 (41 votes)
8 Jun 2010GPL37 min read 110.7K   4.1K   146  
Looking at the possibility of using CRUD applications to manage other CRUD applications inside a web browser and without any hand-coding. Also, presenting a step wizard deriving the database structure from the UI rather than the opposite.
<?xml version="1.0" encoding="utf-8" ?>
<!-- www.Evolutility.com - (c) 2008 Olivier Giulieri -->
<form label="Evolutility Dictionary - Form" description=""   xmlns="http://www.evolutility.com"   >
	<data entity="component" entities="components" dbdetails="1" dbtable="EvoDico_Form" 
		  icon="" dbcolumnpix="icon" dbcolumnlead="Title"
		  dborder="t.Title"   
		  splogin="EvoDico_Login_SP @login, @password"
		  sppaging="EvoSP_PagedItem @SQLselect, @SQLtable, @SQLfrom,  @SQLwhere, @SQLorderby, @pageid, @pagesize"  /> 
<tab label="Definition" >
<panel label="Form" width="80">
	<field label="Title" help="example: 'Address book'" type="text" dbcolumn="Title" dbcolumnread="Title" maxlength="100" search="1" searchlist="1" searchadv="1" 
		   width="62" height="1" cssclass="fieldmain" required="1" />
	<field label="ID"  type="text" dbcolumn="ID" dbcolumnread="ID" maxlength="100" search="1" searchlist="0" searchadv="1" 
		   width="38" height="1" cssclass="fieldmain" readonly="1" />
	<field label="Item name" help="example: 'contact'" type="text" dbcolumn="entity" dbcolumnread="entity" maxlength="50" search="1" searchlist="0" searchadv="1"  
		   width="50" />
	<field label="name (plural)" help="example: 'contacts'" type="text" dbcolumn="entities" dbcolumnread="entities" maxlength="50" search="0" searchlist="0" searchadv="1"  
		   width="50" />
	<field label="Help" help="Help on the field (for edition)" labeledit="Help" type="textmultiline" dbcolumn="Help" dbcolumnread="Help" maxlength="500" search="0" searchlist="0" searchadv="1" 
		   width="100" height="3" />
 </panel>
<panel label="Tools" width="20">	 		
 <field label=""  labellist="Try" type="lov" readonly="1" dbcolumn="ID" dbcolumnread="id" maxlength="50" search="0" searchlist="1" width="100" 
	link="EvoDicoTest.aspx?formID=@itemid" linklabel="Run" linktarget="t" />		
<!--  <field label=""  labellist="Skin" type="lov" readonly="1" dbcolumn="id" dbcolumnread="id" maxlength="50" search="0" searchlist="0" width="100" 
	link="EvoSkin_sliqua.aspx?formID=@itemid" linklabel="Second Skin" linktarget="T2" />		--> 
	<field label=""  labellist="Document" type="lov" readonly="1" dbcolumn="id" dbcolumnread="id" maxlength="50" search="0" searchlist="0" width="100" 
	link="EvoDicoFormDoc.aspx?ID=@itemid" linklabel="Document"  />
 <field label=""  labellist="Publish"  type="lov" readonly="1" dbcolumn="id" dbcolumnread="id" maxlength="50" search="0" searchlist="1" width="100" 
	link="EvoDicoWiz.aspx?formID=@itemid&amp;action=script" linklabel="Publish" linktarget="publish" />
</panel>
<panel label="Icon" width="62">
	<field label="Icon" help="" type="image" readonly="1" dbcolumn="icon" dbcolumnread="icon" maxlength="50" search="1" searchlist="0" searchadv="1" width="19" height="1" />
	<field label="Icon name" help="example='contact.gif'" type="text" dbcolumn="icon" dbcolumnread="icon" maxlength="50" search="0" searchlist="0" searchadv="0" width="73" height="1" />
</panel> 
<panel label="Script" width="38">
	<field label="Associated JavaScript name" help="example='Evolutility_Lib.2.2'" type="text" dbcolumn="script" dbcolumnread="script" maxlength="50" search="1" searchlist="0" searchadv="1" width="100" height="1" />
</panel> 	
	
</tab> 
<tab label="Fields" > 
<panel-details panelid="14" label="Fields" width="80" 
dbtabledetails="EvoDico_Field" dbcolumndetails="FormID" dborder="t.fpos,t.id" > 
	<field panelid="14" label="Label" type="text"  dbcolumn="Label" dbcolumnread="Label" maxlength="100" required="0" search="1" searchlist="1" searchadv="1" width="200" cssclass="fieldmain" 
		link="EvoDicoField.aspx?ID=@itemid" />
 	<field panelid="14"	readonly="0" 
		 dbconditionlov="EvoDico_vpanel.formID=@itemid" 
	 label="Panel" type="lov"  dbcolumn="panelid" dbcolumnread="panel" dbtablelov="EvoDico_vpanel" dbcolumnreadlov="label" maxlength="50" search="1" searchlist="1" searchadv="1" width="50" 
 />
	<field panelid="14" readonly="0" label="Type" type="lov" dbcolumnimg="Typepix" dbcolumn="TypeID" dbcolumnread="Type" dbtablelov="EvoDico_vFieldType" maxlength="100" required="0" search="1" searchlist="1" searchadv="1" width="60" />
	<field panelid="14" label="Result List" help="Field shows as header field for lists" labellist="List" type="boolean" dbcolumn="searchlist" dbcolumnread="searchlist" required="0" search="1" searchlist="1" searchadv="1" width="50" img="checkg.gif" />
	<field panelid="14" label="Search" type="boolean" dbcolumn="search" dbcolumnread="search" required="0" search="1" searchlist="1" searchadv="1" width="100" />
	<field panelid="14" label="Position"  help="Integer (gaps OK)" type="integer" dbcolumn="fpos" dbcolumnread="fpos" maxlength="3" required="0" search="0" searchlist="1"  width="38" />
	<field panelid="14" label="Width" help="Relative width in percentage" type="integer" format="0 '%'" dbcolumn="Width" dbcolumnread="Width" maxlength="3" required="0" search="0" searchlist="1" searchadv="1" width="62" />
	<field panelid="14" label="Height"  help="Height in number of lines (for ''Textmultiline'' fields)" type="integer" dbcolumn="Height" dbcolumnread="Height" maxlength="3" required="0" search="0" searchlist="1" searchadv="1" width="38" />
	<field panelid="14" label="Max Length" help="Maximum length allowed for the field value" type="integer"   dbcolumn="maxlength" dbcolumnread="maxlength" maxlength="3" required="0" search="0" searchlist="1" searchadv="1" width="62" />

</panel-details> 
 <!-- 
   
<panel label="Tools" width="20">	 		
	 	<field label=""  labellist="UI" type="lov" readonly="1" dbcolumn="id" dbcolumnread="id" maxlength="50" search="0" searchlist="0" width="50" 
	link="EvoDicoFields.aspx?ID=@itemid" linklabel="UI essentials"  /> 
 		<field label="" labellist="Panels" type="lov" readonly="1" dbcolumn="id" dbcolumnread="id" maxlength="50" search="0" searchlist="0" width="100" 
	link="EvoDicoPanels.aspx?ID=@itemid" linklabel="Panels"  />	
		<field label=""  labellist="Panels" type="lov" readonly="1" dbcolumn="id" dbcolumnread="id" maxlength="50" search="0" searchlist="0" width="100" 
	link="EvoDicoSearches.aspx?ID=@itemid" linklabel="Searches"  />
        <field type="lov" readonly="1" label="" linklabel="Add field" dbtablelov="" dbcolumn="id" dbcolumnread="Title" width="100" height="1" search="0" searchlist="0" 
        link="evodicofieldnew.aspx?evo1formID=@itemid" />
</panel>   
-->
</tab> 
<tab label="Database" > 
<panel label="Database" width="38">
	<field label="Table" help="Driving table" type="text" dbcolumn="dbtable" dbcolumnread="dbtable" maxlength="100" search="1" searchlist="1" searchadv="1" width="100" height="1" required="1" />
	<field label="WHERE clause" help="Example 'CategoryID=3'" labellist="Where" type="text" dbcolumn="dbwhere" dbcolumnread="dbwhere" maxlength="50" search="0" searchlist="0" searchadv="1" width="100" height="1" />
	<field label="ORDER BY clause" help="Use 'T' for driving table alias. Example 'T.lastname,T.firstname'" labellist="Order" type="text" dbcolumn="dborder" dbcolumnread="dborder" maxlength="50" search="0" searchlist="0" searchadv="1" width="100" height="1" />
		<field label="Column used as title" help="Title column" type="text" dbcolumn="dbcolumnlead" dbcolumnread="dbcolumnlead" maxlength="100"  searchlist="0" searchadv="1"  width="100" height="1" />
		<field label="Users table" help="Table storing users" type="text" dbcolumn="dbtableusers" dbcolumnread="dbtableusers" maxlength="100"  searchlist="0" searchadv="0"  width="50" height="1" />
		<field label="Comments table" help="Table storing user comments" type="text" dbcolumn="dbtablecomments" dbcolumnread="dbtablecomments" maxlength="100"  searchlist="0" searchadv="0"  width="50" height="1" />
	<field label="Filter key" help="Foreign key used for filtering" labellist="F.Key" type="text" dbcolumn="dbwherelock" dbcolumnread="dbwherelock" maxlength="50" search="0" searchlist="0" searchadv="1" width="50" height="1" />
	<field label="Icon Column" help="Column used to store the name of a thumnail or icon specific to each record" type="text" dbcolumn="dbpixColumn" dbcolumnread="dbpixColumn" maxlength="50" search="1" searchlist="0" searchadv="1" width="50" height="1" />
</panel>
<panel label="Stored Procedures" width="42">
	<field label="Paging" help="Stored Procedure used for displaying selection lists" labeledit="Paging SP" type="textmultiline" dbcolumn="spPaging" dbcolumnread="spPaging" maxlength="200" search="1" searchlist="0" searchadv="1" width="100" height="3" />
	<field label="Login" help="Stored Procedure used for user login" type="textmultiline" optional="1" dbcolumn="spLogin" dbcolumnread="spLogin" maxlength="200" search="0" searchlist="0" searchadv="1" width="100" height="2" />
	<field label="Get" help="Stored Procedure used to get a single record" type="textmultiline" dbcolumn="spGet" dbcolumnread="spGet" maxlength="200" search="0" searchlist="0" searchadv="1" width="100" height="2" />
	<field label="Delete" help="Stored Procedure used to delete or disable a record" type="textmultiline" optional="1" dbcolumn="spDelete" dbcolumnread="spDelete" maxlength="200" search="0" searchlist="0" searchadv="1" width="100" height="2" />
</panel> 

</tab> 
</form>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
United States United States
I'm a UI engineer with an eye for UX and a passion for model-driven UIs.

I usually build UIs for startups in the San Francisco Bay Area.

My hobby open source project is Evolutility, a minimalist low-code platform with a model-driven UI, a model-driven backend, and a set of models to play with.

More about me on my GitHub page.

Comments and Discussions