taxon

Table info.

Title Taxon
Description Taxon

Fields

Name Type Required Index Hidden On form Title Pick list Description
TaxonID int(11) PRI
TimestampCreated datetime Created The date the record was created
TimestampModified datetime MUL Last edited The date the record was last modified
Version int(11) Version version
Author varchar(128) Author The author of the taxon name
CitesStatus varchar(32) CITES status The CITES status of the taxon
COLStatus varchar(32) Col Status colStatus
CommonName varchar(128) MUL Protologue The original publication of the taxon name, excluding the year. This is required for names of which we hold a type.
CultivarName varchar(32) Cultivar Cultivar
  • cultivar
  • cultivar group
Whether the cultivar name is for a cultivar or cultivar group.
EnvironmentalProtectionStatus varchar(64) MUL Environmental Protection Status environmentalProtectionStatus
EsaStatus varchar(64) Nom. note Nomenclatural note to indicate if a name is illegitimate, invalid, conserved, rejected etc.
FullName varchar(255) MUL Full name Scientific name
GroupNumber varchar(20) Group Number Taxonomic group number
GUID varchar(128) MUL GUID StoredUnder
guid
HighestChildNodeNumber int(11) Highest Child Node Number highestChildNodeNumber
IsAccepted bit(1) Is preferred isAccepted
IsHybrid bit(1) Is hybrid isHybrid
IsisNumber varchar(16) ISIS Number isisNumber
LabelFormat varchar(64) Label Format TaxonLabelFormatter
  • %G %S (%A1 ex. %A2)
  • %G %S
labelFormat
Name varchar(64) MUL Name Name or epithet
NcbiTaxonNumber varchar(8) ms Enter 'ms' in this field to indicate that the taxon is a manuscript name
NodeNumber int(11) Node Number nodeNumber
Number1 int(11) Stored as StorageID of the major group or subgroup that specimens belonging to this taxon are stored under
Number2 int(11) Year The year of publication of the name
RankID int(11) Rank ID The ID of the taxon rank
Remarks text Comments Comments about the source of informal names (or any other comments about the name)
Source varchar(64) Source of synonymy An indication of where (or who) the synonymy comes from
TaxonomicSerialNumber varchar(50) MUL Taxonomic Serial Number If the record has been imported from an Authority File then this field stores a unique ID assigned by the provider, else it is null
Text1 varchar(32) Hybrid rank Hybrid rank
  • genus
  • species
  • infraspecific taxon
The rank at which the hybrid flag applies for hybrid names (e.g. ?Glossadenia tutelata vs. Potamogeton ?sparganiifolius).
Text2 varchar(32) Text 2 text2
UnitInd1 varchar(50) Unit Ind1 unitInd1
UnitInd2 varchar(50) Unit Ind2 unitInd2
UnitInd3 varchar(50) Unit Ind3 unitInd3
UnitInd4 varchar(50) Unit Ind4 unitInd4
UnitName1 varchar(255) Unit Name1
UnitName2 varchar(50) Unit Name2
UnitName3 varchar(100) Unit Name3
UnitName4 varchar(100) Unit Name4
UsfwsCode varchar(16) Hybrid category Hybrid category
  • Graft chimaera
  • Hybrid name
  • Intergrade/intermediate
  • Hybrid formula
