diff --git a/Gemfile.lock b/Gemfile.lock index 73f1a50d8d..573b28b2b6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -13,23 +13,24 @@ GEM em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) - ethon (0.12.0) - ffi (>= 1.3.0) + ethon (0.16.0) + ffi (>= 1.15.0) eventmachine (1.2.7) execjs (2.7.0) extras (0.3.0) forwardable-extended (~> 2.5) fastimage (2.1.3) - ffi (1.13.1) + ffi (1.16.3) forwardable-extended (2.6.0) - html-proofer (3.16.0) + html-proofer (4.4.3) addressable (~> 2.3) mercenary (~> 0.3) - nokogumbo (~> 2.0) - parallel (~> 1.3) + nokogiri (~> 1.13) + parallel (~> 1.10) rainbow (~> 3.0) typhoeus (~> 1.3) yell (~> 2.0) + zeitwerk (~> 2.5) http_parser.rb (0.6.0) i18n (0.9.5) concurrent-ruby (~> 1.0) @@ -79,21 +80,21 @@ GEM rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) mini_magick (4.9.4) - mini_portile2 (2.4.0) + mini_portile2 (2.8.5) minitest (5.14.2) neat (3.0.0) sass (~> 3.4) thor (~> 0.19) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) - nokogumbo (2.0.2) - nokogiri (~> 1.8, >= 1.8.4) - parallel (1.19.2) + nokogiri (1.15.5) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + parallel (1.24.0) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (5.0.4) + racc (1.7.3) rack (2.2.8) - rainbow (3.0.0) + rainbow (3.1.1) rake (12.3.3) rb-fsevent (0.10.4) rb-inotify (0.10.1) @@ -113,11 +114,12 @@ GEM rack (> 1, < 3) thor (0.20.0) thread_safe (0.3.6) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) tzinfo (1.2.7) thread_safe (~> 0.1) yell (2.2.2) + zeitwerk (2.6.12) PLATFORMS ruby diff --git a/Makefile b/Makefile index 0c41d9ac8f..5bf3c3273a 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ _includes/svg/%.svg: assets/fontawesome/%.svg test: npm test - bundle exec htmlproofer _site --check-html --disable-external + bundle exec htmlproofer _site --disable-external=true bundle exec scss-lint _sass docker: diff --git a/_includes/footer.html b/_includes/footer.html index 5ddd9a2366..c025368f2a 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -19,7 +19,7 @@
Brought to you by and Oakland’s Public Ethics Commission
- + {% endif %} {% if candidate.website_url %} - {% endif %} {% if candidate.votersedge_url %} - diff --git a/assets/fontawesome/desktop-solid.svg b/assets/fontawesome/desktop-solid.svg index a6082657d9..0bf05a7ed9 100644 --- a/assets/fontawesome/desktop-solid.svg +++ b/assets/fontawesome/desktop-solid.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/fontawesome/external-link-square-alt-solid.svg b/assets/fontawesome/external-link-square-alt-solid.svg index e84b288df0..7ad1ac9818 100644 --- a/assets/fontawesome/external-link-square-alt-solid.svg +++ b/assets/fontawesome/external-link-square-alt-solid.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/fontawesome/icon-facebook-square.svg b/assets/fontawesome/icon-facebook-square.svg index b86c5a7817..397fc1dce0 100644 --- a/assets/fontawesome/icon-facebook-square.svg +++ b/assets/fontawesome/icon-facebook-square.svg @@ -1,5 +1,5 @@ - + icon-facebook-square diff --git a/assets/fontawesome/icon-instagram.svg b/assets/fontawesome/icon-instagram.svg index 745f00ba27..71378220a2 100644 --- a/assets/fontawesome/icon-instagram.svg +++ b/assets/fontawesome/icon-instagram.svg @@ -1,5 +1,5 @@ - + icon-instagram diff --git a/assets/fontawesome/map-marked-alt-solid.svg b/assets/fontawesome/map-marked-alt-solid.svg index f4b72dd2b2..3f2e8d8ffa 100644 --- a/assets/fontawesome/map-marked-alt-solid.svg +++ b/assets/fontawesome/map-marked-alt-solid.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/fontawesome/table-solid.svg b/assets/fontawesome/table-solid.svg index 2750cff1f9..6ddd993226 100644 --- a/assets/fontawesome/table-solid.svg +++ b/assets/fontawesome/table-solid.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/fontawesome/twitter-brands.svg b/assets/fontawesome/twitter-brands.svg index 30c7c9f377..f8e2a7720e 100644 --- a/assets/fontawesome/twitter-brands.svg +++ b/assets/fontawesome/twitter-brands.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/faq.md b/faq.md index 30b5249655..c6adec4799 100644 --- a/faq.md +++ b/faq.md @@ -23,21 +23,21 @@ title: Frequently asked questions Open Disclosure visualizes campaign finance data for Oakland candidates and ballot measures. The data comes from the City’s [campaign finance portal](https://public.netfile.com/pub2/Default.aspx?aid=COAK) on the City of Oakland Public Ethics Commission website. -The data collected by the Public Ethics Commission is required by the California [Political Reform Act (PRA)](http://www.fppc.ca.gov/the-law/the-political-reform-act.html), which requires that a candidate or campaign committee that plans to raise or spend $2,000 or more in a calendar year—including the candidate’s personal funds—must file statements and reports on the committee’s financial activity at specified periods. Candidates or campaign committees that do not raise or spend $2,000 or more in a calendar year are not required to report their financial activity electronically, which may result in some candidates with no available public financial data. +The data collected by the Public Ethics Commission is required by the California [Political Reform Act (PRA)](https://www.fppc.ca.gov/the-law/the-political-reform-act.html), which requires that a candidate or campaign committee that plans to raise or spend $2,000 or more in a calendar year—including the candidate’s personal funds—must file statements and reports on the committee’s financial activity at specified periods. Candidates or campaign committees that do not raise or spend $2,000 or more in a calendar year are not required to report their financial activity electronically, which may result in some candidates with no available public financial data. Campaign finance data is self-reported by all local candidate-controlled and ballot measure committees. Our volunteer team does not clean, scrub, or edit the data. If there are misspellings or duplicate entries, then that was how the committee reported the campaign finance data. The data is presented as reported. Where necessary we may aggregate data that we believe represents the same entity. ## Where does the data come from? -The campaign finance data that Open Disclosure presents is derived primarily from the filings of the California Fair Political Practices Commission (FPPC) [Form 460](http://www.fppc.ca.gov/content/dam/fppc/NS-Documents/TAD/Campaign%20Forms/460.pdf) (Recipient Committee Campaign Statement). Once a campaign committee has raised or spent $2,000 or more it must file Form 460, which contains an overview of the committee’s activity during a specified period. +The campaign finance data that Open Disclosure presents is derived primarily from the filings of the California Fair Political Practices Commission (FPPC) [Form 460](https://www.fppc.ca.gov/content/dam/fppc/NS-Documents/TAD/Campaign%20Forms/460.pdf) (Recipient Committee Campaign Statement). Once a campaign committee has raised or spent $2,000 or more it must file Form 460, which contains an overview of the committee’s activity during a specified period. -Oakland campaign committees file Form 460 with the Public Ethics Commission’s e-filing system, NetFile, which is available on the [Public Portal for Campaign Finance and Lobbyist Disclosure](http://nf4.netfile.com/pub2/Default.aspx?aid=COAK&AspxAutoDetectCookieSupport=1). The raw data is also synced daily to the City of Oakland's [OakData portal](https://data.oaklandnet.com/). +Oakland campaign committees file Form 460 with the Public Ethics Commission’s e-filing system, NetFile, which is available on the [Public Portal for Campaign Finance and Lobbyist Disclosure](https://nf4.netfile.com/pub2/Default.aspx?aid=COAK&AspxAutoDetectCookieSupport=1). The raw data is also synced daily to the City of Oakland's [OakData portal](https://data.oaklandca.gov/). ## How up-to-date is the data? The data is published to the site approximately every 24 hours. The data for -Open Disclosure is based on campaign finance [filing deadlines](http://www.fppc.ca.gov/learn/campaign-rules/where-and-when-to-file-campaign-statements/when-to-file-campaign-statements-state-local-filing-schedules.html) established by the +Open Disclosure is based on campaign finance [filing deadlines](https://www.fppc.ca.gov/learn/campaign-rules/where-and-when-to-file-campaign-statements/when-to-file-campaign-statements-state-local-filing-schedules.html) established by the State of California Fair Political Practices Commission (FPPC) for all state and local elections. @@ -79,7 +79,7 @@ The total contributions and the itemized lists are calculated using different da ## What is an Independent Expenditure? -Political spending that expressly advocates the election or defeat of a candidate or ballot measure but is not made in consultation, cooperation, or coordination with the candidate or campaign committee is termed an [independent expenditure](http://www.fppc.ca.gov/content/dam/fppc/NS-Documents/TAD/Campaign%20Manuals/Manual_4/Manual_4_Ch_11_IE_Reporting.pdf). Under California law, any entity that makes independent expenditures of $1,000 or more per year to California candidates or ballot measures is subject to California campaign finance disclosure reporting requirements. +Political spending that expressly advocates the election or defeat of a candidate or ballot measure but is not made in consultation, cooperation, or coordination with the candidate or campaign committee is termed an [independent expenditure](https://www.fppc.ca.gov/content/dam/fppc/NS-Documents/TAD/Campaign%20Manuals/Manual_4/Manual_4_Ch_11_IE_Reporting.pdf). Under California law, any entity that makes independent expenditures of $1,000 or more per year to California candidates or ballot measures is subject to California campaign finance disclosure reporting requirements. ## How are contributions calculated for committees that support or oppose multiple measures? @@ -87,7 +87,7 @@ Data reported by committees formed to support or oppose multiple ballot measures ## What other types of committees must report their campaign-related spending? -Committees that are not candidate-controlled or formed to support or oppose a particular candidate or ballot measure also raise funds and spend money in local elections. Under the Political Reform Act, committees that receive contributions or make expenditures to support or oppose multiple candidates and/or ballot measures must also file statements and reports on their activities just as candidate and ballot measure committees do. They must also report which candidate or ballot measure their expenditure is intended to support or oppose and whether the expenditure is a contribution to the campaign or an independent expenditure (see above). Independent expenditures are not included in the fundraising totals for candidates or ballot measures, but they are shown in a separate line item. For more information, see the [California Fair Political Practices Commission guide to Campaign Rules](http://www.fppc.ca.gov/learn/campaign-rules.html). +Committees that are not candidate-controlled or formed to support or oppose a particular candidate or ballot measure also raise funds and spend money in local elections. Under the Political Reform Act, committees that receive contributions or make expenditures to support or oppose multiple candidates and/or ballot measures must also file statements and reports on their activities just as candidate and ballot measure committees do. They must also report which candidate or ballot measure their expenditure is intended to support or oppose and whether the expenditure is a contribution to the campaign or an independent expenditure (see above). Independent expenditures are not included in the fundraising totals for candidates or ballot measures, but they are shown in a separate line item. For more information, see the [California Fair Political Practices Commission guide to Campaign Rules](https://www.fppc.ca.gov/learn/campaign-rules.html). ## How were ballot measure summaries prepared? @@ -120,7 +120,7 @@ Contact the [Public Ethics Commission](https://www.oaklandca.gov/boards-and-comm ## Expenditure Categories: What each category includes _From [Form 460 Schedule -E](http://www.fppc.ca.gov/content/dam/fppc/NS-Documents/TAD/Campaign%20Forms/460.pdf), +E](https://www.fppc.ca.gov/content/dam/fppc/NS-Documents/TAD/Campaign%20Forms/460.pdf), p24_ diff --git a/press.md b/press.md index 21819b2c09..1eebb207c2 100644 --- a/press.md +++ b/press.md @@ -4,12 +4,9 @@ title: Press ## 2018 -[Follow the money: Updated website makes Oakland election data accessible](https://oaklandnorth.net/2018/10/10/follow-the-money-updated-website-makes-oakland-election-data-accessible/) +[Follow the money: Updated website makes Oakland election data accessible](https://oaklandnorth.net/2018/10/10/follow-the-money-updated-website-makes-oakland-election-data-accessible/) *October 10, 2018 – Oakland North, Maria Sestito* -[Oakland Elections Fundraising News Thanks To Open Disclosure Oakland](http://oaklandnewsnow.com/index.php/2018/10/05/oakland-elections-fundraising-news-thanks-to-open-disclosure-oakland/) -*October 5, 2018 – Oakland News Now, Zennie Abraham* - [Oakland Public Ethics Commission and Local Volunteers Launch Campaign Finance App for November Election](https://www.oaklandca.gov/news/2018/oakland-public-ethics-commission-and-local-volunteers-launch-campaign-finance-app-for-november-election) *September 18, 2018 – City of Oakland* @@ -19,17 +16,14 @@ title: Press [Oakland’s Code for America summit emphasizes diversity and inclusiveness](https://www.eastbaytimes.com/2016/11/16/oaklands-code-for-america-summit-emphasizes-diversity-and-inclusiveness/) *November 16, 2016 – East Bay Times, Howard Dyckoff* -[OpenOakland and The Search for Sustainable Civic Technology](https://civichall.org/civicist/open-oakland-and-the-search-sustainable-civic-tech/) -*May 9, 2016 – Civicist/Civic Hall, Jessica McKenzie* - [Local Volunteers Build OpenDisclosure.io Website to Show Political Campaign Contributions](https://www.oaklandca.gov/news/2016/local-volunteers-build-opendisclosure-io-website-to-show-political-campaign-contributions) *October 18, 2016 – City of Oakland* ## 2014 -[Oakland App Sheds Light on Campaign Finance](http://www.govtech.com/data/Oakland-App-Sheds-Light-on-Campaign-Finance.html?utm_source=newsletter_editorial&utm_medium=saturday_edition&utm_campaign=GovTech_Today&elq=23c8f56ed8714e8cb6aa1fb314580d3f&elqCampaignId=10033) +[Oakland App Sheds Light on Campaign Finance](https://www.govtech.com/data/Oakland-App-Sheds-Light-on-Campaign-Finance.html?utm_source=newsletter_editorial&utm_medium=saturday_edition&utm_campaign=GovTech_Today&elq=23c8f56ed8714e8cb6aa1fb314580d3f&elqCampaignId=10033) *August 28, 2014 – Gov Tech, Jason Shueh* -[Volunteers hack technology to improve Oakland city government](http://www.kalw.org/post/volunteers-hack-technology-improve-oakland-city-government#stream/0) +[Volunteers hack technology to improve Oakland city government](https://www.kalw.org/post/volunteers-hack-technology-improve-oakland-city-government#stream/0) *March 18, 2014 – KALW Radio, Laura Flynn*