Directory Management

Directories are lists of contacts that serve a specific function for AW. An example directory is the staff listing that can be accessed through the menu. We also have lists of Stream Team members and lists of people that are associated with various projects.

The following tutorial will go through the steps to:

  • Create a New Directory
  • Edit an Existing Directory
  • Add a contact to a directory
  • Remove a contact from a directory

The Adobe Flash Plugin is needed to display this content.

Join AW and support river stewardship nationwide!
7.4.3PHP Version691msRequest Duration6MBMemory UsageGET content/{url}Route
    • Booting (59.03ms)
    • Application (632ms)
    • 1 x Application (91.45%)
      632ms
      1 x Booting (8.55%)
      59.03ms
      14 templates were rendered
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • app::layout.gadget (resources/views/layout/gadget.blade.php)2blade
        Params
        0
        contents
        1
        formRenderService
      • layout.columnstyle.one (resources/views/layout/columnstyle/one.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.columnstyle.componentstack (resources/views/layout/columnstyle/componentstack.blade.php)9blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        stack
        8
        component
      • layout.main (resources/views/layout/main.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._headers (resources/views/layout/_headers.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.header (resources/views/layout/header.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._scripts (resources/views/layout/_scripts.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.navigation (resources/views/layout/navigation.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • includes.alert.membership (resources/views/includes/alert/membership.blade.php)17blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
        15
        shouldNotifyUser
        16
        user
      • navigation.menu.static (resources/views/navigation/menu/static.blade.php)15blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
      • includes.footer (resources/views/includes/footer.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • layout.pagemap (resources/views/layout/pagemap.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      uri
      GET content/{url}
      middleware
      web
      controller
      App\Http\Controllers\Wh2oController@content
      namespace
      App\Http\Controllers
      where
      as
      generated::Os9R4mqMKRF5ktoI
      file
      app/Http/Controllers/Wh2oController.php:34-68
      5 statements were executed, 4 of which were duplicated, 1 unique10.88ms
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        1.74ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        3.83ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        4.25ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        550μs/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from security where domain in ('AffiliateGadget') and area is null;
        506μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
          _token
          l9PmWORK9cISYHXoFwj0bzYEtm6tOanCvIHbRXtC
          page
          array:1 [ "count" => -1 ]
          PHPDEBUGBAR_STACK_DATA
          []
          path_info
          /content/Wiki/staff:instructions:directory_management
          status_code
          200
          
          status_text
          OK
          format
          html
          content_type
          text/html; charset=UTF-8
          request_query
          []
          
          request_request
          []
          
          request_headers
          0 of 0
          array:15 [ "priority" => array:1 [ 0 => "u=0, i" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "host" => array:1 [ 0 => "beta.americanwhitewater.org" ] ]
          request_server
          0 of 0
          array:42 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_PRIORITY" => "u=0, i" "HTTP_ACCEPT_ENCODING" => "gzip, deflate, br, zstd" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_HOST" => "beta.americanwhitewater.org" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "beta.americanwhitewater.org" "SERVER_PORT" => "443" "SERVER_ADDR" => "172.31.18.125" "REMOTE_PORT" => "46775" "REMOTE_ADDR" => "18.190.158.237" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => true "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/opt/americanwhitewater.org/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/content/Wiki/staff:instructions:directory_management" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "PHP_VALUE" => "post_max_size=20M" "SCRIPT_FILENAME" => "/opt/americanwhitewater.org/public/index.php" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744445119.169 "REQUEST_TIME" => 1744445119 ]
          request_cookies
          []
          
          response_headers
          0 of 0
          array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sat, 12 Apr 2025 08:05:19 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkhyeVNBMUNsVGRSR2ZhZHdpRGowd0E9PSIsInZhbHVlIjoiNGxudnJCYUNtYXoxSGFxYXUwZUdiRVdzZnMwNzd2YVR2NTJSWmQrNWlid05EdHFLSjF6TkRtQ0lNcVNQclVqQmx0dDlLVjljR3VGa0ZnRlV6QVl2aEx2UkFjZ3FwV1lsZmw4MnVhdFI5VmRsc0NkaXIwaCt6M0NLaTI3bHNzTVciLCJtYWMiOiI0YWUwODY3NjhiOWYzMjRmYTE3ZGU1Njg4YTVjYjlkMzFkYWZmMzA2M2M0ZTVmZmE1YzFhYmE3ZDBkMzJlZjFhIn0%3D; expires=Sat, 12-Apr-2025 10:05:19 GMT; Max-Age=7200; path=/XSRF-TOKEN=eyJpdiI6IkhyeVNBMUNsVGRSR2ZhZHdpRGowd0E9PSIsInZhbHVlIjoiNGxudnJCYUNtYXoxSGFxYXUwZUdiRVdzZnMwNzd2YVR2NTJSWmQrNWlid05EdHFLSjF6TkRtQ0lNcVNQclVqQmx0dDlLV" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IkdQdWxFRjZaTHVVOWpnYXNaSC9tNVE9PSIsInZhbHVlIjoic2ZHYktkclZCWkJtYmN6anpOdVVwTmtFZ1dISGdRc1Boa09wbld5SHF4UHByd0h6KzNGRXRyYUdCZlhtcU1NeCIsIm1hYyI6ImUwMDg1ZDc2YTI5MjRkZTU3Y2E3MzIwMjZlYmIyYzQxMzg0NTdiMTI0ZmNhMjBkNDBhNzY5ZWVmYzZmNGE5N2UifQ%3D%3D; expires=Sat, 12-Apr-2025 08:04:19 GMT; Max-Age=0; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IkdQdWxFRjZaTHVVOWpnYXNaSC9tNVE9PSIsInZhbHVlIjoic2ZHYktkclZCWkJtYmN6anpOdVVwTmtFZ1dISGdRc1Boa09wbld5SHF4UHByd0h6KzNGR" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkhyeVNBMUNsVGRSR2ZhZHdpRGowd0E9PSIsInZhbHVlIjoiNGxudnJCYUNtYXoxSGFxYXUwZUdiRVdzZnMwNzd2YVR2NTJSWmQrNWlid05EdHFLSjF6TkRtQ0lNcVNQclVqQmx0dDlLVjljR3VGa0ZnRlV6QVl2aEx2UkFjZ3FwV1lsZmw4MnVhdFI5VmRsc0NkaXIwaCt6M0NLaTI3bHNzTVciLCJtYWMiOiI0YWUwODY3NjhiOWYzMjRmYTE3ZGU1Njg4YTVjYjlkMzFkYWZmMzA2M2M0ZTVmZmE1YzFhYmE3ZDBkMzJlZjFhIn0%3D; expires=Sat, 12-Apr-2025 10:05:19 GMT; path=/XSRF-TOKEN=eyJpdiI6IkhyeVNBMUNsVGRSR2ZhZHdpRGowd0E9PSIsInZhbHVlIjoiNGxudnJCYUNtYXoxSGFxYXUwZUdiRVdzZnMwNzd2YVR2NTJSWmQrNWlid05EdHFLSjF6TkRtQ0lNcVNQclVqQmx0dDlLV" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IkdQdWxFRjZaTHVVOWpnYXNaSC9tNVE9PSIsInZhbHVlIjoic2ZHYktkclZCWkJtYmN6anpOdVVwTmtFZ1dISGdRc1Boa09wbld5SHF4UHByd0h6KzNGRXRyYUdCZlhtcU1NeCIsIm1hYyI6ImUwMDg1ZDc2YTI5MjRkZTU3Y2E3MzIwMjZlYmIyYzQxMzg0NTdiMTI0ZmNhMjBkNDBhNzY5ZWVmYzZmNGE5N2UifQ%3D%3D; expires=Sat, 12-Apr-2025 08:04:19 GMT; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6IkdQdWxFRjZaTHVVOWpnYXNaSC9tNVE9PSIsInZhbHVlIjoic2ZHYktkclZCWkJtYmN6anpOdVVwTmtFZ1dISGdRc1Boa09wbld5SHF4UHByd0h6KzNGR" ] ]
          session_attributes
          0 of 0
          array:3 [ "_token" => "l9PmWORK9cISYHXoFwj0bzYEtm6tOanCvIHbRXtC" "page" => array:1 [ "count" => -1 ] "PHPDEBUGBAR_STACK_DATA" => [] ]