This is the HISPID3 'hyb' field; vocabulary: x - a Latin collective name for a hybrid; G - a non-Latin collective name for a hybrid; H - A hybrid formula for a hybrid; + A graft hybrid or graft chimaera; - - an intergrade of non-hybrid nature.
Visibility tinyint(4) Visibility visibility
HybridParent1ID int(11) MUL
AcceptedID int(11) MUL
TaxonTreeDefID int(11) MUL
ModifiedByAgentID int(11) MUL
ParentID int(11) MUL
HybridParent2ID int(11) MUL
CreatedByAgentID int(11) MUL
VisibilitySetByID int(11) MUL
TaxonTreeDefItemID int(11) MUL
Number3 float Number3 number3
Number4 float Number4 number4
Number5 float Number5 number5
Text3 text Storage (Main) Storage Family
Main storage
Text4 text Storage (Types) Storage Family
Type storage
Text5 text Text5
YesNo1 bit(1) Storage changed Storage changed. This flag is set when the value of one of the Storage fields is changed. A script that will run every 10 minutes will update the storage for preparations belonging to this genus when this box is ticked (and removes the tick).
YesNo2 bit(1) Yes No2 yesNo2
YesNo3 bit(1) Yes No3 yesNo3
Integer1 bigint(20) Integer1 integer1
Integer2 bigint(20) Integer2 integer2
Integer3 bigint(20) Integer3 integer3
Integer4 int(11) Integer4 integer4
Integer5 int(11) Integer5 integer5
Text10 varchar(128) text10 text10
Text11 varchar(128) Text11 text11
Text12 varchar(128) Text12 text12
Text13 varchar(128) Text13 text13
Text14 varchar(256) Text14 text14
Text15 varchar(256) Text15 text15
Text16 varchar(256) Text16 text16
Text17 varchar(256) Text17 text17
Text18 varchar(256) Text18 text18
Text19 varchar(256) Text19 text19
Text20 varchar(256) Text20 text20
Text6 text Text6 text6
Text7 text Text7 text7
Text8 text Text8 text8
Text9 text Text9 text9
YesNo10 bit(1) Yes No10 yesNo10
YesNo11 bit(1) Yes No11 yesNo11
YesNo12 bit(1) Yes No12 yesNo12
YesNo13 bit(1) Yes No13 yesNo13
YesNo14 bit(1) Yes No14 yesNo14
YesNo15 bit(1) Yes No15 yesNo15
YesNo16 bit(1) Yes No16 yesNo16
YesNo17 bit(1) Yes No17 yesNo17
YesNo18 bit(1) Yes No18 yesNo18
YesNo19 bit(1) Yes No19 yesNo19
YesNo4 bit(1) Yes No4 yesNo4
YesNo5 bit(1) Yes No5 yesNo5
YesNo6 bit(1) Yes No6 yesNo6
YesNo7 bit(1) Yes No7 yesNo7
YesNo8 bit(1) Yes No8 yesNo8
YesNo9 bit(1) Yes No9 yesNo9
LSID text LSID LSID
TaxonAttributeID int(11) MUL

Indexes

Name Fields Unique Nullable
EnvironmentalProtectionStatusIDX EnvironmentalProtectionStatus
FK6908ECA2F773E09 AcceptedID
FK6908ECA5327F942 ModifiedByAgentID
FK6908ECA70B0FCAD HybridParent1ID
FK6908ECA70B1006E HybridParent2ID
FK6908ECA7699B003 CreatedByAgentID
FK6908ECA7BF1F70B VisibilitySetByID
FK6908ECA83339302 TaxonAttributeID
FK6908ECABB9210FE TaxonTreeDefItemID
FK6908ECABE9D724C ParentID
FK6908ECAEFA9D5F8 TaxonTreeDefID
PRIMARY TaxonID
TaxonCommonNameIDX CommonName
TaxonFullNameIDX FullName
TaxonGuidIDX GUID
TaxonNameIDX Name
TaxonomicSerialNumberIDX TaxonomicSerialNumber
taxonTimestampModifiedIDX TimestampModified

One-to-many relationships

Name Field Related table Related field
FK9AD681BA32C0CDC4 TaxonID collectingeventattribute HostTaxonID
FK3413DFFA1D39F06C TaxonID commonnametx TaxonID
FKC1E98FE31D39F06C TaxonID determination TaxonID
FKC1E98FE3280D00CB TaxonID determination PreferredTaxonID
FK6908ECA2F773E09 TaxonID taxon AcceptedID
FK6908ECA70B0FCAD TaxonID taxon HybridParent1ID
FK6908ECA70B1006E TaxonID taxon HybridParent2ID
FK6908ECABE9D724C TaxonID taxon ParentID
FKF523736D1D39F06C TaxonID taxonattachment TaxonID
FK14242FB11D39F06C TaxonID taxoncitation TaxonID

