From 5be86a3b65e10d7e7bdd2e5f457a5c799efa9a3a Mon Sep 17 00:00:00 2001 From: Hannah Cushman Garland Date: Thu, 5 Dec 2024 07:58:08 -0600 Subject: [PATCH] Revert "Merge pull request #1182 from Metro-Records/hcg/revert-wagtail" This reverts commit e19e545cfd8c0bc0bf289f22baa624d9c8514380, reversing changes made to 32ea9dce56e3add0e506185b486429071e8b9405. --- .github/workflows/main.yml | 2 - .gitignore | 1 + README.md | 15 +- councilmatic/minimal_settings.py | 31 - councilmatic/settings.py | 27 +- councilmatic/urls.py | 12 +- docker-compose.yml | 2 +- lametro/blocks.py | 66 + lametro/fixtures/cms_content.json | 1385 +++++++++++++++++ .../images/datamade_logo_sm.max-165x165.png | Bin 0 -> 10203 bytes .../images/datamade_logo_sm.max-800x600.png | Bin 0 -> 10828 bytes .../images/datamade_logo_sm.width-500.png | Bin 0 -> 10828 bytes .../images/datamade_logo_sm.width-800.png | Bin 0 -> 10828 bytes .../datamade_logo_sm_fDWMRNo.max-800x600.png | Bin 0 -> 10828 bytes .../datamade_logo_sm_fDWMRNo.width-500.png | Bin 0 -> 10828 bytes .../original_images/datamade_logo_sm.png | Bin 0 -> 11601 bytes .../datamade_logo_sm_fDWMRNo.png | Bin 0 -> 11601 bytes lametro/management/commands/dump_content.py | 50 + lametro/management/commands/load_content.py | 107 ++ lametro/migrations/0015_aboutpage.py | 96 ++ .../migrations/0016_alter_aboutpage_body.py | 122 ++ lametro/models/__init__.py | 2 + lametro/models/cms.py | 20 + lametro/{models.py => models/legislative.py} | 0 .../about/_board_report_statuses.html | 43 - .../about/_component_bill_type_table.html | 43 - lametro/templates/about/about.html | 265 ---- lametro/templates/base.html | 6 +- .../index/_index_metro_description.html | 6 +- lametro/templates/lametro/about_page.html | 17 + lametro/templates/lametro/blocks/article.html | 19 + .../templates/lametro/blocks/navigation.html | 14 + lametro/templates/lametro/blocks/table.html | 17 + lametro/templatetags/responsive_utils.py | 40 + lametro/views.py | 16 +- requirements.txt | 1 + scripts/release.sh | 5 +- tests/test_bills.py | 2 +- 38 files changed, 2018 insertions(+), 414 deletions(-) delete mode 100644 councilmatic/minimal_settings.py create mode 100644 lametro/blocks.py create mode 100644 lametro/fixtures/cms_content.json create mode 100644 lametro/fixtures/initial_images/images/datamade_logo_sm.max-165x165.png create mode 100644 lametro/fixtures/initial_images/images/datamade_logo_sm.max-800x600.png create mode 100644 lametro/fixtures/initial_images/images/datamade_logo_sm.width-500.png create mode 100644 lametro/fixtures/initial_images/images/datamade_logo_sm.width-800.png create mode 100644 lametro/fixtures/initial_images/images/datamade_logo_sm_fDWMRNo.max-800x600.png create mode 100644 lametro/fixtures/initial_images/images/datamade_logo_sm_fDWMRNo.width-500.png create mode 100644 lametro/fixtures/initial_images/original_images/datamade_logo_sm.png create mode 100644 lametro/fixtures/initial_images/original_images/datamade_logo_sm_fDWMRNo.png create mode 100644 lametro/management/commands/dump_content.py create mode 100644 lametro/management/commands/load_content.py create mode 100644 lametro/migrations/0015_aboutpage.py create mode 100644 lametro/migrations/0016_alter_aboutpage_body.py create mode 100644 lametro/models/__init__.py create mode 100644 lametro/models/cms.py rename lametro/{models.py => models/legislative.py} (100%) delete mode 100644 lametro/templates/about/_board_report_statuses.html delete mode 100644 lametro/templates/about/_component_bill_type_table.html delete mode 100644 lametro/templates/about/about.html create mode 100644 lametro/templates/lametro/about_page.html create mode 100644 lametro/templates/lametro/blocks/article.html create mode 100644 lametro/templates/lametro/blocks/navigation.html create mode 100644 lametro/templates/lametro/blocks/table.html create mode 100644 lametro/templatetags/responsive_utils.py diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 080743c6c..8fe9d5d08 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -62,7 +62,5 @@ jobs: DATABASE_URL: postgis://postgres:postgres@localhost:5432/lametro SEARCH_URL: http://localhost:9200 run: | - flake8 . - black --check . cp .env.local.example .env.local pytest -sv diff --git a/.gitignore b/.gitignore index 4d5e69943..d68f2568e 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ lametro/secrets.py .env .venv +media/ diff --git a/README.md b/README.md index 655cf3449..3c5dec771 100644 --- a/README.md +++ b/README.md @@ -149,6 +149,18 @@ Grab the values for the `AWS_ACCESS_KEY_ID` and the `AWS_SECRET_ACCESS_KEY` and Now you should be able to start uploading some files! +## Review Apps +This repo is set up to deploy review apps on Heroku, and those pull from the staging database to match the experience of deploying as closely as possible! However, note that in order to prevent unapproved model changes from effecting the staging database, migrations are prevented from running on review apps. So those will still have to be reviewed locally. + +### Review apps for Wagtail changes + +1. Configure the S3 connection, as documented above. +2. Once a release phase successfully completes, provision an Essential 0 database for your review app. +3. Retrieve the URI from the Credentials tab. +4. Run `export HEROKU_DATABASE_URL=`. +5. If needed, run `docker compose run --rm -e DATABASE_URL=${HEROKU_DATABASE_URI} scrapers` to populate initial legislative data. +6. Run `docker compose run --rm -e DATABASE_URL=${HEROKU_DATABASE_URI} app python manage.py load_content` to populate initial CMS content from the version controlled fixtures. + ## Adding a new board member Hooray! A new member has been elected or appointed to the Board of Directors. @@ -205,9 +217,10 @@ This will start the Locust web server on http://localhost:8089. For more details see the [Locust documentation](https://docs.locust.io/en/stable/). ## Review Apps + This repo is set up to deploy review apps on Heroku, and those pull from the staging database to match the experience of deploying as closely as possible! However, note that in order to prevent unapproved model changes from effecting the staging database, migrations are prevented from running on review apps. So those will still have to be reviewed locally. -## Updating the documentation +## Updating the Documentation To make changes to the documentation, [install Quarto](https://quarto.org/docs/get-started/). diff --git a/councilmatic/minimal_settings.py b/councilmatic/minimal_settings.py deleted file mode 100644 index 34fce23c5..000000000 --- a/councilmatic/minimal_settings.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -As part of our build process, we need to run collectstatic from within the -Dockerfile. This is a minimal settings file to enable that one management command -""" - -import os - -BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -STATIC_ROOT = os.path.join(BASE_DIR, "static") -STATIC_URL = "/static/" - -INSTALLED_APPS = ( - "django.contrib.staticfiles", - "django.contrib.gis", - "opencivicdata.core", - "opencivicdata.legislative", - "lametro", - "councilmatic_core", - "debug_toolbar", - "captcha", -) - -HAYSTACK_CONNECTIONS = { - "default": { - "ENGINE": "haystack.backends.elasticsearch7_backend.Elasticsearch7SearchEngine", - "URL": "http://elasticsearch:9200", - "INDEX_NAME": "lametro", - "SILENTLY_FAIL": False, - "BATCH_SIZE": 10, - } -} diff --git a/councilmatic/settings.py b/councilmatic/settings.py index d9629d7ff..bc0f581d1 100644 --- a/councilmatic/settings.py +++ b/councilmatic/settings.py @@ -40,6 +40,7 @@ REMOTE_ANALYTICS_FOLDER=(str, ""), GOOGLE_SERVICE_ACCT_API_KEY=(str, ""), GOOGLE_API_KEY=(str, ""), + WAGTAILADMIN_BASE_URL=(str, "https://boardagendas.metro.net"), ) # Core Django Settings @@ -137,6 +138,20 @@ "template_profiler_panel", "captcha", "markdownify.apps.MarkdownifyConfig", + "wagtail.contrib.forms", + "wagtail.contrib.redirects", + "wagtail.contrib.typed_table_block", + "wagtail.embeds", + "wagtail.sites", + "wagtail.users", + "wagtail.snippets", + "wagtail.documents", + "wagtail.images", + "wagtail.search", + "wagtail.admin", + "wagtail", + "modelcluster", + "taggit", ) try: @@ -154,6 +169,7 @@ "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", + "wagtail.contrib.redirects.middleware.RedirectMiddleware", ) ROOT_URLCONF = "councilmatic.urls" @@ -199,6 +215,9 @@ STATIC_URL = "/static/" STATIC_ROOT = os.path.join(BASE_DIR, "static") +MEDIA_ROOT = os.path.join(BASE_DIR, "media") +MEDIA_URL = "/media/" + # Third Party Keys RECAPTCHA_PUBLIC_KEY = env("RECAPTCHA_PUBLIC_KEY") RECAPTCHA_PRIVATE_KEY = env("RECAPTCHA_PRIVATE_KEY") @@ -243,10 +262,9 @@ ) from django.core.files.storage import get_storage_class - S3Storage = get_storage_class("storages.backends.s3boto3.S3Boto3Storage") - AWS_QUERYSTRING_AUTH = False - COUNCILMATIC_HEADSHOT_STORAGE_BACKEND = S3Storage() + DEFAULT_FILE_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" + COUNCILMATIC_HEADSHOT_STORAGE_BACKEND = get_storage_class(DEFAULT_FILE_STORAGE) else: print("AWS not configured. Defaulting to local storage...") @@ -338,3 +356,6 @@ def custom_sampler(ctx): # Hard time limit on HTTP requests REQUEST_TIMEOUT = 5 + +WAGTAIL_SITE_NAME = "boardagendas.metro.net" +WAGTAILADMIN_BASE_URL = env("WAGTAILADMIN_BASE_URL") diff --git a/councilmatic/urls.py b/councilmatic/urls.py index 5debfab58..4e2aa204e 100644 --- a/councilmatic/urls.py +++ b/councilmatic/urls.py @@ -1,5 +1,6 @@ from django.conf import settings from django.conf.urls import include, url +from django.conf.urls.static import static from django.contrib import admin from django.urls import path from django.views.static import serve @@ -7,6 +8,10 @@ from haystack.query import EmptySearchQuerySet +from wagtail.admin import urls as wagtailadmin_urls +from wagtail import urls as wagtail_urls +from wagtail.documents import urls as wagtaildocs_urls + from councilmatic_core.views import ( CouncilmaticSearchForm, ) @@ -23,7 +28,6 @@ LAMetroEventDetail, LABillDetail, LABoardMembersView, - LAMetroAboutView, LACommitteeDetailView, LACommitteesView, LAPersonDetailView, @@ -63,7 +67,6 @@ ), url(r"^archive-search", LAMetroArchiveSearch.as_view(), name="archive-search"), url(r"^$", never_cache(LAMetroIndexView.as_view()), name="index"), - url(r"^about/$", LAMetroAboutView.as_view(), name="about"), url( r"^board-report/(?P[^/]+)/$", LABillDetail.as_view(), @@ -129,9 +132,12 @@ name="lametro_ses_endpoint", ), path("smartlogic/", include("smartlogic.urls", namespace="smartlogic")), + path("cms/", include(wagtailadmin_urls)), + path("documents/", include(wagtaildocs_urls)), + path("", include(wagtail_urls)), url(r"", include("councilmatic_core.urls")), url(r"^test-logging/$", test_logging, name="test_logging"), -] +] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) if settings.DEBUG: import debug_toolbar diff --git a/docker-compose.yml b/docker-compose.yml index ea8f69521..d0c19d04d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -66,7 +66,7 @@ services: DATABASE_URL: 'postgis://postgres:postgres@postgres/lametro' SHARED_DB: "True" OCD_DIVISION_CSV: '/app/lametro_divisions.csv' - command: sh -c 'pupa update --rpm=600 lametro people && pupa update --rpm=600 lametro bills window=14 && pupa update --rpm=600 lametro events window=14' + command: sh -c 'pupa update --rpm=600 lametro people && pupa update --rpm=600 lametro bills window=7 && pupa update --rpm=600 lametro events window=7' volumes: - ./lametro/secrets.py:/app/lametro/secrets.py - ./data/lametro_divisions.csv:/app/lametro_divisions.csv diff --git a/lametro/blocks.py b/lametro/blocks.py new file mode 100644 index 000000000..64c348a45 --- /dev/null +++ b/lametro/blocks.py @@ -0,0 +1,66 @@ +from wagtail import blocks +from wagtail.images.blocks import ImageChooserBlock +from wagtail.contrib.typed_table_block.blocks import TypedTableBlock + + +class NavigationBlock(blocks.StaticBlock): + class Meta: + template = "lametro/blocks/navigation.html" + icon = "bars" + + def get_context(self, *args, **kwargs): + context = super().get_context(*args, **kwargs) + + if parent_context := kwargs.get("parent_context"): + context["navigation_items"] = { + section.value["heading"] or "Unnamed Section": section.value["anchor"] + for section in parent_context["page"].body + if section.value["anchor"] + } + + return context + + +class Breakpoints(blocks.StructBlock): + class Meta: + help_text = "Max number of columns to display on different devices" + + sm = blocks.IntegerBlock(default=1, help_text="Mobile phone") + md = blocks.IntegerBlock(default=2, help_text="Tablet") + lg = blocks.IntegerBlock(default=4, help_text="Desktop") + + +class ResponsiveContent(blocks.StructBlock): + breakpoints = Breakpoints() + content = blocks.StreamBlock( + [ + ( + "table", + TypedTableBlock( + [ + ("rich_text", blocks.RichTextBlock()), + ] + ), + ) + ] + ) + + +class ContentBlock(blocks.StreamBlock): + text = blocks.RichTextBlock() + image = ImageChooserBlock() + table = TypedTableBlock( + [ + ("rich_text", blocks.RichTextBlock()), + ] + ) + navigation = NavigationBlock() + responsive_element = ResponsiveContent() + + +class ArticleBlock(blocks.StructBlock): + heading = blocks.CharBlock(required=False) + content = ContentBlock() + anchor = blocks.CharBlock( + required=False, help_text="Add anchor to enable direct links to this section" + ) diff --git a/lametro/fixtures/cms_content.json b/lametro/fixtures/cms_content.json new file mode 100644 index 000000000..e32380a9c --- /dev/null +++ b/lametro/fixtures/cms_content.json @@ -0,0 +1,1385 @@ +[ +{ + "model": "auth.group", + "pk": 1, + "fields": { + "name": "Moderators", + "permissions": [ + [ + "access_admin", + "wagtailadmin", + "admin" + ], + [ + "add_document", + "wagtaildocs", + "document" + ], + [ + "change_document", + "wagtaildocs", + "document" + ], + [ + "choose_document", + "wagtaildocs", + "document" + ], + [ + "delete_document", + "wagtaildocs", + "document" + ], + [ + "add_image", + "wagtailimages", + "image" + ], + [ + "change_image", + "wagtailimages", + "image" + ], + [ + "choose_image", + "wagtailimages", + "image" + ], + [ + "delete_image", + "wagtailimages", + "image" + ] + ] + } +}, +{ + "model": "auth.group", + "pk": 2, + "fields": { + "name": "Editors", + "permissions": [ + [ + "access_admin", + "wagtailadmin", + "admin" + ], + [ + "add_document", + "wagtaildocs", + "document" + ], + [ + "change_document", + "wagtaildocs", + "document" + ], + [ + "choose_document", + "wagtaildocs", + "document" + ], + [ + "delete_document", + "wagtaildocs", + "document" + ], + [ + "add_image", + "wagtailimages", + "image" + ], + [ + "change_image", + "wagtailimages", + "image" + ], + [ + "choose_image", + "wagtailimages", + "image" + ], + [ + "delete_image", + "wagtailimages", + "image" + ] + ] + } +}, +{ + "model": "auth.user", + "pk": 1, + "fields": { + "password": "pbkdf2_sha256$260000$B9ENOePr7fGI3Pa5LU7l1h$ekAXX9iQL7ygx/1ug0AI5GLbltK6rT7aFiPw/gU18Ag=", + "last_login": "2024-11-21T14:09:55.136Z", + "is_superuser": true, + "username": "hannah", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": true, + "is_active": true, + "date_joined": "2024-11-20T16:12:03.607Z", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "lametro.aboutpage", + "pk": 3, + "fields": { + "body": "[{\"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\", \"type\": \"section\", \"value\": {\"anchor\": \"\", \"content\": [{\"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\", \"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\"}], \"heading\": \"\"}}, {\"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\", \"type\": \"section\", \"value\": {\"anchor\": \"\", \"content\": [{\"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\", \"type\": \"navigation\", \"value\": null}], \"heading\": \"\"}}, {\"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\", \"type\": \"section\", \"value\": {\"anchor\": \"about-la-metro\", \"content\": [{\"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\", \"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

