Arctos Developers Guide

Tips, tricks, and conventions for developing Arctos code

CFML

Arctos is written primarily in CFML and HTML.

URLS

CSS

Sublime Text

DLM’s weapon of choice

Atom

Component Loaders

(ref: https://github.com/ArctosDB/dev/issues/110)

Identifier Convention

Datasource

Arctos uses various datasources for various reasons. Most queries should be one of two entries:

<cfquery name="ctdatum" datasource="cf_codetables" cachedwithin="#createtimespan(0,0,60,0)#">
   select datum from ctdatum order by datum
</cfquery> 

Expand Select

This toggles MULTIPLE for a SELECT of id “accn_status”:

<span data-ctl="accn_status" class="ui-icon ui-icon-arrow-4-diag expandoSelect"></span>

Button + HREF

<a href="somepage.cfm"><input type="button" class="lnkBtn" value="Some Text"></a>

Code Table Definer

<span class="infoLink" onclick="getCtDocVal('cttaxon_name_type','taxon_name_type');">Define</span>

where cttaxon_name_type is the relevant code table and taxon_name_type is the ID of the element being defined.

Or as a label

<label class="likeLink" onclick="getCtDocVal('ctcataloged_item_type','cataloged_item_type');" for="cataloged_item_type">
   Catalog Item Type
</label>

Pick/select Inputs

Color Codes

(see css file for current defintion)

“Arctos blue”: –arctosdarkblue

ARCTOS BODY

TEXT

QUERY BLOCK STRIPEY GRID

HIGHLIGHTS

BUTTONS

FOOTER

BANNER/LOGIN Terms box

Logos

Logos are in the images folder of the /ArctosDB/arctos-assets/ repository.

IPT Mapping

last_usr and last_chg

Some tables have a lastuser and lastdate field, which generally exist to be picked up by subsequent actions particularly when a script is running on behalf of a user. These should default to meaningful values when a human is pushing buttons, but PG’s environment can be a little wonky (and the test and prod DBs occasonally do not share settings). Best practice is to provide these values explicitly:

Edit this Documentation

If you see something that needs to be edited in this document, you can create an issue using the link under the search widget at the top left side of this page, or you can edit directly here.