Many-to-one relationships

Name Field Related table Related field
FK6908ECA2F773E09 AcceptedID taxon TaxonID
FK6908ECA5327F942 ModifiedByAgentID agent AgentID
FK6908ECA70B0FCAD HybridParent1ID taxon TaxonID
FK6908ECA70B1006E HybridParent2ID taxon TaxonID
FK6908ECA7699B003 CreatedByAgentID agent AgentID
FK6908ECA7BF1F70B VisibilitySetByID specifyuser SpecifyUserID
FK6908ECA83339302 TaxonAttributeID taxonattribute TaxonAttributeID
FK6908ECABB9210FE TaxonTreeDefItemID taxontreedefitem TaxonTreeDefItemID
FK6908ECABE9D724C ParentID taxon TaxonID
FK6908ECAEFA9D5F8 TaxonTreeDefID taxontreedef TaxonTreeDefID

taxon_before_insert

EventINSERT
TimingBEFORE
Statement:
DROP TRIGGER IF EXISTS taxon_before_insert;
 
DELIMITER $$
 
CREATE TRIGGER taxon_before_insert BEFORE INSERT ON taxon
FOR EACH ROW
  BEGIN
        IF isnull(@DISABLE_TRIGGER) THEN
            IF !isnull(NEW.EsaStatus) AND NEW.EsaStatus!='' THEN
                SET NEW.FullName = CONCAT(NEW.FullName, ' [', NEW.EsaStatus, ']');
            END IF;
        END IF;
    END
 
DELIMITER ;

taxon_before_update

EventUPDATE
TimingBEFORE
Statement:
DROP TRIGGER IF EXISTS taxon_before_update;
 
DELIMITER $$
 