\"}], \"heading\": \"What is the Metro Board of Directors, and how does it work?\"}}, {\"id\": \"30d5c8c4-29b8-4dcd-8ca3-ce4d7c3a6957\", \"type\": \"section\", \"value\": {\"anchor\": \"procedures\", \"content\": [{\"id\": \"be011f8d-c089-4b2e-9ba4-e82476944f89\", \"type\": \"text\", \"value\": \"

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\"}], \"heading\": \"Board Room Rules and Procedures\"}}, {\"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\", \"type\": \"section\", \"value\": {\"anchor\": \"\", \"content\": [{\"id\": \"8c4c61e5-2313-4f7c-96ee-ebad34958766\", \"type\": \"responsive_element\", \"value\": {\"content\": [{\"id\": \"db5ecbfe-bb13-48f8-b814-d29cdf48ba18\", \"type\": \"table\", \"value\": {\"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}], \"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}]}}], \"breakpoints\": {\"lg\": 4, \"md\": 2, \"sm\": 1}}}], \"heading\": \"Types of Board Reports\"}}, {\"id\": \"df0eabeb-b23a-4747-8d95-9057204a910b\", \"type\": \"section\", \"value\": {\"anchor\": \"\", \"content\": [{\"id\": \"52c0a408-c3a2-4ca6-aca7-7b855322c399\", \"type\": \"text\", \"value\": \"

Each Metro board report has one of 22 posible statuses:

\"}, {\"id\": \"8f171ff2-5370-4f49-88b0-51463d6b68f0\", \"type\": \"responsive_element\", \"value\": {\"content\": [{\"id\": \"20ff5c56-3d82-49fd-8c3f-77aaefce1212\", \"type\": \"table\", \"value\": {\"rows\": [{\"values\": [\"

Adopted

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}, {\"values\": [\"

Adopted As Amended

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}], \"columns\": [{\"type\": \"rich_text\", \"heading\": \"Status\"}, {\"type\": \"rich_text\", \"heading\": \"Displayed Status\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}]}}], \"breakpoints\": {\"lg\": 4, \"md\": 2, \"sm\": 2}}}], \"heading\": \"Board Report Statuses\"}}, {\"id\": \"8655a141-976d-46ac-940c-b132f64d7381\", \"type\": \"section\", \"value\": {\"anchor\": \"visit\", \"content\": [{\"id\": \"780fe99f-4159-44f3-9ac7-99f89f585700\", \"type\": \"text\", \"value\": \"

One Gateway Plaza
Los Angeles, CA 90012-2952

Metro Headquarters is located on the corner of Cesar E. Chavez Ave. and Vignes St.

Get directions to Metro Headquarters.

\"}], \"heading\": \"Visit Metro Headquarters Building\"}}, {\"id\": \"e8e5d832-9607-405e-921d-bcdcb18ee160\", \"type\": \"section\", \"value\": {\"anchor\": \"data\", \"content\": [{\"id\": \"afdae4a4-3865-4a7e-b2aa-abb766d93c7d\", \"type\": \"text\", \"value\": \"

The data for this website comes from the Metro board reports site, a system built by Granicus using their Legistar Legislative Management Suite.

With the help of the Legistar Web API, we collect data daily and store it using the Open Civic Data standard and platform. Open Civic Data standardizes information about people, organizations, events and bills at any level of government: it was built in collaboration with The Sunlight Foundation, Google, Granicus, and Open North.

\"}], \"heading\": \"Data\"}}, {\"id\": \"4d81311a-e4a8-47a7-85fa-e3c984389e42\", \"type\": \"section\", \"value\": {\"anchor\": \"credits\", \"content\": [{\"id\": \"faef24a9-ef94-4206-8913-37e1330061ea\", \"type\": \"text\", \"value\": \"

This site represents a collaborative effort of Metro\\u2019s Office of the CEO, Office of Board Administration, and Research & Records, Information Management, to ensure Board activity is transparent and easily accessible for the public.

The site was built by DataMade, a civic technology company. They build open source technology using open data to empower journalists, researchers, governments and advocacy organizations.

\"}], \"heading\": \"Credits\"}}, {\"id\": \"7feeebc5-aad8-4175-bd4e-81027284f76b\", \"type\": \"section\", \"value\": {\"anchor\": \"contact\", \"content\": [{\"id\": \"c376852b-d5e6-43d6-9fca-e6fe682ab51f\", \"type\": \"text\", \"value\": \"

For questions about or comments for the Metro Board, please contact boardclerk@metro.net. Written public comment can be mailed to:

Office of Board Administration
1 Gateway Plaza, Mail Stop 99-3-1
Los Angeles, CA 90012

If you are commenting on a specific item, please include the item number and your position on it - for, against, general comment, or item needs more consideration - in your message. Written public comment (via mail or email) must be received by 5pm the evening prior to the meeting where the item will be considered.

For questions about this website or Board records, please email boardreport@metro.net.

