Entering buttongroup
curpos $VAR1 = [ 'root', 'web', 'walkaacfi' ];
indent 0

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/',
'button' => 'bhome-t',
'id' => 'home'
};

home

b $VAR1 = {
'subtree' => 'web',
'url' => 'http://dbpromo.dd-b.net/web/',
'button' => 'bdevelopment-t',
'id' => 'web'
};

web

Found button in curpos web

Entering buttongroup
curpos $VAR1 = [ 'web', 'walkaacfi' ];
indent 1

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/philosophy.html',
'button' => 'bphilosophy-t',
'id' => 'philosophy'
};

philosophy

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/process.html',
'button' => 'bprocess-t',
'id' => 'process'
};

process

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/searchranking.html',
'button' => 'bsearchengines-t',
'id' => 'searchengines'
};

searchengines

b $VAR1 = {
'subtree' => 'walkhugo',
'url' => 'http://dbpromo.dd-b.net/web/walk-hugo/',
'button' => 'bunclehugos-t',
'id' => 'walkhugo'
};

walkhugo

b $VAR1 = {
'subtree' => 'walkaacfi',
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/',
'button' => 'baacfi-t',
'id' => 'walkaacfi'
};

walkaacfi

Found button in curpos walkaacfi

Entering buttongroup
curpos $VAR1 = [ 'walkaacfi' ];
indent 2

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/homepage.html',
'button' => 'bhomepage-t',
'id' => 'homepage'
};

homepage

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/state.html',
'button' => 'bstate-t',
'id' => 'state'
};

state

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/info.html',
'button' => 'binfo-t',
'id' => 'info'
};

info

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/coursesearch.html',
'button' => 'bcoursesearch-t',
'id' => 'coursesearch'
};

coursesearch

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/selectcourse.html',
'button' => 'bselectcourse-t',
'id' => 'selectcourse'
};

selectcourse

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/courseregister.html',
'button' => 'bregister-t',
'id' => 'courseregister'
};

courseregister

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/merchandise.html',
'button' => 'bmerchandise-t',
'id' => 'merchandise'
};

merchandise

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/trainersonly.html',
'button' => 'btrainersonly-t',
'id' => 'trainersonly'
};

trainersonly

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/admin.html',
'button' => 'badmin-t',
'id' => 'admin'
};

admin

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/web/walk-aacfi/secureit.html',
'button' => 'bsecureit-t',
'id' => 'secureit'
};

secureit

b $VAR1 = {
'url' => 'http://aacfi.com/',
'button' => 'blive-t',
'id' => 'live'
};

live

leaving buttongroup

leaving buttongroup

b $VAR1 = {
'subtree' => 'photography',
'url' => 'http://dbpromo.dd-b.net/photography/',
'button' => 'bphotography-t',
'id' => 'photography'
};

photography

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/contact.html',
'button' => 'bcontact-t',
'id' => 'contact'
};

contact

b $VAR1 = {
'url' => 'http://dbpromo.dd-b.net/misc/resume-web-20040818.html',
'button' => 'bresume-t',
'id' => 'resume'
};

resume

b $VAR1 = {
'url' => 'http://www.dd-b.net/redirdbpromo.html',
'button' => 'blive-t',
'id' => 'live'
};

live

leaving buttongroup

AACFI

The American Association of Certified Firearms Instructors was created when it looked possible that the Minnesota legislature would pass the Minnesota Citizen's Personal Protection Act, to make sure there was at least one certified training organization that had a Minnesota course ready to teach when the act went into effect.

The web site design for AACFI was complicated by the fact that it needed to serve a range of purposes for several populations of users:

Then, later on, the site needed to be extended to handle all those categories in each of multiple states.

In addition, there were political and legal complexities which limited our willingness to provide things like open mailing lists and web forums.

The certified instructors were handled by having a password-protected section that instructors were given access to that allowed them to maintain their course and student information, mark completions, and send email to classes of students. That part of the site won't be visible to you as an outside visitor, but I have screen captures of some pieces of it in the walkthrough here.

The ACCFI site is live on the net here.

I designed and implemented the AACFI site on a contract basis.

Starting with "homepage", you can go walk through the site using the navigation buttons to the left.


© Copyright 2005 David Dyer-Bennet