CREATE TRIGGER taxon_before_update BEFORE UPDATE ON taxon
FOR EACH ROW
  BEGIN
        DECLARE var_parentid INTEGER(11);
        DECLARE var_rankid INTEGER(11);
        DECLARE var_parentname VARCHAR(128);
        DECLARE var_parentnameauthor VARCHAR(128);
        DECLARE var_speciesepithet VARCHAR(64);
        DECLARE var_rank VARCHAR(8);
        DECLARE var_scientificname VARCHAR(255);
        DECLARE var_genus VARCHAR(128);
        DECLARE var_fullname VARCHAR(255);
 
        IF isnull(@DISABLE_TRIGGER) THEN 
          IF NEW.FullName != OLD.FullName OR NEW.Author != OLD.Author THEN
            CASE 
                WHEN NEW.RankID<=140 OR NEW.RankID=180 THEN                       IF NEW.Author IS NOT NULL THEN
                        SET var_scientificname = CONCAT(NEW.Name, ' ', NEW.Author);
                    ELSE
                        SET var_scientificname = NEW.Name;
                    END IF;
 
                    IF NEW.RankID=180 THEN
                        SET NEW.UnitName2=NEW.Name;
                    END IF;
 
 
                WHEN NEW.RankID IN (150, 160) THEN                       SET var_parentid=NEW.ParentID;
                    parent: LOOP
                        SELECT Name, Author, ParentID, RankID
                        INTO var_parentname, var_parentnameauthor, var_parentid, var_rankid
                        FROM taxon
                        WHERE TaxonID=var_parentid;
 
                        IF (var_rankid=140) THEN
                            LEAVE parent;
                        END IF;
                    END LOOP parent;
 
                    CASE NEW.RankID
                        WHEN 150 THEN SET var_rank='subfam.';
                        WHEN 160 THEN SET var_rank='tr.';
                    END CASE;
 
                    IF NEW.Author IS NOT NULL THEN
                        SET var_scientificname=CONCAT_WS(' ', var_parentname, var_rank, NEW.Name, NEW.Author);
                    ELSE
                        SET var_scientificname=CONCAT_WS(' ', var_parentname, var_rank, NEW.Name);
                    END IF;
 
 
                WHEN NEW.RankID IN (190, 200) THEN                       SET var_parentid=NEW.ParentID;
                    parent: LOOP
                        SELECT Name, Author, ParentID, RankID
                        INTO var_parentname, var_parentnameauthor, var_parentid, var_rankid
                        FROM taxon
                        WHERE TaxonID=var_parentid;
 
                        IF (var_rankid=180) THEN
                            LEAVE parent;
                        END IF;
                    END LOOP parent;
 
                    CASE NEW.RankID
                        WHEN 190 THEN SET var_rank='subgen.';
                        WHEN 200 THEN SET var_rank='sect.';
                    END CASE;
 
                    IF NEW.Name=var_parentname THEN
                        IF var_parentnameauthor IS NOT NULL THEN
                            SET var_scientificname=CONCAT_WS(' ', var_parentname, var_parentnameauthor, var_rank, NEW.Name);
                        ELSE
                            SET var_scientificname=CONCAT_WS(' ', var_parentname, var_rank, NEW.Name);
                        END IF;
                    ELSE
                        IF NEW.Author IS NOT NULL THEN
                            SET var_scientificname=CONCAT_WS(' ', var_parentname, var_rank, NEW.Name, NEW.Author);
                        ELSE
                            SET var_scientificname=CONCAT_WS(' ', var_parentname, var_rank, NEW.Name);
                        END IF;
                    END IF;
 
 
                WHEN NEW.RankID=220 THEN                       SELECT Name
                    INTO var_parentname
                    FROM taxon
                    WHERE TaxonID=NEW.ParentID;
 
                    IF NEW.Author IS NOT NULL THEN
                        SET var_scientificname = CONCAT_WS(' ', var_parentname, NEW.Name, NEW.Author);
                    ELSE
                        SET var_scientificname = CONCAT_WS(' ', var_parentname, NEW.Name);
                    END IF;
 
                    SET NEW.UnitName2 = var_parentname;
                    SET NEW.UnitName3 = NEW.Name;
 
 
                WHEN NEW.RankID>220 THEN                       SET var_parentid=NEW.ParentID;
                    parent: LOOP
                        SELECT FullName, Name, Author, ParentID, RankID
                        INTO var_parentname, var_speciesepithet, var_parentnameauthor, var_parentid, var_rankid
                        FROM taxon
                        WHERE TaxonID=var_parentid;
 
                        IF (var_rankid=220) THEN
                            LEAVE parent;
                        END IF;
                    END LOOP parent;
 
                    CASE NEW.RankID
                        WHEN 230 THEN SET var_rank='subsp.';
                        WHEN 240 THEN SET var_rank='var.';
                        WHEN 250 THEN SET var_rank='subvar.';
                        WHEN 260 THEN SET var_rank='f.';
                        WHEN 270 THEN SET var_rank='subf.';
                    END CASE;
 
                    IF NEW.Name=var_speciesepithet THEN
                        IF var_parentnameauthor IS NOT NULL THEN
                            SET var_scientificname=CONCAT_WS(' ', var_parentname, var_parentnameauthor, var_rank, NEW.Name);
                        ELSE
                            SET var_scientificname=CONCAT_WS(' ', var_parentname, var_rank, NEW.Name);
                        END IF;
                    ELSE
                        IF NEW.Author IS NOT NULL THEN
                            SET var_scientificname=CONCAT_WS(' ', var_parentname, var_rank, NEW.Name, NEW.Author);
                        ELSE
                            SET var_scientificname=CONCAT_WS(' ', var_parentname, var_rank, NEW.Name);
                        END IF;
                    END IF;
 
                    SELECT SUBSTRING(var_parentname, 1, LOCATE(' ', var_parentname)-1)
                    INTO var_genus;
 
                    SET NEW.UnitName2 = var_genus;
                    SET NEW.UnitName3 = var_speciesepithet;
                    SET NEW.Text5 = NEW.Name;
            END CASE;
 
            IF (NEW.NcbiTaxonNumber='ms') THEN
                SET var_scientificname=CONCAT(var_scientificname,' ms');
            END IF;
 
            SET NEW.UnitName1=var_scientificname;
 
            IF !isnull(NEW.EsaStatus) AND NEW.EsaStatus!='' THEN
                SET var_fullname = IF(NEW.FullName LIKE '%[%', SUBSTRING(NEW.FullName, 1, LOCATE('[', NEW.FullName)-2), NEW.FullName);
                SET NEW.FullName = CONCAT(var_fullname, ' [', NEW.EsaStatus, ']');
            END IF;
 
          END IF;
 
          IF NEW.TaxonTreeDefItemID=12 
              AND ((NEW.Text3 IS NOT NULL AND (NEW.Text3<>OLD.Text3 OR OLD.Text3 IS NULL)) 
              OR  (NEW.Text4 IS NOT NULL AND (NEW.Text4<>OLD.Text4 OR OLD.Text4 IS NULL))) THEN
            SET NEW.YesNo1=TRUE;
          END IF;
        END IF;    
    END
 