\"}], \"heading\": \"Contact us\"}}]" + } +}, +{ + "model": "wagtailusers.userprofile", + "pk": 1, + "fields": { + "user": [ + "hannah" + ], + "submitted_notifications": true, + "approved_notifications": true, + "rejected_notifications": true, + "updated_comments_notifications": true, + "preferred_language": "", + "current_time_zone": "", + "avatar": "", + "dismissibles": {}, + "theme": "system" + } +}, +{ + "model": "wagtailimages.image", + "pk": 1, + "fields": { + "collection": 1, + "title": "datamade_logo_sm", + "file": "original_images/datamade_logo_sm.png", + "width": 192, + "height": 40, + "created_at": "2024-11-20T16:19:04.189Z", + "uploaded_by_user": [ + "hannah" + ], + "focal_point_x": null, + "focal_point_y": null, + "focal_point_width": null, + "focal_point_height": null, + "file_size": 11601, + "file_hash": "c734010a4df828c8526e454895dd427619e36281" + } +}, +{ + "model": "wagtailimages.rendition", + "pk": 1, + "fields": { + "filter_spec": "max-800x600", + "file": "images/datamade_logo_sm.max-800x600.png", + "width": 192, + "height": 40, + "focal_point_key": "", + "image": 1 + } +}, +{ + "model": "wagtailimages.rendition", + "pk": 2, + "fields": { + "filter_spec": "width-500", + "file": "images/datamade_logo_sm.width-500.png", + "width": 192, + "height": 40, + "focal_point_key": "", + "image": 1 + } +}, +{ + "model": "wagtailimages.rendition", + "pk": 3, + "fields": { + "filter_spec": "max-165x165", + "file": "images/datamade_logo_sm.max-165x165.png", + "width": 165, + "height": 34, + "focal_point_key": "", + "image": 1 + } +}, +{ + "model": "wagtailcore.locale", + "pk": 1, + "fields": { + "language_code": "en" + } +}, +{ + "model": "wagtailcore.site", + "pk": 1, + "fields": { + "hostname": "localhost", + "port": 80, + "site_name": "", + "root_page": 2, + "is_default_site": true + } +}, +{ + "model": "wagtailcore.collection", + "pk": 1, + "fields": { + "path": "0001", + "depth": 1, + "numchild": 0, + "name": "Root" + } +}, +{ + "model": "wagtailcore.referenceindex", + "pk": 1, + "fields": { + "content_type": [ + "wagtailimages", + "image" + ], + "base_content_type": [ + "wagtailimages", + "image" + ], + "object_id": "1", + "to_content_type": [ + "wagtailcore", + "collection" + ], + "to_object_id": "1", + "model_path": "collection", + "content_path": "collection", + "content_path_hash": "b40b1263-e929-57f2-a7f8-9dbce56b887b" + } +}, +{ + "model": "wagtailcore.referenceindex", + "pk": 2, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "to_content_type": [ + "wagtailimages", + "image" + ], + "to_object_id": "1", + "model_path": "body.section.content.text", + "content_path": "body.4d81311a-e4a8-47a7-85fa-e3c984389e42.content.faef24a9-ef94-4206-8913-37e1330061ea", + "content_path_hash": "3338c073-7d90-511e-8368-43e4475f071b" + } +}, +{ + "model": "wagtailcore.referenceindex", + "pk": 3, + "fields": { + "content_type": [ + "wagtailimages", + "image" + ], + "base_content_type": [ + "wagtailimages", + "image" + ], + "object_id": "2", + "to_content_type": [ + "wagtailcore", + "collection" + ], + "to_object_id": "1", + "model_path": "collection", + "content_path": "collection", + "content_path_hash": "b40b1263-e929-57f2-a7f8-9dbce56b887b" + } +}, +{ + "model": "wagtailcore.page", + "pk": 1, + "fields": { + "path": "0001", + "depth": 1, + "numchild": 1, + "translation_key": "73103789-679f-4802-bf61-e760a9f500db", + "locale": 1, + "latest_revision": null, + "live": true, + "has_unpublished_changes": false, + "first_published_at": null, + "last_published_at": null, + "live_revision": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "locked_at": null, + "locked_by": null, + "title": "Root", + "draft_title": "Root", + "slug": "root", + "content_type": [ + "wagtailcore", + "page" + ], + "url_path": "/", + "owner": null, + "seo_title": "", + "show_in_menus": false, + "search_description": "", + "latest_revision_created_at": null, + "alias_of": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 2, + "fields": { + "path": "00010001", + "depth": 2, + "numchild": 1, + "translation_key": "3163da97-7779-470f-8f98-cc72d0d86064", + "locale": 1, + "latest_revision": 10, + "live": true, + "has_unpublished_changes": false, + "first_published_at": "2024-11-21T14:49:22.762Z", + "last_published_at": "2024-11-21T14:49:22.762Z", + "live_revision": 10, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "locked_at": null, + "locked_by": null, + "title": "LA Metro Board Agendas", + "draft_title": "LA Metro Board Agendas", + "slug": "home", + "content_type": [ + "wagtailcore", + "page" + ], + "url_path": "/home/", + "owner": null, + "seo_title": "", + "show_in_menus": false, + "search_description": "", + "latest_revision_created_at": "2024-11-21T14:49:22.714Z", + "alias_of": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 3, + "fields": { + "path": "000100010001", + "depth": 3, + "numchild": 0, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "locale": 1, + "latest_revision": 9, + "live": true, + "has_unpublished_changes": false, + "first_published_at": "2024-11-20T16:14:42.213Z", + "last_published_at": "2024-11-21T14:10:05.826Z", + "live_revision": 9, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "locked_at": null, + "locked_by": null, + "title": "About us", + "draft_title": "About us", + "slug": "about", + "content_type": [ + "lametro", + "aboutpage" + ], + "url_path": "/home/about/", + "owner": [ + "hannah" + ], + "seo_title": "", + "show_in_menus": false, + "search_description": "", + "latest_revision_created_at": "2024-11-21T14:10:05.780Z", + "alias_of": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 1, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "submitted_for_moderation": false, + "created_at": "2024-11-20T16:14:38.047Z", + "user": [ + "hannah" + ], + "object_str": "About us", + "content": { + "pk": 3, + "body": "[{\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\", \"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\"}], \"anchor\": \"\"}, \"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\"}, {\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"navigation\", \"value\": null, \"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\"}], \"anchor\": \"\"}, \"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\"}, {\"type\": \"section\", \"value\": {\"heading\": \"What is the Metro Board of Directors, and how does it work?\", \"content\": [{\"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

Board Room Rules and Procedures

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\", \"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\"}], \"anchor\": \"about-la-metro\"}, \"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Types of Board Reports\", \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}, {\"values\": [\"

Application

\", \"

A formal request, usually for state and federal funding programs.

\"]}]}, \"id\": \"8de5339a-e596-422a-96e9-1d348ac977c4\"}], \"anchor\": \"\"}, \"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\"}]", + "live": false, + "path": "000100010001", + "slug": "about-us", + "depth": 3, + "owner": 1, + "title": "About us", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 0, + "url_path": "/home/about-us/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "About us", + "content_type": 99, + "live_revision": null, + "show_in_menus": false, + "latest_revision": null, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "last_published_at": null, + "first_published_at": null, + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": false, + "latest_revision_created_at": null + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 2, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "submitted_for_moderation": false, + "created_at": "2024-11-20T16:14:42.192Z", + "user": [ + "hannah" + ], + "object_str": "About us", + "content": { + "pk": 3, + "body": "[{\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\", \"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\"}], \"anchor\": \"\"}, \"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\"}, {\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"navigation\", \"value\": null, \"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\"}], \"anchor\": \"\"}, \"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\"}, {\"type\": \"section\", \"value\": {\"heading\": \"What is the Metro Board of Directors, and how does it work?\", \"content\": [{\"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

Board Room Rules and Procedures

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\", \"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\"}], \"anchor\": \"about-la-metro\"}, \"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Types of Board Reports\", \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}, {\"values\": [\"

Application

\", \"

A formal request, usually for state and federal funding programs.

\"]}]}, \"id\": \"8de5339a-e596-422a-96e9-1d348ac977c4\"}], \"anchor\": \"\"}, \"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\"}]", + "live": false, + "path": "000100010001", + "slug": "about-us", + "depth": 3, + "owner": 1, + "title": "About us", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 0, + "url_path": "/home/about-us/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "About us", + "content_type": 99, + "live_revision": null, + "show_in_menus": false, + "latest_revision": 1, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "last_published_at": null, + "first_published_at": null, + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": true, + "latest_revision_created_at": "2024-11-20T16:14:38.047Z" + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 3, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "submitted_for_moderation": false, + "created_at": "2024-11-20T16:17:55.798Z", + "user": [ + "hannah" + ], + "object_str": "About us", + "content": { + "pk": 3, + "body": "[{\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\", \"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\"}], \"anchor\": \"\"}, \"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\"}, {\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"navigation\", \"value\": null, \"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\"}], \"anchor\": \"\"}, \"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\"}, {\"type\": \"section\", \"value\": {\"heading\": \"What is the Metro Board of Directors, and how does it work?\", \"content\": [{\"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

\", \"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\"}], \"anchor\": \"about-la-metro\"}, \"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Room Rules and Procedures\", \"content\": [{\"type\": \"text\", \"value\": \"

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\", \"id\": \"be011f8d-c089-4b2e-9ba4-e82476944f89\"}], \"anchor\": \"procedures\"}, \"id\": \"30d5c8c4-29b8-4dcd-8ca3-ce4d7c3a6957\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Types of Board Reports\", \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}, {\"values\": [\"

Application

\", \"

A formal request, usually for state and federal funding programs.

\"]}, {\"values\": [\"

Appointment

\", \"

The Board of Directors makes appointments to various committees created for the purpose of collecting and reviewing public input such as the Citizens Advisory Council and the Metro Service Councils, and also to external organizations that include representation from Metro such as Metrolink.

\"]}]}, \"id\": \"8de5339a-e596-422a-96e9-1d348ac977c4\"}], \"anchor\": \"\"}, \"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Report Statuses\", \"content\": [{\"type\": \"text\", \"value\": \"

Each Metro board report has one of 22 posible statuses:

\", \"id\": \"52c0a408-c3a2-4ca6-aca7-7b855322c399\"}, {\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Status\"}, {\"type\": \"rich_text\", \"heading\": \"Displayed Status\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Adopted

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}, {\"values\": [\"

Adopted As Amended

\", \"

Adopted

\", \"

Item was adopted as amended by a majority vote of the Board.

\"]}, {\"values\": [\"

Approved

\", \"

Approved

\", \"

Item was approved by a majority vote of the Board.

\"]}]}, \"id\": \"c0885150-64d7-4181-8ddb-af704e697c35\"}], \"anchor\": \"\"}, \"id\": \"df0eabeb-b23a-4747-8d95-9057204a910b\"}]", + "live": true, + "path": "000100010001", + "slug": "about-us", + "depth": 3, + "owner": 1, + "title": "About us", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 0, + "url_path": "/home/about-us/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "About us", + "content_type": 99, + "live_revision": 2, + "show_in_menus": false, + "latest_revision": 2, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "last_published_at": "2024-11-20T16:14:42.213Z", + "first_published_at": "2024-11-20T16:14:42.213Z", + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": false, + "latest_revision_created_at": "2024-11-20T16:14:42.192Z" + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 4, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "submitted_for_moderation": false, + "created_at": "2024-11-20T16:21:02.185Z", + "user": [ + "hannah" + ], + "object_str": "About us", + "content": { + "pk": 3, + "body": "[{\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\", \"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\"}], \"anchor\": \"\"}, \"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\"}, {\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"navigation\", \"value\": null, \"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\"}], \"anchor\": \"\"}, \"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\"}, {\"type\": \"section\", \"value\": {\"heading\": \"What is the Metro Board of Directors, and how does it work?\", \"content\": [{\"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

\", \"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\"}], \"anchor\": \"about-la-metro\"}, \"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Room Rules and Procedures\", \"content\": [{\"type\": \"text\", \"value\": \"

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\", \"id\": \"be011f8d-c089-4b2e-9ba4-e82476944f89\"}], \"anchor\": \"procedures\"}, \"id\": \"30d5c8c4-29b8-4dcd-8ca3-ce4d7c3a6957\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Types of Board Reports\", \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}, {\"values\": [\"

Application

\", \"

A formal request, usually for state and federal funding programs.

\"]}, {\"values\": [\"

Appointment

\", \"

The Board of Directors makes appointments to various committees created for the purpose of collecting and reviewing public input such as the Citizens Advisory Council and the Metro Service Councils, and also to external organizations that include representation from Metro such as Metrolink.

\"]}]}, \"id\": \"8de5339a-e596-422a-96e9-1d348ac977c4\"}], \"anchor\": \"\"}, \"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Report Statuses\", \"content\": [{\"type\": \"text\", \"value\": \"

Each Metro board report has one of 22 posible statuses:

\", \"id\": \"52c0a408-c3a2-4ca6-aca7-7b855322c399\"}, {\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Status\"}, {\"type\": \"rich_text\", \"heading\": \"Displayed Status\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Adopted

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}, {\"values\": [\"

Adopted As Amended

\", \"

Adopted

\", \"

Item was adopted as amended by a majority vote of the Board.

\"]}, {\"values\": [\"

Approved

\", \"

Approved

\", \"

Item was approved by a majority vote of the Board.

\"]}]}, \"id\": \"c0885150-64d7-4181-8ddb-af704e697c35\"}], \"anchor\": \"\"}, \"id\": \"df0eabeb-b23a-4747-8d95-9057204a910b\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Visit Metro Headquarters Building\", \"content\": [{\"type\": \"text\", \"value\": \"

One Gateway Plaza
Los Angeles, CA 90012-2952

Metro Headquarters is located on the corner of Cesar E. Chavez Ave. and Vignes St.

Get directions to Metro Headquarters.

\", \"id\": \"780fe99f-4159-44f3-9ac7-99f89f585700\"}], \"anchor\": \"visit\"}, \"id\": \"8655a141-976d-46ac-940c-b132f64d7381\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Data\", \"content\": [{\"type\": \"text\", \"value\": \"

The data for this website comes from the Metro board reports site, a system built by Granicus using their Legistar Legislative Management Suite.

With the help of the Legistar Web API, we collect data daily and store it using the Open Civic Data standard and platform. Open Civic Data standardizes information about people, organizations, events and bills at any level of government: it was built in collaboration with The Sunlight Foundation, Google, Granicus, and Open North.

\", \"id\": \"afdae4a4-3865-4a7e-b2aa-abb766d93c7d\"}], \"anchor\": \"data\"}, \"id\": \"e8e5d832-9607-405e-921d-bcdcb18ee160\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Credits\", \"content\": [{\"type\": \"text\", \"value\": \"

This site represents a collaborative effort of Metro\\u2019s Office of the CEO, Office of Board Administration, and Research & Records, Information Management, to ensure Board activity is transparent and easily accessible for the public.

The site was built by DataMade, a civic technology company. They build open source technology using open data to empower journalists, researchers, governments and advocacy organizations.

\", \"id\": \"faef24a9-ef94-4206-8913-37e1330061ea\"}], \"anchor\": \"credits\"}, \"id\": \"4d81311a-e4a8-47a7-85fa-e3c984389e42\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Contact us\", \"content\": [{\"type\": \"text\", \"value\": \"

For questions about or comments for the Metro Board, please contact boardclerk@metro.net. Written public comment can be mailed to:

Office of Board Administration
1 Gateway Plaza, Mail Stop 99-3-1
Los Angeles, CA 90012

If you are commenting on a specific item, please include the item number and your position on it - for, against, general comment, or item needs more consideration - in your message. Written public comment (via mail or email) must be received by 5pm the evening prior to the meeting where the item will be considered.

For questions about this website or Board records, please email boardreport@metro.net.

\", \"id\": \"c376852b-d5e6-43d6-9fca-e6fe682ab51f\"}], \"anchor\": \"contact\"}, \"id\": \"7feeebc5-aad8-4175-bd4e-81027284f76b\"}]", + "live": true, + "path": "000100010001", + "slug": "about-us", + "depth": 3, + "owner": 1, + "title": "About us", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 0, + "url_path": "/home/about-us/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "About us", + "content_type": 99, + "live_revision": 2, + "show_in_menus": false, + "latest_revision": 3, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "last_published_at": "2024-11-20T16:14:42.213Z", + "first_published_at": "2024-11-20T16:14:42.213Z", + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": true, + "latest_revision_created_at": "2024-11-20T16:17:55.798Z" + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 5, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "submitted_for_moderation": false, + "created_at": "2024-11-20T16:21:05.183Z", + "user": [ + "hannah" + ], + "object_str": "About us", + "content": { + "pk": 3, + "body": "[{\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\", \"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\"}], \"anchor\": \"\"}, \"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\"}, {\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"navigation\", \"value\": null, \"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\"}], \"anchor\": \"\"}, \"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\"}, {\"type\": \"section\", \"value\": {\"heading\": \"What is the Metro Board of Directors, and how does it work?\", \"content\": [{\"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

\", \"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\"}], \"anchor\": \"about-la-metro\"}, \"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Room Rules and Procedures\", \"content\": [{\"type\": \"text\", \"value\": \"

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\", \"id\": \"be011f8d-c089-4b2e-9ba4-e82476944f89\"}], \"anchor\": \"procedures\"}, \"id\": \"30d5c8c4-29b8-4dcd-8ca3-ce4d7c3a6957\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Types of Board Reports\", \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}, {\"values\": [\"

Application

\", \"

A formal request, usually for state and federal funding programs.

\"]}, {\"values\": [\"

Appointment

\", \"

The Board of Directors makes appointments to various committees created for the purpose of collecting and reviewing public input such as the Citizens Advisory Council and the Metro Service Councils, and also to external organizations that include representation from Metro such as Metrolink.

\"]}]}, \"id\": \"8de5339a-e596-422a-96e9-1d348ac977c4\"}], \"anchor\": \"\"}, \"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Report Statuses\", \"content\": [{\"type\": \"text\", \"value\": \"

Each Metro board report has one of 22 posible statuses:

\", \"id\": \"52c0a408-c3a2-4ca6-aca7-7b855322c399\"}, {\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Status\"}, {\"type\": \"rich_text\", \"heading\": \"Displayed Status\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Adopted

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}, {\"values\": [\"

Adopted As Amended

\", \"

Adopted

\", \"

Item was adopted as amended by a majority vote of the Board.

\"]}, {\"values\": [\"

Approved

\", \"

Approved

\", \"

Item was approved by a majority vote of the Board.

\"]}]}, \"id\": \"c0885150-64d7-4181-8ddb-af704e697c35\"}], \"anchor\": \"\"}, \"id\": \"df0eabeb-b23a-4747-8d95-9057204a910b\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Visit Metro Headquarters Building\", \"content\": [{\"type\": \"text\", \"value\": \"

One Gateway Plaza
Los Angeles, CA 90012-2952

Metro Headquarters is located on the corner of Cesar E. Chavez Ave. and Vignes St.

Get directions to Metro Headquarters.

\", \"id\": \"780fe99f-4159-44f3-9ac7-99f89f585700\"}], \"anchor\": \"visit\"}, \"id\": \"8655a141-976d-46ac-940c-b132f64d7381\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Data\", \"content\": [{\"type\": \"text\", \"value\": \"

The data for this website comes from the Metro board reports site, a system built by Granicus using their Legistar Legislative Management Suite.

With the help of the Legistar Web API, we collect data daily and store it using the Open Civic Data standard and platform. Open Civic Data standardizes information about people, organizations, events and bills at any level of government: it was built in collaboration with The Sunlight Foundation, Google, Granicus, and Open North.

\", \"id\": \"afdae4a4-3865-4a7e-b2aa-abb766d93c7d\"}], \"anchor\": \"data\"}, \"id\": \"e8e5d832-9607-405e-921d-bcdcb18ee160\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Credits\", \"content\": [{\"type\": \"text\", \"value\": \"

This site represents a collaborative effort of Metro\\u2019s Office of the CEO, Office of Board Administration, and Research & Records, Information Management, to ensure Board activity is transparent and easily accessible for the public.

The site was built by DataMade, a civic technology company. They build open source technology using open data to empower journalists, researchers, governments and advocacy organizations.

\", \"id\": \"faef24a9-ef94-4206-8913-37e1330061ea\"}], \"anchor\": \"credits\"}, \"id\": \"4d81311a-e4a8-47a7-85fa-e3c984389e42\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Contact us\", \"content\": [{\"type\": \"text\", \"value\": \"

For questions about or comments for the Metro Board, please contact boardclerk@metro.net. Written public comment can be mailed to:

Office of Board Administration
1 Gateway Plaza, Mail Stop 99-3-1
Los Angeles, CA 90012

If you are commenting on a specific item, please include the item number and your position on it - for, against, general comment, or item needs more consideration - in your message. Written public comment (via mail or email) must be received by 5pm the evening prior to the meeting where the item will be considered.

For questions about this website or Board records, please email boardreport@metro.net.

\", \"id\": \"c376852b-d5e6-43d6-9fca-e6fe682ab51f\"}], \"anchor\": \"contact\"}, \"id\": \"7feeebc5-aad8-4175-bd4e-81027284f76b\"}]", + "live": true, + "path": "000100010001", + "slug": "about-us", + "depth": 3, + "owner": 1, + "title": "About us", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 0, + "url_path": "/home/about-us/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "About us", + "content_type": 99, + "live_revision": 2, + "show_in_menus": false, + "latest_revision": 4, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "last_published_at": "2024-11-20T16:14:42.213Z", + "first_published_at": "2024-11-20T16:14:42.213Z", + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": true, + "latest_revision_created_at": "2024-11-20T16:21:02.185Z" + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 6, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "submitted_for_moderation": false, + "created_at": "2024-11-20T17:40:53.326Z", + "user": [ + "hannah" + ], + "object_str": "About us", + "content": { + "pk": 3, + "body": "[{\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\", \"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\"}], \"anchor\": \"\"}, \"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\"}, {\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"navigation\", \"value\": null, \"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\"}], \"anchor\": \"\"}, \"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\"}, {\"type\": \"section\", \"value\": {\"heading\": \"What is the Metro Board of Directors, and how does it work?\", \"content\": [{\"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

\", \"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\"}], \"anchor\": \"about-la-metro\"}, \"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Room Rules and Procedures\", \"content\": [{\"type\": \"text\", \"value\": \"

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\", \"id\": \"be011f8d-c089-4b2e-9ba4-e82476944f89\"}], \"anchor\": \"procedures\"}, \"id\": \"30d5c8c4-29b8-4dcd-8ca3-ce4d7c3a6957\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Types of Board Reports\", \"content\": [{\"type\": \"responsive_element\", \"value\": {\"breakpoints\": {\"sm\": 1, \"md\": 2, \"lg\": 4}, \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}]}, \"id\": \"db5ecbfe-bb13-48f8-b814-d29cdf48ba18\"}]}, \"id\": \"8c4c61e5-2313-4f7c-96ee-ebad34958766\"}, {\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}, {\"values\": [\"

Application

\", \"

A formal request, usually for state and federal funding programs.

\"]}, {\"values\": [\"

Appointment

\", \"

The Board of Directors makes appointments to various committees created for the purpose of collecting and reviewing public input such as the Citizens Advisory Council and the Metro Service Councils, and also to external organizations that include representation from Metro such as Metrolink.

\"]}]}, \"id\": \"1fb9819a-248c-416c-a068-6764e4a23f99\"}], \"anchor\": \"\"}, \"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Report Statuses\", \"content\": [{\"type\": \"text\", \"value\": \"

Each Metro board report has one of 22 posible statuses:

\", \"id\": \"52c0a408-c3a2-4ca6-aca7-7b855322c399\"}, {\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Status\"}, {\"type\": \"rich_text\", \"heading\": \"Displayed Status\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Adopted

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}, {\"values\": [\"

Adopted As Amended

\", \"

Adopted

\", \"

Item was adopted as amended by a majority vote of the Board.

\"]}, {\"values\": [\"

Approved

\", \"

Approved

\", \"

Item was approved by a majority vote of the Board.

\"]}]}, \"id\": \"c0885150-64d7-4181-8ddb-af704e697c35\"}], \"anchor\": \"\"}, \"id\": \"df0eabeb-b23a-4747-8d95-9057204a910b\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Visit Metro Headquarters Building\", \"content\": [{\"type\": \"text\", \"value\": \"

One Gateway Plaza
Los Angeles, CA 90012-2952

Metro Headquarters is located on the corner of Cesar E. Chavez Ave. and Vignes St.

Get directions to Metro Headquarters.

\", \"id\": \"780fe99f-4159-44f3-9ac7-99f89f585700\"}], \"anchor\": \"visit\"}, \"id\": \"8655a141-976d-46ac-940c-b132f64d7381\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Data\", \"content\": [{\"type\": \"text\", \"value\": \"

The data for this website comes from the Metro board reports site, a system built by Granicus using their Legistar Legislative Management Suite.

With the help of the Legistar Web API, we collect data daily and store it using the Open Civic Data standard and platform. Open Civic Data standardizes information about people, organizations, events and bills at any level of government: it was built in collaboration with The Sunlight Foundation, Google, Granicus, and Open North.

\", \"id\": \"afdae4a4-3865-4a7e-b2aa-abb766d93c7d\"}], \"anchor\": \"data\"}, \"id\": \"e8e5d832-9607-405e-921d-bcdcb18ee160\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Credits\", \"content\": [{\"type\": \"text\", \"value\": \"

This site represents a collaborative effort of Metro\\u2019s Office of the CEO, Office of Board Administration, and Research & Records, Information Management, to ensure Board activity is transparent and easily accessible for the public.

The site was built by DataMade, a civic technology company. They build open source technology using open data to empower journalists, researchers, governments and advocacy organizations.

\", \"id\": \"faef24a9-ef94-4206-8913-37e1330061ea\"}], \"anchor\": \"credits\"}, \"id\": \"4d81311a-e4a8-47a7-85fa-e3c984389e42\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Contact us\", \"content\": [{\"type\": \"text\", \"value\": \"

For questions about or comments for the Metro Board, please contact boardclerk@metro.net. Written public comment can be mailed to:

Office of Board Administration
1 Gateway Plaza, Mail Stop 99-3-1
Los Angeles, CA 90012

If you are commenting on a specific item, please include the item number and your position on it - for, against, general comment, or item needs more consideration - in your message. Written public comment (via mail or email) must be received by 5pm the evening prior to the meeting where the item will be considered.

For questions about this website or Board records, please email boardreport@metro.net.

\", \"id\": \"c376852b-d5e6-43d6-9fca-e6fe682ab51f\"}], \"anchor\": \"contact\"}, \"id\": \"7feeebc5-aad8-4175-bd4e-81027284f76b\"}]", + "live": true, + "path": "000100010001", + "slug": "about-us", + "depth": 3, + "owner": 1, + "title": "About us", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 0, + "url_path": "/home/about-us/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "About us", + "content_type": 99, + "live_revision": 5, + "show_in_menus": false, + "latest_revision": 5, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "last_published_at": "2024-11-20T16:21:05.210Z", + "first_published_at": "2024-11-20T16:14:42.213Z", + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": false, + "latest_revision_created_at": "2024-11-20T16:21:05.183Z" + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 7, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "submitted_for_moderation": false, + "created_at": "2024-11-20T17:56:26.816Z", + "user": [ + "hannah" + ], + "object_str": "About us", + "content": { + "pk": 3, + "body": "[{\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\", \"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\"}], \"anchor\": \"\"}, \"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\"}, {\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"navigation\", \"value\": null, \"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\"}], \"anchor\": \"\"}, \"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\"}, {\"type\": \"section\", \"value\": {\"heading\": \"What is the Metro Board of Directors, and how does it work?\", \"content\": [{\"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

\", \"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\"}], \"anchor\": \"about-la-metro\"}, \"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Room Rules and Procedures\", \"content\": [{\"type\": \"text\", \"value\": \"

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\", \"id\": \"be011f8d-c089-4b2e-9ba4-e82476944f89\"}], \"anchor\": \"procedures\"}, \"id\": \"30d5c8c4-29b8-4dcd-8ca3-ce4d7c3a6957\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Types of Board Reports\", \"content\": [{\"type\": \"responsive_element\", \"value\": {\"breakpoints\": {\"sm\": 1, \"md\": 2, \"lg\": 4}, \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}]}, \"id\": \"db5ecbfe-bb13-48f8-b814-d29cdf48ba18\"}]}, \"id\": \"8c4c61e5-2313-4f7c-96ee-ebad34958766\"}], \"anchor\": \"\"}, \"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Report Statuses\", \"content\": [{\"type\": \"text\", \"value\": \"

Each Metro board report has one of 22 posible statuses:

\", \"id\": \"52c0a408-c3a2-4ca6-aca7-7b855322c399\"}, {\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Status\"}, {\"type\": \"rich_text\", \"heading\": \"Displayed Status\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Adopted

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}, {\"values\": [\"

Adopted As Amended

\", \"

Adopted

\", \"

Item was adopted as amended by a majority vote of the Board.

\"]}, {\"values\": [\"

Approved

\", \"

Approved

\", \"

Item was approved by a majority vote of the Board.

\"]}]}, \"id\": \"c0885150-64d7-4181-8ddb-af704e697c35\"}], \"anchor\": \"\"}, \"id\": \"df0eabeb-b23a-4747-8d95-9057204a910b\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Visit Metro Headquarters Building\", \"content\": [{\"type\": \"text\", \"value\": \"

One Gateway Plaza
Los Angeles, CA 90012-2952

Metro Headquarters is located on the corner of Cesar E. Chavez Ave. and Vignes St.

Get directions to Metro Headquarters.

\", \"id\": \"780fe99f-4159-44f3-9ac7-99f89f585700\"}], \"anchor\": \"visit\"}, \"id\": \"8655a141-976d-46ac-940c-b132f64d7381\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Data\", \"content\": [{\"type\": \"text\", \"value\": \"

The data for this website comes from the Metro board reports site, a system built by Granicus using their Legistar Legislative Management Suite.

With the help of the Legistar Web API, we collect data daily and store it using the Open Civic Data standard and platform. Open Civic Data standardizes information about people, organizations, events and bills at any level of government: it was built in collaboration with The Sunlight Foundation, Google, Granicus, and Open North.

\", \"id\": \"afdae4a4-3865-4a7e-b2aa-abb766d93c7d\"}], \"anchor\": \"data\"}, \"id\": \"e8e5d832-9607-405e-921d-bcdcb18ee160\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Credits\", \"content\": [{\"type\": \"text\", \"value\": \"

This site represents a collaborative effort of Metro\\u2019s Office of the CEO, Office of Board Administration, and Research & Records, Information Management, to ensure Board activity is transparent and easily accessible for the public.

The site was built by DataMade, a civic technology company. They build open source technology using open data to empower journalists, researchers, governments and advocacy organizations.

\", \"id\": \"faef24a9-ef94-4206-8913-37e1330061ea\"}], \"anchor\": \"credits\"}, \"id\": \"4d81311a-e4a8-47a7-85fa-e3c984389e42\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Contact us\", \"content\": [{\"type\": \"text\", \"value\": \"

For questions about or comments for the Metro Board, please contact boardclerk@metro.net. Written public comment can be mailed to:

Office of Board Administration
1 Gateway Plaza, Mail Stop 99-3-1
Los Angeles, CA 90012

If you are commenting on a specific item, please include the item number and your position on it - for, against, general comment, or item needs more consideration - in your message. Written public comment (via mail or email) must be received by 5pm the evening prior to the meeting where the item will be considered.

For questions about this website or Board records, please email boardreport@metro.net.

\", \"id\": \"c376852b-d5e6-43d6-9fca-e6fe682ab51f\"}], \"anchor\": \"contact\"}, \"id\": \"7feeebc5-aad8-4175-bd4e-81027284f76b\"}]", + "live": true, + "path": "000100010001", + "slug": "about-us", + "depth": 3, + "owner": 1, + "title": "About us", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 0, + "url_path": "/home/about-us/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "About us", + "content_type": 99, + "live_revision": 5, + "show_in_menus": false, + "latest_revision": 6, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "last_published_at": "2024-11-20T16:21:05.210Z", + "first_published_at": "2024-11-20T16:14:42.213Z", + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": true, + "latest_revision_created_at": "2024-11-20T17:40:53.326Z" + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 8, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "submitted_for_moderation": false, + "created_at": "2024-11-20T18:43:59.823Z", + "user": [ + "hannah" + ], + "object_str": "About us", + "content": { + "pk": 3, + "body": "[{\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\", \"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\"}], \"anchor\": \"\"}, \"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\"}, {\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"navigation\", \"value\": null, \"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\"}], \"anchor\": \"\"}, \"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\"}, {\"type\": \"section\", \"value\": {\"heading\": \"What is the Metro Board of Directors, and how does it work?\", \"content\": [{\"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

\", \"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\"}], \"anchor\": \"about-la-metro\"}, \"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Room Rules and Procedures\", \"content\": [{\"type\": \"text\", \"value\": \"

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\", \"id\": \"be011f8d-c089-4b2e-9ba4-e82476944f89\"}], \"anchor\": \"procedures\"}, \"id\": \"30d5c8c4-29b8-4dcd-8ca3-ce4d7c3a6957\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Types of Board Reports\", \"content\": [{\"type\": \"responsive_element\", \"value\": {\"breakpoints\": {\"sm\": 1, \"md\": 2, \"lg\": 4}, \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}]}, \"id\": \"db5ecbfe-bb13-48f8-b814-d29cdf48ba18\"}]}, \"id\": \"8c4c61e5-2313-4f7c-96ee-ebad34958766\"}], \"anchor\": \"\"}, \"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Report Statuses\", \"content\": [{\"type\": \"text\", \"value\": \"

Each Metro board report has one of 22 posible statuses:

\", \"id\": \"52c0a408-c3a2-4ca6-aca7-7b855322c399\"}, {\"type\": \"responsive_element\", \"value\": {\"breakpoints\": {\"sm\": 2, \"md\": 2, \"lg\": 4}, \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Status\"}, {\"type\": \"rich_text\", \"heading\": \"Displayed Status\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Adopted

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}, {\"values\": [\"

Adopted As Amended

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}]}, \"id\": \"20ff5c56-3d82-49fd-8c3f-77aaefce1212\"}]}, \"id\": \"8f171ff2-5370-4f49-88b0-51463d6b68f0\"}], \"anchor\": \"\"}, \"id\": \"df0eabeb-b23a-4747-8d95-9057204a910b\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Visit Metro Headquarters Building\", \"content\": [{\"type\": \"text\", \"value\": \"

One Gateway Plaza
Los Angeles, CA 90012-2952

Metro Headquarters is located on the corner of Cesar E. Chavez Ave. and Vignes St.

Get directions to Metro Headquarters.

\", \"id\": \"780fe99f-4159-44f3-9ac7-99f89f585700\"}], \"anchor\": \"visit\"}, \"id\": \"8655a141-976d-46ac-940c-b132f64d7381\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Data\", \"content\": [{\"type\": \"text\", \"value\": \"

The data for this website comes from the Metro board reports site, a system built by Granicus using their Legistar Legislative Management Suite.

With the help of the Legistar Web API, we collect data daily and store it using the Open Civic Data standard and platform. Open Civic Data standardizes information about people, organizations, events and bills at any level of government: it was built in collaboration with The Sunlight Foundation, Google, Granicus, and Open North.

\", \"id\": \"afdae4a4-3865-4a7e-b2aa-abb766d93c7d\"}], \"anchor\": \"data\"}, \"id\": \"e8e5d832-9607-405e-921d-bcdcb18ee160\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Credits\", \"content\": [{\"type\": \"text\", \"value\": \"

This site represents a collaborative effort of Metro\\u2019s Office of the CEO, Office of Board Administration, and Research & Records, Information Management, to ensure Board activity is transparent and easily accessible for the public.

The site was built by DataMade, a civic technology company. They build open source technology using open data to empower journalists, researchers, governments and advocacy organizations.

\", \"id\": \"faef24a9-ef94-4206-8913-37e1330061ea\"}], \"anchor\": \"credits\"}, \"id\": \"4d81311a-e4a8-47a7-85fa-e3c984389e42\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Contact us\", \"content\": [{\"type\": \"text\", \"value\": \"

For questions about or comments for the Metro Board, please contact boardclerk@metro.net. Written public comment can be mailed to:

Office of Board Administration
1 Gateway Plaza, Mail Stop 99-3-1
Los Angeles, CA 90012

If you are commenting on a specific item, please include the item number and your position on it - for, against, general comment, or item needs more consideration - in your message. Written public comment (via mail or email) must be received by 5pm the evening prior to the meeting where the item will be considered.

For questions about this website or Board records, please email boardreport@metro.net.

\", \"id\": \"c376852b-d5e6-43d6-9fca-e6fe682ab51f\"}], \"anchor\": \"contact\"}, \"id\": \"7feeebc5-aad8-4175-bd4e-81027284f76b\"}]", + "live": true, + "path": "000100010001", + "slug": "about-us", + "depth": 3, + "owner": 1, + "title": "About us", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 0, + "url_path": "/home/about-us/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "About us", + "content_type": 99, + "live_revision": 5, + "show_in_menus": false, + "latest_revision": 7, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "last_published_at": "2024-11-20T16:21:05.210Z", + "first_published_at": "2024-11-20T16:14:42.213Z", + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": true, + "latest_revision_created_at": "2024-11-20T17:56:26.816Z" + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 9, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "3", + "submitted_for_moderation": false, + "created_at": "2024-11-21T14:10:05.780Z", + "user": [ + "hannah" + ], + "object_str": "About us", + "content": { + "pk": 3, + "body": "[{\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"text\", \"value\": \"

This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs.

With this site, you can:

  • Stay up-to-date with your local representatives
  • See the schedule of public events
  • Track and comment on issues you care about
\", \"id\": \"cccde923-3381-4213-82ef-e50e21f123f6\"}], \"anchor\": \"\"}, \"id\": \"fffd0bb0-3c05-4553-aad3-849517d38c1c\"}, {\"type\": \"section\", \"value\": {\"heading\": \"\", \"content\": [{\"type\": \"navigation\", \"value\": null, \"id\": \"fcf5d8a4-6e06-4e7e-b3dd-82eac2e292e0\"}], \"anchor\": \"\"}, \"id\": \"fed3bfcd-3067-423e-ba8d-e62517e68e1a\"}, {\"type\": \"section\", \"value\": {\"heading\": \"What is the Metro Board of Directors, and how does it work?\", \"content\": [{\"type\": \"text\", \"value\": \"

The Los Angeles County Metropolitan Transportation Authority (Metro) was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, ASI, and its regional commuter rail service provider, Metrolink.

Board of Directors

The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, contracts, policies and programs, and make decisions about what to adopt, fund and build.

Board Member Appointments

City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor\\u2019s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee.

The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector:

  • North County/San Fernando Valley
  • San Gabriel Valley
  • Southeast/Long Beach
  • Southwest Corridor

Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, whereby each city within the Committee may cast one \\u201cyea\\u201d or \\u201cnay\\u201d vote for every 10,000 residents.

Full documentation of this process can be found in the Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority .

Board Chair

Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair\\u2019s term rotates annually between the Mayor of Los Angeles, a member of the Los Angeles County Board of Supervisors, and one of the City Selection Committee Members.

Board Committees

Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here.

Board Meetings

Learn more about Metro Board of Directors meetings, and view meetings and agendas here.

\", \"id\": \"7d711eb3-f937-4900-8e48-164de929ca99\"}], \"anchor\": \"about-la-metro\"}, \"id\": \"6861258a-da02-48ed-a21c-c8283ac588df\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Room Rules and Procedures\", \"content\": [{\"type\": \"text\", \"value\": \"

Metro Board follows specific procedures to hold meetings and organize its members.

Read about all Metro Rules & Procedures.

  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • General public comment is only to be used for topics within the Board\\u2019s jurisdiction and items not listed on the agenda.
  • Public comment on agenda items will be taken as each item is considered.
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • You will be allowed one minute to speak.
  • If you are unable to stand, a handheld microphone is available at the podium.
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.

Code of Conduct

\", \"id\": \"be011f8d-c089-4b2e-9ba4-e82476944f89\"}], \"anchor\": \"procedures\"}, \"id\": \"30d5c8c4-29b8-4dcd-8ca3-ce4d7c3a6957\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Types of Board Reports\", \"content\": [{\"type\": \"responsive_element\", \"value\": {\"breakpoints\": {\"sm\": 1, \"md\": 2, \"lg\": 4}, \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Type\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Agreement

\", \"

A negotiated arrangement between parties.

\"]}]}, \"id\": \"db5ecbfe-bb13-48f8-b814-d29cdf48ba18\"}]}, \"id\": \"8c4c61e5-2313-4f7c-96ee-ebad34958766\"}], \"anchor\": \"\"}, \"id\": \"ff0bd369-1329-4fce-a5ab-40ae385c31d7\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Board Report Statuses\", \"content\": [{\"type\": \"text\", \"value\": \"

Each Metro board report has one of 22 posible statuses:

\", \"id\": \"52c0a408-c3a2-4ca6-aca7-7b855322c399\"}, {\"type\": \"responsive_element\", \"value\": {\"breakpoints\": {\"sm\": 2, \"md\": 2, \"lg\": 4}, \"content\": [{\"type\": \"table\", \"value\": {\"columns\": [{\"type\": \"rich_text\", \"heading\": \"Status\"}, {\"type\": \"rich_text\", \"heading\": \"Displayed Status\"}, {\"type\": \"rich_text\", \"heading\": \"Description\"}], \"rows\": [{\"values\": [\"

Adopted

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}, {\"values\": [\"

Adopted As Amended

\", \"

Adopted

\", \"

Item was adopted by a majority vote of the Board.

\"]}]}, \"id\": \"20ff5c56-3d82-49fd-8c3f-77aaefce1212\"}]}, \"id\": \"8f171ff2-5370-4f49-88b0-51463d6b68f0\"}], \"anchor\": \"\"}, \"id\": \"df0eabeb-b23a-4747-8d95-9057204a910b\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Visit Metro Headquarters Building\", \"content\": [{\"type\": \"text\", \"value\": \"

One Gateway Plaza
Los Angeles, CA 90012-2952

Metro Headquarters is located on the corner of Cesar E. Chavez Ave. and Vignes St.

Get directions to Metro Headquarters.

\", \"id\": \"780fe99f-4159-44f3-9ac7-99f89f585700\"}], \"anchor\": \"visit\"}, \"id\": \"8655a141-976d-46ac-940c-b132f64d7381\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Data\", \"content\": [{\"type\": \"text\", \"value\": \"

The data for this website comes from the Metro board reports site, a system built by Granicus using their Legistar Legislative Management Suite.

With the help of the Legistar Web API, we collect data daily and store it using the Open Civic Data standard and platform. Open Civic Data standardizes information about people, organizations, events and bills at any level of government: it was built in collaboration with The Sunlight Foundation, Google, Granicus, and Open North.

\", \"id\": \"afdae4a4-3865-4a7e-b2aa-abb766d93c7d\"}], \"anchor\": \"data\"}, \"id\": \"e8e5d832-9607-405e-921d-bcdcb18ee160\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Credits\", \"content\": [{\"type\": \"text\", \"value\": \"

This site represents a collaborative effort of Metro\\u2019s Office of the CEO, Office of Board Administration, and Research & Records, Information Management, to ensure Board activity is transparent and easily accessible for the public.

The site was built by DataMade, a civic technology company. They build open source technology using open data to empower journalists, researchers, governments and advocacy organizations.

\", \"id\": \"faef24a9-ef94-4206-8913-37e1330061ea\"}], \"anchor\": \"credits\"}, \"id\": \"4d81311a-e4a8-47a7-85fa-e3c984389e42\"}, {\"type\": \"section\", \"value\": {\"heading\": \"Contact us\", \"content\": [{\"type\": \"text\", \"value\": \"

For questions about or comments for the Metro Board, please contact boardclerk@metro.net. Written public comment can be mailed to:

Office of Board Administration
1 Gateway Plaza, Mail Stop 99-3-1
Los Angeles, CA 90012

If you are commenting on a specific item, please include the item number and your position on it - for, against, general comment, or item needs more consideration - in your message. Written public comment (via mail or email) must be received by 5pm the evening prior to the meeting where the item will be considered.

For questions about this website or Board records, please email boardreport@metro.net.

\", \"id\": \"c376852b-d5e6-43d6-9fca-e6fe682ab51f\"}], \"anchor\": \"contact\"}, \"id\": \"7feeebc5-aad8-4175-bd4e-81027284f76b\"}]", + "live": true, + "path": "000100010001", + "slug": "about", + "depth": 3, + "owner": 1, + "title": "About us", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 0, + "url_path": "/home/about-us/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "About us", + "content_type": 99, + "live_revision": 5, + "show_in_menus": false, + "latest_revision": 8, + "translation_key": "cd676e32-0e4a-4e60-aa61-17e11ed9e8de", + "last_published_at": "2024-11-20T16:21:05.210Z", + "first_published_at": "2024-11-20T16:14:42.213Z", + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": true, + "latest_revision_created_at": "2024-11-20T18:43:59.823Z" + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.revision", + "pk": 10, + "fields": { + "content_type": [ + "wagtailcore", + "page" + ], + "base_content_type": [ + "wagtailcore", + "page" + ], + "object_id": "2", + "submitted_for_moderation": false, + "created_at": "2024-11-21T14:49:22.714Z", + "user": [ + "hannah" + ], + "object_str": "LA Metro Board Agendas", + "content": { + "pk": 2, + "live": true, + "path": "00010001", + "slug": "home", + "depth": 2, + "owner": null, + "title": "LA Metro Board Agendas", + "locale": 1, + "locked": false, + "expired": false, + "alias_of": null, + "numchild": 1, + "url_path": "/home/", + "expire_at": null, + "locked_at": null, + "locked_by": null, + "seo_title": "", + "go_live_at": null, + "draft_title": "LA Metro Board Agendas", + "content_type": 1, + "live_revision": null, + "show_in_menus": false, + "latest_revision": null, + "translation_key": "3163da97-7779-470f-8f98-cc72d0d86064", + "last_published_at": null, + "first_published_at": null, + "search_description": "", + "wagtail_admin_comments": [], + "has_unpublished_changes": false, + "latest_revision_created_at": null + }, + "approved_go_live_at": null + } +}, +{ + "model": "wagtailcore.workflowpage", + "pk": 1, + "fields": { + "workflow": 1 + } +}, +{ + "model": "wagtailcore.workflowtask", + "pk": 1, + "fields": { + "sort_order": 0, + "workflow": 1, + "task": 1 + } +}, +{ + "model": "wagtailcore.task", + "pk": 1, + "fields": { + "name": "Moderators approval", + "content_type": [ + "wagtailcore", + "groupapprovaltask" + ], + "active": true + } +}, +{ + "model": "wagtailcore.workflow", + "pk": 1, + "fields": { + "name": "Moderators approval", + "active": true + } +}, +{ + "model": "wagtailcore.groupapprovaltask", + "pk": 1, + "fields": { + "groups": [ + [ + "Moderators" + ] + ] + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 1, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.create", + "data": {}, + "timestamp": "2024-11-20T16:14:38.029Z", + "uuid": "3f73e34e-a895-4f02-bfc7-2682a7e40ae4", + "user": [ + "hannah" + ], + "revision": null, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 2, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-20T16:14:38.064Z", + "uuid": "3f73e34e-a895-4f02-bfc7-2682a7e40ae4", + "user": [ + "hannah" + ], + "revision": 1, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 3, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-20T16:14:42.204Z", + "uuid": "b4a935fd-ec5e-4fa9-accb-46cd6f8e3815", + "user": [ + "hannah" + ], + "revision": 2, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 4, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.publish", + "data": {}, + "timestamp": "2024-11-20T16:14:42.238Z", + "uuid": "b4a935fd-ec5e-4fa9-accb-46cd6f8e3815", + "user": [ + "hannah" + ], + "revision": 2, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 5, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-20T16:17:55.836Z", + "uuid": "b09ca03c-3b5a-462f-81c0-ad0a84acfb2a", + "user": [ + "hannah" + ], + "revision": 3, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 6, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-20T16:21:02.200Z", + "uuid": "a416ceff-6304-4f72-8177-04776e76817b", + "user": [ + "hannah" + ], + "revision": 4, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 7, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-20T16:21:05.197Z", + "uuid": "49c25941-a13c-4ab0-8430-751dbccc984c", + "user": [ + "hannah" + ], + "revision": 5, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 8, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.publish", + "data": {}, + "timestamp": "2024-11-20T16:21:05.243Z", + "uuid": "49c25941-a13c-4ab0-8430-751dbccc984c", + "user": [ + "hannah" + ], + "revision": 5, + "content_changed": false, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 9, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-20T17:40:53.372Z", + "uuid": "ad31aad2-c86e-457d-bfb5-12e7ced9174d", + "user": [ + "hannah" + ], + "revision": 6, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 10, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-20T17:56:26.856Z", + "uuid": "cc6bdf51-6f0a-447f-8de1-e611accdaaa9", + "user": [ + "hannah" + ], + "revision": 7, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 11, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-20T18:43:59.866Z", + "uuid": "035639c0-4d2f-4160-a466-98e01d2803e8", + "user": [ + "hannah" + ], + "revision": 8, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 12, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-21T14:10:05.814Z", + "uuid": "739984d0-978a-4c3f-91d0-5159fe0be870", + "user": [ + "hannah" + ], + "revision": 9, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 13, + "fields": { + "content_type": [ + "lametro", + "aboutpage" + ], + "label": "About us", + "action": "wagtail.publish", + "data": {}, + "timestamp": "2024-11-21T14:10:05.868Z", + "uuid": "739984d0-978a-4c3f-91d0-5159fe0be870", + "user": [ + "hannah" + ], + "revision": 9, + "content_changed": true, + "deleted": false, + "page": 3 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 14, + "fields": { + "content_type": [ + "wagtailcore", + "page" + ], + "label": "LA Metro Board Agendas", + "action": "wagtail.edit", + "data": {}, + "timestamp": "2024-11-21T14:49:22.754Z", + "uuid": "9359ac7a-3017-4f27-95b4-72f80dc02ce3", + "user": [ + "hannah" + ], + "revision": 10, + "content_changed": true, + "deleted": false, + "page": 2 + } +}, +{ + "model": "wagtailcore.pagelogentry", + "pk": 15, + "fields": { + "content_type": [ + "wagtailcore", + "page" + ], + "label": "LA Metro Board Agendas", + "action": "wagtail.publish", + "data": {}, + "timestamp": "2024-11-21T14:49:22.781Z", + "uuid": "9359ac7a-3017-4f27-95b4-72f80dc02ce3", + "user": [ + "hannah" + ], + "revision": 10, + "content_changed": true, + "deleted": false, + "page": 2 + } +}, +{ + "model": "wagtailcore.pagesubscription", + "pk": 1, + "fields": { + "user": [ + "hannah" + ], + "page": 3, + "comment_notifications": true + } +}, +{ + "model": "wagtailcore.pagesubscription", + "pk": 2, + "fields": { + "user": [ + "hannah" + ], + "page": 2, + "comment_notifications": false + } +}, +{ + "model": "wagtailredirects.redirect", + "pk": 1, + "fields": { + "old_path": "/about-us", + "site": [ + "localhost", + 80 + ], + "is_permanent": true, + "redirect_page": 3, + "redirect_page_route_path": "", + "redirect_link": "", + "automatically_created": true, + "created_at": "2024-11-21T14:10:05.859Z" + } +} +] diff --git a/lametro/fixtures/initial_images/images/datamade_logo_sm.max-165x165.png b/lametro/fixtures/initial_images/images/datamade_logo_sm.max-165x165.png new file mode 100644 index 0000000000000000000000000000000000000000..c4eb166f357795f811e76ae558a6a7c891c55acd GIT binary patch literal 10203 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 VVL@@#@Hqeg002ovPDHLkV1oRXjXwYY literal 0 HcmV?d00001 diff --git a/lametro/fixtures/initial_images/images/datamade_logo_sm.max-800x600.png b/lametro/fixtures/initial_images/images/datamade_logo_sm.max-800x600.png new file mode 100644 index 0000000000000000000000000000000000000000..b2d6b07a722ed8d77fef595fd6f1de715c4e2af6 GIT binary patch literal 10828 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 P00000NkvXXu0mjflNp_{ literal 0 HcmV?d00001 diff --git a/lametro/fixtures/initial_images/original_images/datamade_logo_sm_fDWMRNo.png b/lametro/fixtures/initial_images/original_images/datamade_logo_sm_fDWMRNo.png new file mode 100644 index 0000000000000000000000000000000000000000..fa3b98f3bb6188d8853ab90064c4a1e7abf9748e GIT binary patch literal 11601 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 P00000NkvXXu0mjflNp_{ literal 0 HcmV?d00001 diff --git a/lametro/management/commands/dump_content.py b/lametro/management/commands/dump_content.py new file mode 100644 index 000000000..9c32b1ac1 --- /dev/null +++ b/lametro/management/commands/dump_content.py @@ -0,0 +1,50 @@ +from pathlib import Path +import subprocess + +from django.apps import apps +from django.core.management.base import BaseCommand +from django.core.management import call_command + + +class Command(BaseCommand): + """ + Dump core Wagtail content and any custom pages and/or Django models + where the include_in_dump attribute is True. Also copy images uploaded + locally to the fixtures directory, so that they can be loaded to default + storage (usually S3) during deployment. + """ + + def handle(self, **options): + app_models = apps.get_app_config("lametro").get_models() + + excluded_app_models = [ + f"lametro.{m.__name__}" + for m in app_models + if not getattr(m, "include_in_dump", False) + ] + + call_command( + "dumpdata", + natural_foreign=True, + indent=4, + output=Path("lametro/fixtures/cms_content.json"), + exclude=[ + "contenttypes", + "auth.permission", + "wagtailcore.groupcollectionpermission", + "wagtailcore.grouppagepermission", + "wagtailsearch.indexentry", + "sessions", + ] + + excluded_app_models, + ) + + subprocess.run( + [ + "cp", + "-R", + "media/.", + "lametro/fixtures/initial_images/", + ], + check=True, + ) diff --git a/lametro/management/commands/load_content.py b/lametro/management/commands/load_content.py new file mode 100644 index 000000000..aba59f94f --- /dev/null +++ b/lametro/management/commands/load_content.py @@ -0,0 +1,107 @@ +import os +from pathlib import Path +import json + +from django.apps import apps +from django.core.files.storage import default_storage +from django.core.management import call_command +from django.core.management.base import BaseCommand +from django.core.exceptions import ObjectDoesNotExist +from django.db import transaction + +from wagtail.images.models import Image +from wagtail.models import Site, Page, Revision + + +class Command(BaseCommand): + @property + def fixtures_dir(self): + return Path("lametro/fixtures/") + + def add_arguments(self, parser): + parser.add_argument( + "--content-type", + default="content,images", + type=lambda x: x.split(","), + help="Comma-separated string of content types to load. Default: \ + content,images. Options: content, images.", + ) + parser.add_argument( + "--content-fixture", + default="cms_content.json", + help="Name of content fixture to load. Default: cms_content.json", + ) + + @transaction.atomic + def handle(self, **options): + selected_content = set(options["content_type"]) + valid_content = set(["content", "images"]) + + if not selected_content.issubset(valid_content): + invalid_values = selected_content - valid_content + raise ValueError( + "Invalid content types: {}. Valid options are: \ + content, images".format( + invalid_values + ) + ) + + for content in options["content_type"]: + getattr(self, "load_{}".format(content))(options) + + def load_content(self, options): + cms_content = self.fixtures_dir / options["content_fixture"] + + if not cms_content.exists(): + raise ValueError(f"No fixture file located at {cms_content}") + + with open(cms_content) as f: + initial_data = json.load(f) + + if initial_data: + # Delete existing content + try: + Site.objects.all().delete() + Page.objects.all().delete() + Revision.objects.all().delete() + Image.objects.all().delete() + + for Model in apps.get_app_config("lametro").get_models(): + if getattr(Model, "include_in_dump", False): + Model.objects.all().delete() + + except ObjectDoesNotExist as e: + self.stdout.write(self.style.WARNING(e)) + + call_command("loaddata", cms_content) + + self.stdout.write(self.style.SUCCESS("Initial data loaded!")) + else: + self.stdout.write(self.style.NOTICE("No initial data!")) + + def load_images(self, options): + initial_images_dir = self.fixtures_dir / "initial_images" + + for root, dirs, files in os.walk(initial_images_dir): + for filename in files: + source_path = os.path.join(root, filename) + dest_path = os.path.relpath(source_path, initial_images_dir) + + if default_storage.exists(dest_path): + self.stdout.write( + self.style.WARNING( + "{} aleady exists. Skipping...".format(dest_path) + ) + ) + continue + + else: + with open(source_path, "rb") as img: + default_storage.save(dest_path, img) + self.stdout.write( + self.style.SUCCESS( + "Copied {} to default storage".format(dest_path) + ) + ) + + self.stdout.write(self.style.SUCCESS("Initial images loaded!")) diff --git a/lametro/migrations/0015_aboutpage.py b/lametro/migrations/0015_aboutpage.py new file mode 100644 index 000000000..cfa291dc3 --- /dev/null +++ b/lametro/migrations/0015_aboutpage.py @@ -0,0 +1,96 @@ +# Generated by Django 3.2.25 on 2024-11-19 22:28 + +from django.db import migrations, models +import django.db.models.deletion +import lametro.blocks +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.fields +import wagtail.images.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ("wagtailcore", "0089_log_entry_data_json_null_to_object"), + ("lametro", "0014_eventbroadcast_is_manually_live"), + ] + + operations = [ + migrations.CreateModel( + name="AboutPage", + fields=[ + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ( + "body", + wagtail.fields.StreamField( + [ + ( + "section", + wagtail.blocks.StructBlock( + [ + ( + "heading", + wagtail.blocks.CharBlock(required=False), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock(), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock(), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(), + ) + ] + ), + ), + ( + "navigation", + lametro.blocks.NavigationBlock(), + ), + ] + ), + ), + ( + "anchor", + wagtail.blocks.CharBlock( + help_text="Add anchor to enable direct links to this section", + required=False, + ), + ), + ] + ), + ) + ], + use_json_field=True, + ), + ), + ], + options={ + "abstract": False, + }, + bases=("wagtailcore.page",), + ), + ] diff --git a/lametro/migrations/0016_alter_aboutpage_body.py b/lametro/migrations/0016_alter_aboutpage_body.py new file mode 100644 index 000000000..09b9dfe65 --- /dev/null +++ b/lametro/migrations/0016_alter_aboutpage_body.py @@ -0,0 +1,122 @@ +# Generated by Django 3.2.25 on 2024-11-21 19:18 + +from django.db import migrations +import lametro.blocks +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.fields +import wagtail.images.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ("lametro", "0015_aboutpage"), + ] + + operations = [ + migrations.AlterField( + model_name="aboutpage", + name="body", + field=wagtail.fields.StreamField( + [ + ( + "section", + wagtail.blocks.StructBlock( + [ + ("heading", wagtail.blocks.CharBlock(required=False)), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ("text", wagtail.blocks.RichTextBlock()), + ( + "image", + wagtail.images.blocks.ImageChooserBlock(), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(), + ) + ] + ), + ), + ( + "navigation", + lametro.blocks.NavigationBlock(), + ), + ( + "responsive_element", + wagtail.blocks.StructBlock( + [ + ( + "breakpoints", + wagtail.blocks.StructBlock( + [ + ( + "sm", + wagtail.blocks.IntegerBlock( + default=1, + help_text="Mobile phone", + ), + ), + ( + "md", + wagtail.blocks.IntegerBlock( + default=2, + help_text="Tablet", + ), + ), + ( + "lg", + wagtail.blocks.IntegerBlock( + default=4, + help_text="Desktop", + ), + ), + ] + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(), + ) + ] + ), + ) + ] + ), + ), + ] + ), + ), + ] + ), + ), + ( + "anchor", + wagtail.blocks.CharBlock( + help_text="Add anchor to enable direct links to this section", + required=False, + ), + ), + ] + ), + ) + ], + use_json_field=True, + ), + ), + ] diff --git a/lametro/models/__init__.py b/lametro/models/__init__.py new file mode 100644 index 000000000..0ac20b349 --- /dev/null +++ b/lametro/models/__init__.py @@ -0,0 +1,2 @@ +from .legislative import * # noqa +from .cms import * # noqa diff --git a/lametro/models/cms.py b/lametro/models/cms.py new file mode 100644 index 000000000..dc2baab74 --- /dev/null +++ b/lametro/models/cms.py @@ -0,0 +1,20 @@ +from wagtail.models import Page +from wagtail.fields import StreamField +from wagtail.admin.panels import FieldPanel + +from lametro.blocks import ArticleBlock + + +class AboutPage(Page): + include_in_dump = True + + body = StreamField( + [ + ("section", ArticleBlock()), + ], + use_json_field=True, + ) + + content_panels = Page.content_panels + [ + FieldPanel("body"), + ] diff --git a/lametro/models.py b/lametro/models/legislative.py similarity index 100% rename from lametro/models.py rename to lametro/models/legislative.py diff --git a/lametro/templates/about/_board_report_statuses.html b/lametro/templates/about/_board_report_statuses.html deleted file mode 100644 index 657d792d9..000000000 --- a/lametro/templates/about/_board_report_statuses.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - {% for status, obj in BILL_STATUS_DESCRIPTIONS.items %} - - - - - - - - {% endfor %} - -
Each Metro board report has one of 22 posible statuses:
StatusDisplayed StatusDescription
-

- {{status | title}} -

-

- {{status | title}} -

-

- {{obj.definition}} -

-
-

- {% if obj.search_term %} - {{obj.search_term}} - {% else %} -

N/A

- {% endif %} -

-
-

- {{obj.definition}} -

-
diff --git a/lametro/templates/about/_component_bill_type_table.html b/lametro/templates/about/_component_bill_type_table.html deleted file mode 100644 index 39a06f5dd..000000000 --- a/lametro/templates/about/_component_bill_type_table.html +++ /dev/null @@ -1,43 +0,0 @@ -{% load lametro_extras %} - - - - - - - - - - - {% for leg_type in LEGISLATION_TYPE_DESCRIPTIONS %} - - - - - - {% endfor %} - -
TypeDescription
-

- - {% if leg_type.name == 'Board Box / Board Correspondence' %} - {{leg_type.name}} - {% else %} - {{leg_type.name}} - {% endif %} -

- -
- {% if leg_type.html_desc %} -

{{leg_type.desc|safe}}

- {% else %} -

{{leg_type.desc}}

- {% endif %} -
-
- {% if leg_type.html_desc %} -

{{leg_type.desc|safe}}

- {% else %} -

{{leg_type.desc}}

- {% endif %} -
diff --git a/lametro/templates/about/about.html b/lametro/templates/about/about.html deleted file mode 100644 index 6ba0f5e24..000000000 --- a/lametro/templates/about/about.html +++ /dev/null @@ -1,265 +0,0 @@ -{% extends "base_with_margins.html" %} -{% load adv_cache static %} -{% block title %}About Us{% endblock %} -{% block content %} - -{% cache 600 about_wrapper 'about' %} -
- -
-
-

About us

-

- This site offers tools for understanding and tracking the activity of the Board Members of the Los Angeles County Metropolitan Transportation Authority. - It connects Los Angeles County residents to Metro policy makers, for greater online public dialogue about issues related to transit services and programs. -

- -

- With this site, you can: -

- -
    -
  • Stay up-to-date with your local representatives
  • -
  • See the schedule of public events
  • -
  • Track and comment on issues you care about
  • -
-
- - -
- -
-
-
-

What is the Metro Board of Directors, and how does it work?

-

- The Los Angeles County Metropolitan Transportation Authority (Metro) - was created by the State of California to set policy, coordinate, plan, fund, build, and operate transit services and transportation programs throughout Los Angeles County. - Metro supports the transportation improvement programs of the 88 cities and 16 municipal transit operators within Los Angeles County, as well as LA's paratransit provider, - ASI, and its regional commuter rail service provider, Metrolink. -

-
- -
-

Board of Directors

-

- The Board of Directors is comprised of representatives from the City of Los Angeles, the County of Los Angeles, - the other incorporated cities and unincorporated areas in Los Angeles County, and a non-voting member representing the Governor. The full Board typically meets once a month to review budgets, - contracts, policies and programs, and make decisions about what to adopt, fund and build. -

-
- -
-

Board Member Appointments

-

- City of Los Angeles representatives include the Mayor of Los Angeles and the Mayor’s three appointees. Los Angeles County representatives include the Los Angeles County Board of Supervisors - representative of each of the five county districts. Representatives from the other incorporated cities and unincorporated areas in Los Angeles County are appointed by the City Selection Committee. -

-

- The Los Angeles County City Selection Committee is a group comprised of the mayor of each city within Los Angeles County, excluding the City of Los Angeles. Within the Committee, - there are four Subcommittees, one for each Sector of the county, comprised of the mayor of each city within each Sector: -

-
    -
  • North County/San Fernando Valley
  • -
  • San Gabriel Valley
  • -
  • Southeast/Long Beach
  • -
  • Southwest Corridor
  • -
-

- Each Sector Subcommittee nominates one mayor or council member from the Sector to serve on the Metro Board (unless a motion to nominate multiple candidates is made, - seconded and passed by a majority weighted vote). Nominees are approved and appointed to the Metro Board by the entire City Selection Committee, - whereby each city within the Committee may cast one “yea” or “nay” vote for every 10,000 residents. -

-

- Full documentation of this process can be found in the - - Los Angeles County City Selection Committee Rules and Regulations for Appointments to Los Angeles County Metropolitan Transportation Authority - . -

-
- -
-

Board Chair

-

- Each Metro Board Chair serves a one year term, from July 1st to June 30th. The Chair’s term rotates annually between the Mayor of Los Angeles, a member of the Los - Angeles County Board of Supervisors, and one of the City Selection Committee Members. -

-
- -
-

Board Committees

-

- Per the Administrative Ordinance, the Board of Directors has 5 standing committees. The Chair of the Board of Directors may designate other standing and ad hoc committees subject to concurrence of the Board of Directors. Learn more here. -

-
- -
-

Board Meetings

-

- Learn more about Metro Board of Directors meetings, and view meetings and agendas here. -

-
-
-
- -
-
-

Board Room Rules and Procedures

-

Metro Board follows specific procedures to hold meetings and organize its members.

-

- - Read about all Metro Rules & Procedures. - -

- -
    -
  • If you wish to address the Board, please sign up for public comment on the tablets available in the lobby before 9:45 a.m.
  • - -
  • General public comment is only to be used for topics within the Board’s jurisdiction and items not listed on the agenda.
  • - -
  • Public comment on agenda items will be taken as each item is considered.
  • - -
  • In accordance with the Ralph M. Brown Act, public comment will not be taken on items previously considered at a committee meeting where the public was given the opportunity to comment.
  • - -
  • Disorderly behavior or inappropriate comments at the podium may be cause for exclusion from further public comment for the day or removal from the Board room.
  • - -
  • You will be allowed one minute to speak.
  • - -
  • If you are unable to stand, a handheld microphone is available at the podium.
  • - -
  • Translation headsets are also available at the podium (Spanish 12, Korean 13).
  • - -
  • If you wish to address the Board, please submit a public comment request through one of the digital kiosks in the lobby.
  • -
- - - Code of Conduct - -
- -
-

Types of Board Reports

- {% include 'about/_component_bill_type_table.html' %} -
- -
-

Board Report Statuses

-

Each Metro board report has one of 22 posible statuses:

- - {% include 'about/_board_report_statuses.html' %} -
-
- -
-
-

Visit Metro Headquarters Building

-
- One Gateway Plaza
- Los Angeles, CA 90012-2952 -
-

Metro Headquarters is located on the corner of Cesar E. Chavez Ave. and Vignes St.

-

- - Get directions to Metro Headquarters. - -

-
-
- -
-
-

Data

-

- The data for this website comes from the - {{ CITY_COUNCIL_NAME }} board reports site, - a system built by - Granicus - using their - Legistar Legislative Management Suite. -

- -

- With the help of the - Legistar Web API, - we collect data daily and store it using the - Open Civic Data - standard and platform. Open Civic Data standardizes information about people, organizations, events and bills at any level of government: it was built in collaboration with - The Sunlight Foundation, - Google, - Granicus, - and Open North. -

- -
-
- -
-
-

Credits

- -

This site represents a collaborative effort of Metro’s Office of the CEO, Office of Board Administration, and Research & Records, Information Management, to ensure Board activity is transparent and easily accessible for the public.

- -

- The site was built by DataMade, - a civic technology company. They build open source technology using open data to empower journalists, researchers, governments and advocacy organizations. -

- -

DataMade Home - link opens in a new tab

- -
- -
- -
-
-

Contact us

- -

- For questions about or comments for the Metro Board, please contact boardclerk@metro.net. Written public comment can be mailed to: -

-
- Office of Board Administration
- 1 Gateway Plaza, Mail Stop 99-3-1
- Los Angeles, CA 90012 -
-

- If you are commenting on a specific item, please include the item number and your position on it - for, against, general comment, or item needs more consideration - in your message. - Written public comment (via mail or email) must be received by 5pm the evening prior to the meeting where the item will be considered. -

-

For questions about this website or Board records, please email boardreport@metro.net.

-
-
- -
-{% endcache %} - -{% endblock %} diff --git a/lametro/templates/base.html b/lametro/templates/base.html index ecee6732c..682765d29 100644 --- a/lametro/templates/base.html +++ b/lametro/templates/base.html @@ -1,4 +1,4 @@ -{% load adv_cache extras lametro_extras markdownify static %} +{% load adv_cache extras lametro_extras markdownify static wagtailcore_tags %} @@ -51,7 +51,7 @@
  • Board of Directors
  • Committees
  • Contact Us
  • -
  • About Us
  • +
  • About Us