provide session object to tt for use with debugging premature session expiry; provide redirect for requests without trailing slash (instead of receiving 404 page)
extended app to provide household/dpw function; provided session expiry time display; increased dev env cookie_duration (but session still times out too early); sync'd InfoLib & Moongate save_document() methods with DPW class (using global @cols)
major rewrite - combined separate docs-lib and moongate apps into single app using prefixes with multiple route files; merged DB functions into model which is now a D2 plugin, providing encapsulated model domains (infolib, moongate & dpw); uses route names to allow tt to call uri_for_route, but some caveats: * route names must be unique across all route files * uri_for_route cannot be used in any template loaded after a forward since the data required in request.uri_for_route($name) is deleted during the forwarding process leading to fatal error when tt calls the uri_for_route function; META function no longer works since tt WRAPPER function disabled to allow routes to define layout
disabled TT WRAPPER to allow layout to be defined in routes; bugfix - apphandler setting not available in tt so default index.tt cannot diplay value, needed to add as a token
specify perl v5.34.0 in Dockerfile, as "FROM: 5.34" installs 5.34.3 which generated error loading Git directory (Can't use string ("/app/.git") as a HASH ref while "strict refs" in use at /usr/local/lib/perl5/site_perl/5.34.3/Error.pm); Model $git does not need to be a field, replaced with variable; reformatted footer