DELIMITER ;

View: Taxon (Discipline)

<view name="Taxon"
      class="edu.ku.brc.specify.datamodel.Taxon"
      busrules="edu.ku.brc.specify.datamodel.busrules.TaxonBusRules"
      isinternal="false"
      resourcelabels="false">
    <desc><![CDATA[Taxon data entry form.]]></desc>
    <altviews>
        <altview name="Taxon View" viewdef="Taxon" mode="view"/>
        <altview name="Taxon Edit" viewdef="Taxon" mode="edit" default="true"/>
    </altviews>
</view>

View def.: Taxon

<viewdef name="Taxon"
      type="form"
      class="edu.ku.brc.specify.datamodel.Taxon"
      gettable="edu.ku.brc.af.ui.forms.DataGetterForObj"
      settable="edu.ku.brc.af.ui.forms.DataSetterForObj"
      useresourcelabels="true">
 
    <desc><![CDATA[New Taxon Node Form]]></desc>
    <enableRules>
        <!--rule id="acceptedParent"><![CDATA[!isAccepted.isSelected()]]></rule-->
        <rule id="hybridParent1"><![CDATA[isHybrid.isSelected()]]></rule>
        <rule id="hybridParent2"><![CDATA[isHybrid.isSelected()]]></rule>
        <rule id="definitionItem"><![CDATA[parent.getValue() != null]]></rule>
    </enableRules> 
 
    <columnDef>120px,2px,100px,15px,73px,2px,100px,5px,160px,2px,80px,2px,81px,5px,49px,2px,49px,15px,p:g</columnDef>
    <!--columnDef os="lnx">115px,2px,425px,5px,143px,2px,110px,10px,105px,15px,p:g</columnDef>
    <columnDef os="mac">130px,2px,488px,5px,141px,2px,150px,5px,110px,15px,p:g</columnDef>
    <columnDef os="exp">p,2px,max(p;390px),5px:g,p,2px,max(p;95px),10px,p,p,p:g</columnDef-->
    <rowDef auto="true" cell="p" sep="2dlu"/>
 
    <rows>
        <row>
            <cell type="label" labelfor="parent"/>
        	<cell type="field" id="parent" uitype="querycbx" isrequired="true" initialize="name=Taxon;title=Taxon;editbtn=false;newbtn=false;editoncreate=true" name="parent" colspan="7"/>
            <cell type="label" labelfor="definitionItem"/>
        	<cell type="field" id="definitionItem" uitype="combobox" name="definitionItem" colspan="5"/>
        </row>
        <row>
            <cell type="label" labelfor="name"/>
            <cell type="field" id="name" uitype="text" cols="16" name="name" colspan="7"/>
            <cell type="label" labelfor="author"/>
            <cell type="field" id="author" uitype="text" name="author" colspan="5"/>
            <!-- <cell type="field" id="WebLink" name="this" uitype="plugin" initialize="name=WebLinkButton;weblink=FishBase;icon=FishBase"/> -->
            <!-- <cell type="field" id="WebLink" name="this" uitype="plugin" initialize="name=WebLinkButton;url=http://www.ncbi.nlm.nih.gov/sites/gquery?term=$genusName$%20$speciesName$;label=NCBI"/> -->
            <!-- <cell type="field" id="WebLink" name="this" uitype="plugin" initialize="name=WebLinkButton;url=[GBIF_Canada]?king=$kingdomName$AMPp_action=containingAMP;taxa=$genusName$%20$speciesName$AMPp_format=html;label=ITIS"/> -->
            <!-- Put in remote prefs: URL_Prefix.GBIF_Canada = http://www.cbif.gc.ca/pls/itisca/taxastep -->
        </row>
        <row>
            <cell type="label" labelfor="commonName"/>
            <cell type="field" id="commonName" uitype="text" name="commonName" colspan="7"/>
            <cell type="label" labelfor="number2"/>
            <cell type="field" id="number2" uitype="int" name="number2" colspan="1"/>
            <cell type="label" labelfor="ncbiTaxonNumber"/>
            <cell type="field" id="ncbiTaxonNumber" uitype="text" name="ncbiTaxonNumber" colspan="1"/>
        </row>
        <row>
            <cell type="label" labelfor="fullName"/>
            <cell type="field" id="fullName" uitype="text" name="fullName" colspan="7" readonly="true"/>
            <cell type="label" labelfor="esaStatus"/>
            <cell type="field" id="esaStatus" uitype="text" name="esaStatus" colspan="5"/>
        </row>
        <row>
					<cell type="label" labelfor="cultivar"/>
            <cell type="field" id="cultivar" uitype="combobox" name="cultivarName" colspan="1"/>
            <cell type="field" id="isHybrid" uitype="checkbox" name="isHybrid" default="false"/>
            <cell type="label" labelfor="17"/>
            <cell type="field" id="17" uitype="combobox" name="usfwsCode" colspan="1"/>
            <cell type="label" labelfor="hybridflagrank" colspan="1"/>
            <cell type="field" id="hybridflagrank" uitype="combobox" name="text1" colspan="5"/>				
				</row>
        <row>
            <cell type="label" labelfor="hybridParent1"/>
            <cell type="field" id="hybridParent1" uitype="querycbx" initialize="name=Taxon;title=Taxon;editbtn=false;newbtn=false" name="hybridParent1" colspan="15"/>
        </row>
        <row>
            <cell type="label" labelfor="hybridParent2"/>
            <cell type="field" id="hybridParent2" uitype="querycbx" initialize="name=Taxon;title=Taxon;editbtn=false;newbtn=false" name="hybridParent2" colspan="15"/>
        </row>
        <row>
            <cell type="label" labelfor="acceptedParent"/>
            <cell type="field" id="acceptedParent" uitype="querycbx" initialize="name=Taxon;title=Taxon;editbtn=false;newbtn=false" name="acceptedParent" colspan="11"/>
            <cell type="field" id="isAccepted" uitype="checkbox" name="isAccepted" default="true" colspan="3"/>
        </row>
        <row>
            <cell type="label" labelfor="source"/>
            <cell type="field" id="source" uitype="text" name="source" colspan="15"/>
            <!--cell type="label" labelfor="storage"/-->
            <!--cell type="field" id="storage" name="number1" uitype="querycbx" initialize="name=Storage"  colspan="5"/-->
            <!--cell type="field" id="storage" name="guid" colspan="5" uitype="combobox"/-->
        </row>
        <row>
            <cell type="label" labelfor="1"/>
            <cell type="field" id="1" uitype="text" name="remarks" rows="2" colspan="15"/>
        </row>
        <row>
            <cell type="subview" viewname="TaxonSubform" id="acceptedChildren" name="acceptedChildren" colspan="17"/>
        </row>
        <row>
            <cell type="subview" viewname="TaxonSubform" id="children" name="children" colspan="17"/>
        </row>
        <!--row>
            <cell type="subview" viewname="TaxonCitation" id="taxonCitations" name="taxonCitations" colspan="12"/>
        </row--> 
        <row>
            <cell type="separator" label="Attachments" colspan="17"/>
        </row>
        <row>
            <cell type="subview" id="attachments" viewname="TaxonAttachmentMEL" name="taxonAttachments" colspan="12" initialize="btn=true;icon=TaxonAttachment"/>
        </row>
        <!-- 
        <row>
            <cell type="label" labelfor="remarks"/>
            <cell type="field" id="remarks" uitype="textareabrief" rows="2" name="remarks"/>
        </row>
        -->
        <!--
        <row>
            <cell type="label" labelfor="taxonomicSerialNumber"/>
            <cell type="field" id="taxonomicSerialNumber" uitype="text" name="taxonomicSerialNumber"/>
        </row>
        <row>
            <cell type="label" labelfor="guid"/>
            <cell type="field" id="guid" uitype="text" name="guid"/>
        </row>
        -->
        <!-- 
        <row>
            <cell type="label" labelfor="author"/>
            <cell type="field" id="author" uitype="text" name="author"/>
        </row>
        <row>
            <cell type="label" labelfor="source"/>
            <cell type="field" id="source" uitype="text" name="source" colspan="3"/>
        </row>
        <row>
            <cell type="label" labelfor="environmentalProtectionStatus"/>
            <cell type="field" id="environmentalProtectionStatus" uitype="text" name="environmentalProtectionStatus"/>
        </row>
         -->
        <!-- This subform is not supported yet -->
 <!--       <row>
            <cell type="separator" label="COMMONNAMES" colspan="4"/>
        </row>
        <row>
            <cell type="subview" viewname="CommonNameTx" id="commonNames" name="commonNames" colspan="4"/>
        </row> -->
        <row>
                <cell type="label" label=""/>
        </row>	
         <row>
                <cell type="separator" label="" colspan="17"/>
        </row>
        <row>
            <cell type="label" labelfor="160"/>
            <cell type="field" id="160" name="createdByAgent" uitype="label" readonly="true" uifieldformatter="Agent"/>
            <cell type="label" labelfor="170"/>
            <cell type="field" id="170" name="timestampCreated" uitype="label" readonly="true" cols="20"/>
        </row>
        <row>
            <cell type="label" labelfor="180"/>
            <cell type="field" id="180" name="modifiedByAgent" uitype="label" readonly="true" uifieldformatter="Agent"/>
            <cell type="label" labelfor="190"/>
            <cell type="field" id="190" name="timestampModified" uitype="label" readonly="true" cols="20"/>
        </row>
    </rows>
</viewdef>
 

View: TaxonSubform (Discipline)

<view name="TaxonSubform"
      class="edu.ku.brc.specify.datamodel.Taxon"
      busrules="edu.ku.brc.specify.datamodel.busrules.TaxonBusRules"
      resourcelabels="false">
    <desc><![CDATA[Taxon data entry form.]]></desc>
    <altviews>
        <altview name="Taxon Children View" viewdef="TaxonSubform" mode="view"/>
    </altviews>
</view>

View def.: TaxonSubform

<viewdef name="TaxonSubform"
      type="form"
      class="edu.ku.brc.specify.datamodel.Taxon"
      gettable="edu.ku.brc.af.ui.forms.DataGetterForObj"
      settable="edu.ku.brc.af.ui.forms.DataSetterForObj">
    <desc><![CDATA[New Taxon Node Form]]></desc>
    <enableRules>
    </enableRules>
 
    <columnDef>100px,2px,455px,5px,118px,2px,145px,p:g</columnDef>
    <columnDef os="lnx">115px,2px,425px,5px,110px,2px,261px,p:g</columnDef>
    <columnDef os="mac">130px,2px,492px,5px,140px,2px,268px,p:g</columnDef>
    <columnDef os="exp">p,2px,390px,5px:g,p,2px,190px:g</columnDef>
    <rowDef auto="true" cell="p" sep="2dlu"/>
 
    <rows>
        <row>
            <cell type="label" labelfor="fullName"/>
            <cell type="field" id="fullName" uitype="text" cols="16" name="fullName"/> 
        </row>
    </rows>
</viewdef>